在指數預測模型中,經過 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