ARIMA 時間序列 101

用 R 預測產品需求

Aric LaBarr, Ph.D.

Senior Data Scientist, Elder Research

DataCamp 其他時間序列內容

用 R 預測產品需求

什麼是 ARIMA 模型?

  • Auto Regressive Models

  • Integrated

  • Moving Average

用 R 預測產品需求

Integrated-定態性

  • 你的資料是否跨時間相依?
  • 這種相依能維持多久?

  • 定態性(Stationarity)

    • 隨時間推移,觀測影響會消散
    • 長期最佳預測是此序列的平均值
    • 常以差分達成
用 R 預測產品需求

差分(Differencing)

通常用來去除趨勢…

$$ Y_{t} - Y_{t-1} $$

…或季節性

$$ Y_{t} - Y_{t-12} $$

用 R 預測產品需求

自迴歸(AR)部分

  • 自迴歸模型
    • 僅依賴過去值,稱為「lags
    • $ Y_t = \omega_0 + \alpha_1 Y_{t-1} + \alpha_2 Y_{t-2} + ... + \varepsilon_t $
    • 長記憶模型:影響緩慢消散
用 R 預測產品需求

移動平均(MA)部分

  • 移動平均模型
    • 僅依賴先前的「衝擊」或誤差
    • $ Y_t = \omega_0 + \varepsilon_t + \beta_1 \varepsilon_{t-1} + \beta_2 \varepsilon_{t-2} + ... $
    • 短記憶模型:影響很快完全消失
用 R 預測產品需求

訓練 vs. 驗證

M_t <- bev_xts[,"M.hi"] + bev_xts[,"M.lo"]
用 R 預測產品需求

訓練 vs. 驗證

M_t_train <- M_t[index(M_t) < "2017-01-01"]
M_t_valid <- M_t[index(M_t) >= "2017-01-01"]
用 R 預測產品需求

如何建立 ARIMA 模型?

auto.arima(M_t_train)
Series: M_t_train 
ARIMA(4,0,1) with non-zero mean 

Coefficients:
         ar1      ar2     ar3     ar4      ma1       mean
      1.3158  -0.5841  0.1546  0.0290  -0.6285  2037.5977
s.e.  0.3199   0.2562  0.1534  0.1165   0.3089    87.5028

sigma^2 estimated as 67471:  log likelihood=-1072.02
AIC=2158.05   AICc=2158.81   BIC=2179.31
用 R 預測產品需求

一起來練習吧!

用 R 預測產品需求

Preparing Video For Download...