zoukankan      html  css  js  c++  java
  • 时间序列的预测的基本套路

    第一步:

    获取到序列,切割序列。这里测试用途可以通过arima.sim来进行模拟,下面的就是模拟一个36个数据,模式为MA(1),系数为0.6的时间序列;然后将序列进行分割,前半部分是序列图,后半部分是待预测验证部分。

    set.seed(13256)

    serias = arima.sim(n=36, list(ma=-0.6)) + 100

    acture=window(serias, start=33)

    serias=window(serias, end=32)

    第二步:

    创建模型,指定数据的模型(这里采用的MA(1)),

    model=arima(serias, order=c(0,0,1))

    第三步:

    比较。

    1. 图比较:通过plot进行绘图,注意通过n.head来指定预测的周期数;另外要考到建模采用的serias,就是序列的前半部分;然后通过lines画出本来的图线,查看预测和真实的差距。

    2. 数据比较:通过cbind进行纯数据比较。

    result=plot(model, n.ahead = 4, type="o", pch=19)

    lines(acture, col="red")

    abline(h=coef(model)[names(coef(model)=="intercept")])

    forecast=result$pred

    cbind(acture, forecast)

  • 相关阅读:
    python 随机字符串
    Ajax
    Django (Form)
    Django (项目)
    Django (二)
    Django (一)
    Django 学生管理系统
    地理坐标系 与 投影坐标系
    shapefile
    图表绘制工具--Matplotlib 3
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/10264024.html
Copyright © 2011-2022 走看看