我正在努力向自己解释将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
(forecast包)为数据选出的最佳ARIMA拟合模型,并且在ARIMA(1,0,1)模型中也出现了此情况。
(2) ARIMA(1,0,0)模型的截距值为12260.298。按照公式C = mean * (1 - sum(AR coeffs))
,截距应该为715.52
,这里可能漏掉了一些基础知识。
(3) 显然,这是一个具有非平稳均值的时间序列,为什么auto.arima
还是选择了AR(2)模型作为最佳模型?这可能有一个直观的解释吗?
谢谢。