ARMA(模型)的p,q参数判定

AR(p)模型与MA(q)实际上是ARMA(p,q)模型的特例。它们都统称为ARMA模型,而ARMA(p,q)模型的统计性质也是AR(p)与MA(q)模型的统计性质的有机组合。

平稳系列建模

假如某个观察值序列通过序列预处理可以判定为平稳非白噪声序列,就可以利用ARMA模型对序列建模。
1.求出该观察值序列的样本自相关系数(ACF)与偏相关系数(PACF的值。
2.根据根样本自相关系数和偏自相关系数的性质,选择阶数适当的ARMA(p,q)模型进行拟合。
3.估计模型中未知参数的值
4.检验模型的有效性。如果拟合模型未通过检验,回到步骤(2),重新选择模型拟合。
5.模型优化。如果拟合模型通过检验,仍然回到步骤(2),充分考虑各种可能,建立多个拟合模型,从所有通过检验的拟合的模型中选择最优模型。
6.利用拟合模型,预测序列将来的走势。
ARMA(模型)的p,q参数判定_第1张图片

AR(P)

选择合适的模型拟合1950-2008年我国邮路及农村投递线路每年新增里程数序列:
ARMA(模型)的p,q参数判定_第2张图片
白噪声检验:

 for(i in 1:2) print(Box.test(x,type = "Ljung-Box",lag=6*i))

    Box-Ljung test

data:  x
X-squared = 37.754, df = 6, p-value = 1.255e-06


    Box-Ljung test

data:  x
X-squared = 44.62, df = 12, p-value = 1.197e-05

绘制自相关图和偏自相关图

acf(x)
pacf(x)

ARMA(模型)的p,q参数判定_第3张图片
ACF
ARMA(模型)的p,q参数判定_第4张图片
PACF
时序图显示,序列没有显著的非平稳特征,白噪声检验显示序列值之间蕴含着相关关系,为非白噪声序列。
自相关图显示,除了延迟1~3阶的自相关系数在2倍标准差范围之外,其它的阶数自相关系数在2倍标准差范围内波动,根据自相关系数的这个特点,可以判断该序列具有短期相关性,进一步确定序列平稳。在进一步考察自相关系数的衰减到零的过程,可以看到明显的正弦波动轨迹,这说明自相关系数衰减到零不是一个突然的过程,而是一个连续渐变过程, 这是自相关系数拖尾的典型特征,我们可以把拖尾特征形象描绘为“坐着滑梯落水”。
最后考察偏自相关系数衰减到零的过程,除了1~2阶偏自相关系数在2倍标准差范围之外,其他除数的偏自相关系数都在2倍标准差的范围内,这是一个偏自相关系数2阶截尾的典型特征,我们可以把这种截尾形象的描述为“2阶之后高台跳水溅起水花点点”。
根据自相关系数拖尾,偏自相关系数2阶截尾属性,我们可以初步确定拟合模型为AR(2)。

MA(q)

选择合适的ARMA模型拟合某个加油站连续57天的overshort:
ARMA(模型)的p,q参数判定_第5张图片
序列时序图
白噪声检测:

for(i in 1:2) print(Box.test(overshort,type = "Ljung-Box",lag=6*i))

    Box-Ljung test

data:  overshort
X-squared = 20.239, df = 6, p-value = 0.002511


    Box-Ljung test

data:  overshort
X-squared = 31.366, df = 12, p-value = 0.001732

绘制自相关图和偏自相关图

acf(overshort)
pacf(overshort)

ARMA(模型)的p,q参数判定_第6张图片
ACF
ARMA(模型)的p,q参数判定_第7张图片
PACF
自相关图显示除了延迟1阶的自相关系数在2倍标准差范围之外,其他阶数的自相关系数都在2倍标准差范围内波动。根据自相关系数这个特点可以判定该序列具有短期相关性,进一步确定序列平稳,同时,可以认为该序列自相关系数一阶截尾。
偏自相关系数显示出非截尾的性质,综合该序列自相关系数和偏自相关系数的性质,为拟合模型定阶为MA(1)。

ARMA(p,q)

选择合适的ARMA模型拟合1880-1985年全球气表平均温度改变值差分序列。
ARMA(模型)的p,q参数判定_第8张图片
全球气表平均温度改变值差分时序列
白噪声检测:

 for(i in 1:2) print(Box.test(dif_x,type = "Ljung-Box",lag=6*i))

    Box-Ljung test

data:  dif_x
X-squared = 17.436, df = 6, p-value = 0.007807


    Box-Ljung test

data:  dif_x
X-squared = 26.266, df = 12, p-value = 0.009841

绘制自相关图与偏自相关图:

acf(dif_x)
pacf(dif_x)

ARMA(模型)的p,q参数判定_第9张图片
ACF
ARMA(模型)的p,q参数判定_第10张图片
PACF
自相关系数与偏相关系数均显示出不截尾的性质,因此可以尝试使用ARMA(1,1)拟合该序列。

auto.arima自动给出估计值

为了尽量避免因个人经验不足而导致的模型识别不准确的问题,R提供了auto.arima函数。该函数基于信息量最小原则自动识别模型阶数,并给出了该模型的参数估计值。需要先加载zoo和forecast.

auto.arima(x,max.p = ,max.q= ,ic)

-x:需要定阶的序列名。
-max.p:自相关系数的最高阶数,不特殊指定的话,系统的默认值为5。
-max.q:移动平均系数最高阶数,不特殊指定的话,系统的默认值为5。
-ic:指定信息量准则。有“aicc”,“aic”,“bic”三个选型,系统默认AIC准则。

有时选择不同的信息量准则会导致模型的识别阶数不同,有时系数指定的模型阶数高于真实阶数。
对上面三个例子分别使用auto.arima函数。

AR(2)
auto.arima(x)
Series: x 
ARIMA(2,0,0) with non-zero mean 

Coefficients:
         ar1      ar2     mean
      0.7185  -0.5294  11.0226
s.e.  0.1083   0.1067   3.0906

sigma^2 estimated as 384.7:  log likelihood=-258.23
AIC=524.46   AICc=525.2   BIC=532.77
MA(1)
auto.arima(overshort)
Series: overshort 
ARIMA(0,0,1) with non-zero mean 

Coefficients:
          ma1     mean
      -0.8477  -4.7945
s.e.   0.1206   1.0252

sigma^2 estimated as 2093:  log likelihood=-298.42
AIC=602.84   AICc=603.29   BIC=608.97
ARMA(1,1)
auto.arima(dif_x)
Series: dif_x 
ARIMA(1,0,1) with non-zero mean 

Coefficients:
         ar1      ma1    mean
      0.3926  -0.8867  0.0053
s.e.  0.1180   0.0604  0.0024

sigma^2 estimated as 0.01586:  log likelihood=69.66
AIC=-131.32   AICc=-130.92   BIC=-120.71

你可能感兴趣的:(平稳时间序列)