ARIMA Time Series 101

การพยากรณ์ความต้องการสินค้าใน R

Aric LaBarr, Ph.D.

Senior Data Scientist, Elder Research

เนื้อหา Time Series อื่นๆ บน DataCamp

การพยากรณ์ความต้องการสินค้าใน R

ARIMA Model คืออะไร?

  • โมเดล Auto__R__egressive

  • Integrated

  • Moving Average

การพยากรณ์ความต้องการสินค้าใน R

Integrated - Stationarity

  • ข้อมูลมีความสัมพันธ์ข้ามช่วงเวลาหรือไม่?
  • ความสัมพันธ์นั้นยาวนานแค่ไหน?

  • Stationarity

    • ผลของการสังเกตการณ์ค่อยๆ จางลงตามเวลา
    • การพยากรณ์ระยะยาวที่ดีที่สุดคือค่าเฉลี่ยของอนุกรม
    • มักทำได้โดยการ differencing
การพยากรณ์ความต้องการสินค้าใน R

Differencing

ใช้กำจัด trend โดยทั่วไป...

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

... หรือ seasonality

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

การพยากรณ์ความต้องการสินค้าใน R

ส่วน Autoregressive (AR)

  • โมเดล Autoregressive
    • ขึ้นอยู่กับค่าก่อนหน้าเท่านั้น เรียกว่า lag
    • $ Y_t = \omega_0 + \alpha_1 Y_{t-1} + \alpha_2 Y_{t-2} + ... + \varepsilon_t $
    • โมเดลความจำยาว — ผลค่อยๆ จางลงช้าๆ
การพยากรณ์ความต้องการสินค้าใน R

ส่วน Moving Average (MA)

  • โมเดล Moving Average
    • ขึ้นอยู่กับ "shocks" หรือค่าความผิดพลาดก่อนหน้าเท่านั้น
    • $ Y_t = \omega_0 + \varepsilon_t + \beta_1 \varepsilon_{t-1} + \beta_2 \varepsilon_{t-2} + ... $
    • โมเดลความจำสั้น — ผลหายไปอย่างรวดเร็ว
การพยากรณ์ความต้องการสินค้าใน R

Training vs. Validation

M_t <- bev_xts[,"M.hi"] + bev_xts[,"M.lo"]
การพยากรณ์ความต้องการสินค้าใน R

Training vs. Validation

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...