拓端tecdat|R语言用AR,MA,ARIMA 模型进行时间序列预测

原文链接:http://tecdat.cn/?p=23558 

原文出处:拓端数据部落公众号

本文讨论用ARIMA模型进行预测。考虑一些简单的平稳的AR(1)模拟时间序列

  1.  
     
  2.  
    > for(t in 2:n) X[t]=phi*X[t-1]+E[t]
  3.  
    > plot(X,type="l")

拓端tecdat|R语言用AR,MA,ARIMA 模型进行时间序列预测

如果我们拟合一个AR(1)模型。

  1.  
    arima(X,order=c(1,0,0),
  2.  
    + include.mean = FALSE)

拓端tecdat|R语言用AR,MA,ARIMA 模型进行时间序列预测

我们观察到预测值向0的指数衰减,以及增加的置信区间(其中方差增加,从白噪声的方差到平稳时间序列的方差)。普通线是有条件的预测(因为AR(1)是一个一阶马尔可夫过程),虚线是无条件的。让我们存储一些数值,把它们作为基准。

如果我们拟合一个MA(1)模型

  1.  
     
  2.  
    > P=predict(model,n.ahead=20)
  3.  
    > plot(P$pred)

拓端tecdat|R语言用AR,MA,ARIMA 模型进行时间序列预测

在两个滞后期之后,预测是无效的,而且(条件)方差保持不变。但如果我们考虑一个具有较长阶数的移动平均过程。

  1.  
     
  2.  
    > P=predict(model,n.ahead=20)
  3.  
    > plot(P$pred)
  4.  
    >

拓端tecdat|R语言用AR,MA,ARIMA 模型进行时间序列预测

我们得到一个可以与AR(1)过程相比较的输出。因为我们的AR(1)过程也可以被看作是一个具有无限阶数的MA(∞)。

但是,如果我们认为时间序列不是平稳的,那么我们就拟合一个arima模型

  1.  
    > model=arima(X,order=c(0,1,0),
  2.  
    + include.mean = FALSE)

拓端tecdat|R语言用AR,MA,ARIMA 模型进行时间序列预测

我们观察到:预测是平稳的,置信区间不断增加,实际上,方差向无穷大增加(以线性速度)。因此,在区分一个时间序列时应该非常小心,它将对预测产生巨大影响。


拓端tecdat|R语言用AR,MA,ARIMA 模型进行时间序列预测

最受欢迎的见解

1.在python中使用lstm和pytorch进行时间序列预测

2.python中利用长短期记忆模型lstm进行时间序列预测分析

3.使用r语言进行时间序列(arima,指数平滑)分析

4.r语言多元copula-garch-模型时间序列预测

5.r语言copulas和金融时间序列案例

6.使用r语言随机波动模型sv处理时间序列中的随机波动

7.r语言时间序列tar阈值自回归模型

8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类

9.python3用arima模型进行时间序列预测

拓端tecdat|R语言用AR,MA,ARIMA 模型进行时间序列预测

上一篇:C++返回一个变量类型的名称


下一篇:在R语言中,使用类似Python原生字符串的方式处理路径