SARIMA 估计

机器算法验证 r 时间序列 有马 自相关 偏相关
2022-03-26 02:27:05

我正在尝试手动估计 SARIMA (p,d,q)x(P,D,Q)[s] 的非季节性分量。我认为估计的方式与 ARIMA 中的方式相同,但输出显示出一些不同的东西。

我在 acf 相关图中有一个自相关,并且在 pacf 中的滞后 1 处有一个显着性。这意味着我有一个自相关一阶。

我现在很困惑,为什么auto.arima给我结果 (0,1,1)x(0,0,1)[12] 而不是 (1,1,0)x(0,0,1)[12]

这是我的代码示例:

timeseries <- ts(daten, start=c(1955,1), freq=12)

> timeseries
      Jan  Feb  Mar  Apr  May  Jun  Jul  Aug  Sep  Oct  Nov  Dec
1955  1.8  1.7  1.5  1.2  1.5  1.5  1.6  1.8  1.5  1.5  1.6  1.3
1956  0.7  0.6  0.4  0.9  0.9  0.8  0.8  0.6  0.6  0.4  0.4  0.2
1957  0.2  0.1  0.6  0.8  0.3  0.4  0.5  0.7  0.8  0.9  1.0  1.3
1958  1.7  1.7  1.4  1.0  0.9  1.3  1.3  1.0  1.5  1.4  1.4  2.2
1959  1.3  1.7  1.7  2.2  2.8  2.5  2.2  2.3  1.8  1.6  1.3  1.4
1960  2.2  1.8  1.9  1.6  1.1  0.8  1.1  1.1  1.1  1.4  1.2  1.2
1961  0.9  1.2  1.3  0.9  0.7  0.8  0.8  1.2  1.0  1.0  1.4  1.0
1962  1.1  0.8  1.1  1.7  2.1  2.0  2.1  2.1  2.0  2.3  2.0  2.3
1963  1.6  1.9  1.6  1.4  1.6  1.8  1.8  1.9  2.5  2.3  2.2  2.1
1964  2.1  2.1  1.9  2.3  2.1  2.0  2.1  1.8  1.0  1.1  1.5  1.4
1965  1.8  1.9  2.0  2.0  2.0  2.0  2.0  2.0  2.7  2.7  3.3  3.1
1966  2.9  3.0  3.3  2.6  3.1  3.4  3.5  3.3  3.0  2.5  1.4  1.1
1967  0.9  1.0  0.4  0.8  0.0  0.0 -0.7 -0.1 -0.5 -0.1  0.3  0.8
1968  0.8  0.5  1.2  1.0  1.2  0.8  1.2  1.0  1.3  1.3  1.6  1.9
1969  2.0  2.2  2.3  2.7  2.4  2.4  2.6  2.5  2.9  2.9  2.8  2.3
1970  2.3  2.5  2.3  2.2  2.2  2.0  1.9  2.2  2.1  2.1  1.9  2.0
1971  1.9  1.8  1.8  1.1  1.6  1.9  1.9   NA 

diffts <- diff(timeseries,12)
tsdisplay(diffts, lag.max=36)

在此处输入图像描述

但是auto.arima给了我以下输出:

auto.arima(timeseries)

Series: timeseries 
ARIMA(0,1,1)(0,0,1)[12]                    

Coefficients:
          ma1     sma1
      -0.1280  -0.7260
s.e.   0.0684   0.0584

sigma^2 estimated as 0.07113:  log likelihood=-23.77
AIC=53.54   AICc=53.66   BIC=63.42
2个回答

您对季节性差异系列的 acf 强烈建议需要定期差异。接下来是双重差异系列的 acf(您的系列经常不同)在此处输入图像描述这个 acf 表明一个自回归的季节性因素,因为滞后 12 和 24 的部分 acf 显然很重要,尽管由于季节性系数将在 -.4 和 +.4 之间,所以如果你称它为 lag12 的季节性 ma 并不重要。当尝试包含 ma(1) 的模型时,ma(1) 的统计显着性被拒绝,因此不包括在内。一个好的最终模型应该包括一些异常数据的指标。在此处输入图像描述, 所以总而言之,您的首选模型是您的术语 (0,1,0)(1,1,0) 或 (0,1,0)(0,1,1)。

为了从 auto.arima() 命令获得正确结果,请尝试使用它,如下所示: auto.arima(timeseries,stepwise = F, approximation = FALSE)

希望能帮助到你。