ARMA顾名思义——AR+MA咯!!它应该是我们时间序列里用的最多最广的一个模型了。早在上世纪,博克斯(Box)和詹金斯(Jenkins)俩人就提出了这个模型,所以它也有个别称(B-J方法),到了上世纪80年代,这个方法已经得到了快速发展。
近年,楼主也不止一次听说ARMA对当今数据的适用性的声讨,不管观点如何,作为一个经典时间序列模型,还是有必要让我们来好好学习研究一下的。(楼主只负责普及,研究这种高大上的,楼主是望尘莫及了……)
先来简单阐述一下模型的思想(模型也是有思想的好么!):
某些时间序列是依赖于时间的一族时间变量,构成该时序的的单个序列值虽然具有不确定性,但整个序列的变化确有一定的规律性,可以用相应的数学模型近似描述。通过对该数学模型的分析和研究,能够更本质地认识时间序列的结构和特征,达到最小方差意义下的的最优预测。
- 看到上段最后两个字“预测”的时候,我不禁一激灵!是的,预测这东西最吸引人,但没几个能正儿八经的预测准确的。(我会告诉我在吐槽天气预报么?)从方法学角度看,时间序列分析主要基于统计学,而不是经济学;时间序列模型通常适用于做短期预测,即统计序列过去的变化模式尚未发生根本变化的期间!
接下来咱们好好定义一下模型:
ARMA模型表达式:
ARMA(p,q)模型的统计性质:
如何判断判断ARMA(p,q)的阶:
- 通过试验确定ARMA模型的阶数(p,q):试取一组(p,q)进行拟合估计(一般取(偏)自相关数明显非零的延时期数k做p、q),计算出残差序列,检验残差是否为白噪声,若非白噪声仍有自相关性,则换一组(p,q)继续试验。
- 另一种确定ARMA模型的阶数(p,q)的方法是:若序列非AR(p)、MA(q)情况,则用AR(1)拟合序列{yt },再考察其残差序列的样本自相关函数是否截尾,若q1步截尾,则模型为ARMA(1,q1),否则,再用AR(2)拟合序列{yt},考察其残差序列的样本自相关函数是否截尾,若q2步截尾,则模型为ARMA(2,q2);否则,再继续增大p,重复上述的做法,直至残差序列的样本自相关函数截尾为止。
TIPS:因为由于样本的随机性,样本的相关系数不会呈现出理论截尾的完美情况,本应截尾的自相关系数或偏自相关系数仍会呈现出小值振荡的情况;由于平稳时间序列通常都具有短期相关性,随着延迟阶数K->∞ ,自相关与偏自相关都会衰减至零值附近作小值波动。
经验方法:如果样本(偏)自相关系数在最初的d阶明显大于两倍标准差范围,而后几乎95%的自相关系数都落在2 倍标准差的范围以内,而且通常由非零自相关系数衰减为小值波动的过程非常突然。这时,通常视为(偏)自相关系数截尾。截尾阶数为d。
说了这么多定义,性质,那么问题来了这些都知道了我们就能建模么?
呃……这个真不好回答,建模神马的总是理想很丰满,现实很骨感!我们来看看一般建模会有哪些步骤!
如何利用EVIEWS估计ARMA模型——
在EVIEWS软件中估计ARMA模型使用与OLS方法相同的步骤:
- Quick → Estimate equation
- 在窗口中输入因变量,自变量为AR(p)和MA(q)。
以ARMA(1,2)为例:
GDP c AR(1) MA(1) MA(2)
参考AC或PAC确定滞后期
根据回归结果选择适合的估计结果。
★point:
- ARMA模型估计对参数t检验其显著性水平要求并不严格,更多的是考虑模型的整体拟合效果。
- 调整可决系数、AIC和SC准则都是模型选择的重要标准。