我为每日数据创建了一个如下所示的模型:
myts <- ts(data[2], frequency = 7)
fit <- auto.arima(myts)
输出如下所示:
Series: myts
ARIMA(2,1,1)(2,0,0)[7]
Coefficients:
ar1 ar2 ma1 sar1 sar2
0.2874 -0.0422 -0.9349 0.0015 0.1397
s.e. 0.0586 0.0598 0.0293 0.0546 0.0812
sigma^2 estimated as 39.71: log likelihood=-1188.2
AIC=2388.4 AICc=2388.63 BIC=2411.8
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set -0.1423045 6.250017 3.605002 -2.910684 11.96048 0.7200852 -0.000295024
如何获取仅训练集误差度量的数据帧。
最后,假设我有 5 个不同的模型,我希望最终输出看起来像这个数据帧:
Model Type RMSE
ARIMA(2,1,1)(2,0,0)[7] 6.25
Regression with ARIMA(0,0,1) 6.054298
ETS(M,N,M) 6.647029
Regression with ARIMA(1,0,0) 5.993514
Regression with ARIMA(1,1,1) 6.135232
尝试使用accuracy
函数。然后从 RMSE 中提取值以构建 data.frame。如果没有一个工作的例子,很难给出更多的答案。
> accuracy(fit)
ME RMSE MAE MPE MAPE MASE ACF1
Training set 0.3035616 3.113754 2.405275 0.2805566 1.917463 0.5315228 -0.01715517
> accuracy(fit)[2]
[1] 3.113754