我试图向自己解释将 ARIMA 模型应用于时间序列数据集的预测结果。数据来自M1-Competition,系列为MNB65。我正在尝试将数据拟合到 ARIMA(1,0,0) 模型并获得预测。我正在使用 R。以下是一些输出片段:
> arima(x, order = c(1,0,0))
Series: x
ARIMA(1,0,0) with non-zero mean
Call: arima(x = x, order = c(1, 0, 0))
Coefficients:
ar1 intercept
0.9421 12260.298
s.e. 0.0474 202.717
> predict(arima(x, order = c(1,0,0)), n.ahead=12)
$pred
Time Series:
Start = 53
End = 64
Frequency = 1
[1] 11757.39 11786.50 11813.92 11839.75 11864.09 11887.02 11908.62 11928.97 11948.15 11966.21 11983.23 11999.27
我有几个问题:
(1) 我如何解释虽然数据集显示出明显的下降趋势,但该模型的预测呈上升趋势?这也发生在 ARIMA(2,0,0) 上,这是最适合使用auto.arima
(预测包)的数据和 ARIMA(1,0,1) 模型的 ARIMA。
(2) ARIMA(1,0,0) 模型的截距值为 12260.298。截距不应该满足等式:C = mean * (1 - sum(AR coeffs))
,在这种情况下,值应该是715.52
。我必须在这里遗漏一些基本的东西。
(3) 这显然是一个具有非平稳均值的序列。为什么 AR(2) 模型仍然被 选为最佳模型auto.arima
?有没有直观的解释?
谢谢。