ARIMA 时间序列入门

使用 R 预测产品需求

Aric LaBarr, Ph.D.

Senior Data Scientist, Elder Research

其他 DataCamp 时间序列内容

使用 R 预测产品需求

什么是 ARIMA 模型?

  • 回归模型

使用 R 预测产品需求

差分——平稳性

  • 数据是否随时间相关?
  • 这种相关持续多久?

  • 平稳性

    • 单次观测的影响随时间递减
    • 长期最佳预测是序列均值
    • 常用差分实现
使用 R 预测产品需求

差分

通常用于去除趋势…

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

…或季节性

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

使用 R 预测产品需求

自回归(AR)部分

  • 自回归模型
    • 仅依赖过去值,称为滞后
    • $ 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 预测产品需求

Vamos praticar!

使用 R 预测产品需求

Preparing Video For Download...