ARIMA 模型

R 的時間序列預測

Rob J. Hyndman

Professor of Statistics at Monash University

ARIMA 模型

自迴歸(AR)模型:

  • 以落後觀測作為自變數的多元迴歸
  • $y_t = c + \phi_1 y_{t-1} + \phi_2 y_{t-2} + ... + \phi_p y_{t-p} + e_t$

 

移動平均(MA)模型:

  • 以落後誤差作為自變數的多元迴歸
  • $y_t = c + \theta_1 e_{t-1} + \theta_2 e_{t-2} + ... + \theta_q e_{t-q}$
R 的時間序列預測

ARIMA 模型

自迴歸移動平均(ARMA)模型:

  • 以落後觀測與誤差作為自變數的多元迴歸
  • $y_t = c + \phi_1 y_{t-1} + ... + \phi_p y_{t-p} + \theta_1 e_{t-1} + ... + \theta_q e_{t-q} + e_t$

 

ARIMA(p, d, q) 模型:

  • 將 ARMA 與 d 次差分結合
R 的時間序列預測

美國淨發電量

autoplot(usnetelec) +
  xlab("Year") +
  ylab("billion kwh") +
  ggtitle("US net electricity generation")

ch4_vid2_electric.png

R 的時間序列預測

美國淨發電量

fit <- auto.arima(usnetelec)
summary(fit)
Series: usnetelec
ARIMA(2,1,2) with drift
Coefficients:
         ar1     ar2    ma1    ma2   drift
      -1.303  -0.433  1.528  0.834  66.159
s.e.   0.212   0.208  0.142  0.119   7.559
sigma^2 estimated as 2262:  log likelihood=-283.3
AIC=578.7   AICc=580.5   BIC=590.6
Training set error measures:
                 ME  RMSE   MAE     MPE  MAPE   MASE    ACF1
Training set 0.0464 44.89 32.33 -0.6177 2.101 0.4581 0.02249
R 的時間序列預測

美國淨發電量

fit %>% forecast() %>% autoplot()

ch4_vid2_forecast.png

R 的時間序列預測

auto.arima() 如何運作?

Hyndman–Khandakar 演算法:

  • 以單根檢定選擇差分次數 d
  • 透過最小化 $AIC_c$ 選擇 p 與 q
  • 極大似然估計估參
  • 使用逐步搜尋遍歷模型空間以節省時間
R 的時間序列預測

一起來練習吧!

R 的時間序列預測

Preparing Video For Download...