การเลือกโมเดลที่เหมาะสม

การวิเคราะห์อนุกรมเวลาด้วย Python

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

การระบุอันดับของโมเดล AR

  • อันดับของโมเดล AR(p) มักไม่เป็นที่ทราบล่วงหน้า
  • เทคนิคสำหรับระบุอันดับมี 2 วิธี
    • Partial Autocorrelation Function
    • เกณฑ์สารสนเทศ
การวิเคราะห์อนุกรมเวลาด้วย Python

Partial Autocorrelation Function (PACF)

การวิเคราะห์อนุกรมเวลาด้วย Python

พล็อต PACF ใน Python

  • ใช้เหมือน ACF แต่เปลี่ยนเป็น plot_pacf แทน plt_acf
  • นำเข้าโมดูล
    from statsmodels.graphics.tsaplots import plot_pacf
    
  • พล็อต PACF
    plot_pacf(x, lags= 20, alpha=0.05)
    
การวิเคราะห์อนุกรมเวลาด้วย Python

เปรียบเทียบ PACF ของโมเดล AR แบบต่าง ๆ

  • AR(1)

  • AR(3)

  • AR(2)

  • White Noise

การวิเคราะห์อนุกรมเวลาด้วย Python

เกณฑ์สารสนเทศ

  • เกณฑ์สารสนเทศ: ปรับความพอดีของโมเดลตามจำนวนพารามิเตอร์
  • ตัววัดความพอดีที่นิยมใช้มี 2 แบบ
    • AIC (Akaike Information Criterion)
    • BIC (Bayesian Information Criterion)
การวิเคราะห์อนุกรมเวลาด้วย Python

เกณฑ์สารสนเทศ

  • ผลลัพธ์การประมาณค่า
การวิเคราะห์อนุกรมเวลาด้วย Python

ดึงเกณฑ์สารสนเทศจาก statsmodels

  • ก่อนหน้านี้ได้เรียนวิธีฟิตโมเดล AR แล้ว
    from statsmodels.tsa.arima_model import ARIMA
    mod = ARIMA(simulated_data, order=(1,0))
    result = mod.fit()
    
  • ดูผลลัพธ์แบบเต็ม
    result.summary()
    
  • หรือดูเฉพาะพารามิเตอร์
    result.params
    
  • ดึงค่า AIC และ BIC
    result.aic
    result.bic
    
การวิเคราะห์อนุกรมเวลาด้วย Python

เกณฑ์สารสนเทศ

  • ฟิตข้อมูลจำลอง AR(3) กับโมเดล AR(p) หลายค่า
  • เลือก p ที่ให้ค่า BIC ต่ำสุด
การวิเคราะห์อนุกรมเวลาด้วย Python

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

การวิเคราะห์อนุกรมเวลาด้วย Python

Preparing Video For Download...