วิธีการ Box-Jenkins

ARIMA Models ใน Python

James Fulton

Climate informatics researcher

วิธีการ Box-Jenkins

จากข้อมูลดิบ $\rightarrow$ โมเดลสำหรับใช้งานจริง

  • การระบุโมเดล
  • การประมาณค่า
  • การวินิจฉัยโมเดล
ARIMA Models ใน Python

การระบุโมเดล

  • อนุกรมเวลา stationary หรือไม่?
  • ต้อง differencing อย่างไรจึงจะ stationary?
  • ต้อง transform อย่างไรจึงจะ stationary?
  • ค่า p และ q ใดมีแนวโน้มดีที่สุด?

ARIMA Models ใน Python

เครื่องมือสำหรับการระบุโมเดล

  • พล็อตอนุกรมเวลา
    • df.plot()
  • ใช้ augmented Dicky-Fuller test
    • adfuller()
  • ใช้การ transform และ/หรือ differencing
    • df.diff(), np.log(), np.sqrt()
  • พล็อต ACF/PACF
    • plot_acf(), plot_pacf()

ARIMA Models ใน Python

การประมาณค่า

  • ใช้ข้อมูลในการฝึก coefficient ของโมเดล
  • ดำเนินการผ่าน model.fit()
  • เลือกโมเดลโดยใช้ AIC และ BIC
    • results.aic, results.bic

ARIMA Models ใน Python

การวินิจฉัยโมเดล

  • residual ไม่มีความสัมพันธ์กันหรือไม่
  • residual มีการกระจายแบบปกติหรือไม่
    • results.plot_diagnostics()
    • results.summary()

ARIMA Models ใน Python

การตัดสินใจ

ARIMA Models ใน Python

ทำซ้ำ

  • วนกระบวนการอีกครั้งด้วยข้อมูลที่มากขึ้น
  • เพื่อค้นหาโมเดลที่ดีกว่า

ARIMA Models ใน Python

การนำไปใช้งานจริง

  • พร้อมสำหรับการพยากรณ์
    • results.get_forecast()

ARIMA Models ใน Python

Box-Jenkins

ARIMA Models ใน Python

มาฝึกกันเถอะ!

ARIMA Models ใน Python

Preparing Video For Download...