使用一些系数拟合ARIMA在R中强制为零

时间:2013-12-05 04:27:50

标签: r time-series

考虑一个ARIMA(2,0,2)。如果我的标准化残差的ACF表明MA(5),那么我推定的模型将如下所示:

P <- arima(x, order=c(2,0,2), include.mean=TRUE)

我的一般模型看起来像这样:

G <- arima(x,c(2,0,5), fixed=c(NA,NA,NA,NA,0,0,0,NA))

以下是我的看法:

我有2个AR,其系数不同于0,然后是2个MA,其系数与0不同,所以我在开始时有4个NA。一般模型有2 + 5 + 1 = 8个参数来估算(2对于AR,5表示MA,1表示常数)。无论AR或MA的任何位置没有不等于零的系数,我都用零填充它。这就是为什么第5,第6和第7位置充满了zereos。

这是真的吗?如果没有,我该怎么做?

1 个答案:

答案 0 :(得分:0)

您的一般模型的代码是为MA(5)添加术语,但是您使用fixed = c(NA,NA,NA,NA,0,0,0,NA)强制所有这些术语为零,因此这两个模型基本相同。

> set.seed(1)
> x  = rnorm(100)
> arima(x, order = c(2,0,2))

Call:
arima(x = x, order = c(2, 0, 2))

Coefficients:
         ar1      ar2      ma1     ma2  intercept
      1.2546  -0.3933  -1.3614  0.3614     0.1172
s.e.  0.5075   0.4106   0.5237  0.5231     0.0123

sigma^2 estimated as 0.7115:  log likelihood = -126.24,  aic = 264.47
> arima(x, order = c(2,0,5), fixed = c(NA,NA,NA,NA,0,0,0,NA))

Call:
arima(x = x, order = c(2, 0, 5), fixed = c(NA, NA, NA, NA, 0, 0, 0, NA))

Coefficients:
         ar1      ar2      ma1     ma2  ma3  ma4  ma5  intercept
      1.2546  -0.3933  -1.3614  0.3614    0    0    0     0.1172
s.e.  0.5075   0.4106   0.5237  0.5231    0    0    0     0.0123

sigma^2 estimated as 0.7115:  log likelihood = -126.24,  aic = 264.47

如果你想将ARIMA(2,0,2)与ARIMA(2,0,5)进行实际比较,那么你的一般模型应该是:

> arima(x, c(2,0,5))

Call:
arima(x = x, order = c(2, 0, 5))

Coefficients:
          ar1     ar2     ma1      ma2      ma3      ma4     ma5  intercept
      -0.1300  0.6333  0.0183  -0.7853  -0.1296  -0.1167  0.0132     0.1174
s.e.   0.2908  0.1944  0.3009   0.2166   0.1413   0.1511  0.1675     0.0124

sigma^2 estimated as 0.7067:  log likelihood = -125.9,  aic = 269.79