时间序列模型之Arima Model

Arima model应该是时间序列数据处理中最有名的方法之一了把,之前花了几周看了《Time Series Analysis with Application in R》的前12章,基本上是把基础的Arima模型都学完了,今天就按照R in Action中的代码依样画葫芦实际操作了一遍。

Arima Model思路

先写一下看完此书的一些感想把,具体的理论公式今天就先不写了,之后来补充把!
首先是MA model,也就是Yt可以完全由{ e t e_t }序列线性回归得到,{ e t e_t }是一个white noise。
然后是AR Model,也就是{ Y t Y_t }序列的自回归模型,AR Model可以看成是一个无穷阶的MA Model。
然后将这两个合起来也就是ARMA(p,q) Model了。
由于前面的推导都要求序列是平稳的(否则会出现参数估计不准的问题),但是实际数据往往是不平稳的,因此就需要差分,一阶差分可以消去线性趋势,二阶差分可以消去二次项趋势,三阶差分可以消去三次项趋势。当然还有log等等很多其他的平稳数据的方法了。
这就引出了Arima(p,d,q) Model了,也就是AR§,d阶差分平稳数据,MA(q)。
但是这只是普通的Arima Model模型,还有复杂带有季节性趋势的数据,这时就需要Arima(p,d,q)*(P,D,Q) Model了,也就是乘积季节Arima模型,这也就是上一篇博文里说的乘积模型(时间序列处理之Holt-Winters Model),当然可以想到也有相加的Arima Model,只需要季节项中的P,Q均为0也就是相加模型了。所以说可以认为乘积Arima Model是更一般的Model。
季节Arima Model的公式如下所示:
Φ ( B S ) = 1 Φ 1 B S Φ 2 B 2 S Φ P B P S Φ( B^S)= 1 - Φ_1B^S - Φ_2B^{2S} - … - Φ_PB^{PS} Θ ( B S ) = 1 Θ 1 B S Θ 2 B 2 S Θ Q B Q S Θ( B_S) = 1 - Θ_1B^S- Θ_2B^{2S} - … - Θ_QB^{QS}
在这里插入图片描述
在这里插入图片描述
——————————————————————————————————
对于Arima模型残差的理解:首先,有一点是毫无疑问的,也就是Arima模型得到的残差必须是白噪声,因为Arima Model对数据预测相对于直接用趋势来预测的优势就在于运用了数据中的自相关关系,因此只有最后残差是白噪声,也就是说完全提取完了自相关关系并用于预测,才能说此时的Arima Model是最好的Arima Model,此时已经将数据的信息榨干了。但是我在几本书上看到一般会对拟合模型的 残差 进行 正态性检验,我们都知道白噪声不一定是满足正态分布的,那为什么会进行正态性检验呢?难道只是说一般而言白噪声可以认为就是正态分布了?这一点我还存有些疑问,欢迎大佬指教。当然还有很多教材说是进行ACF检验 or box test,这是显然没有问题的,因为这些检验都是检验自相关性,没有自相关性了说明Arima Model确实将新息提取完了。

实战

R in action上的实战Arima代码,可以详见下面的链接。Arima Model

time series cross validation

发布了41 篇原创文章 · 获赞 40 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_39805362/article/details/102981672