在指数预测模型中,经过 forecast() 包中的 ets() 函数实现最优化指数模型的自动选取。函数
相似地,这一程序包中 auto.arima() 函数也能够实现最优ARIMA模型的自动选取优化
ARIMA自动预测spa
#使用sunspots序列 > library(forecast) > fit <- auto.arima(sunspots) > fit Series: sunspots ARIMA(2,1,2) Coefficients: ar1 ar2 ma1 ma2 1.3467 -0.3963 -1.7710 0.8103 s.e. 0.0303 0.0287 0.0205 0.0194 sigma^2 estimated as 243.8: log likelihood=-11745.5 AIC=23500.99 AICc=23501.01 BIC=23530.71 > forecast(fit, 3) Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 Jan 1984 40.43784 20.42717 60.44850 9.834167 71.04150 Feb 1984 41.35311 18.26341 64.44281 6.040458 76.66576 Mar 1984 39.79670 15.23663 64.35677 2.235319 77.35808 > accuracy(fit) ME RMSE MAE MPE MAPE MASE ACF1 Training set -0.02672716 15.60055 11.02575 NaN Inf 0.4775401 -0.01055012
函数选定ARIMA模型的参数为p=2,d=1和q=2,与其余模型相比,这中状况下AIC值最小,因为序列中存在值为零的观测,MPE和MAPE两个准确性度量都失效了(这也是两个统计量的一个缺陷)code