我使用预测包中的ets()和auto.arima()函数来预测R中的未来值.应该使用哪个标准来选择这两者之间的最佳模型?
以下是ets(data.ets)和auto.arima(data.ar)的准确度输出.
> accuracy(data.ets)
ME RMSE MAE MPE MAPE MASE
0.6995941 4.1325246 3.2634246 0.5402465 2.7777897 0.5573740
> accuracy(data.ar)
ME RMSE MAE MPE MAPE MASE
-0.8215465 4.3640818 3.1070931 -0.7404200 2.5783128 0.5306735
Run Code Online (Sandbox Code Playgroud)
每个型号的AIC如下
> ETSfit$aic
[1] 613.8103
> ARIMAfit$aic
[1] 422.5597
Run Code Online (Sandbox Code Playgroud)
以下是ets和auto.arima的拟合模型
> ETSfit
ETS(A,N,A)
Call:
ets(y = data.ts)
Smoothing parameters:
alpha = 0.5449
gamma = 1e-04
Initial states:
l = 95.8994
s=6.3817 -3.1792 6.8525 3.218 -3.4445 -1.2408
-4.5852 0.4434 1.7133 0.8123 -1.28 -5.6914
sigma: 4.1325
AIC AICc BIC
613.8103 620.1740 647.3326
> ARIMAfit
Series: data.ts
ARIMA(1,1,1)(0,1,1)[12]
Coefficients:
ar1 ma1 sma1
0.3808 -0.7757 -0.7276
s.e. 0.1679 0.1104 0.2675
sigma^2 estimated as 22.68: log likelihood=-207.28
AIC=422.56 AICc=423.19 BIC=431.44
Run Code Online (Sandbox Code Playgroud)
请帮助.
Rob*_*man 12
您正在显示难以比较的样本内准确度度量,而不知道每个模型中有多少参数.此外,这些模型类之间的AIC值不可比.
最简单的方法是使用不用于模型选择或估计的测试集,然后比较测试集上的预测的准确性.
更复杂的版本是使用时间序列交叉验证,如http://otexts.com/fpp/2/5/所述.
| 归档时间: |
|
| 查看次数: |
5703 次 |
| 最近记录: |