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

ARIMA Models ใน Python

James Fulton

Climate informatics researcher

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

  • โมเดลสุดท้ายดีแค่ไหน?
ARIMA Models ใน Python

ค่าตกค้าง (Residuals)

ARIMA Models ใน Python

ค่าตกค้าง (Residuals)

# Fit model
model = ARIMA(df, order=(p,d,q))
results = model.fit()

# Assign residuals to variable residuals = results.resid
2013-01-23    1.013129
2013-01-24    0.114055
2013-01-25    0.430698
2013-01-26   -1.247046
2013-01-27   -0.499565
       ...         ...
ARIMA Models ใน Python

Mean absolute error

ค่าพยากรณ์ห่างจากค่าจริงแค่ไหน?

mae = np.mean(np.abs(residuals))
ARIMA Models ใน Python

กราฟวินิจฉัย (Plot diagnostics)

หากโมเดลพอดี ค่าตกค้างจะเป็น white Gaussian noise

# Create the 4 diagostics plots
results.plot_diagnostics()
plt.show()

ARIMA Models ใน Python

กราฟค่าตกค้าง

ARIMA Models ใน Python

กราฟค่าตกค้าง

ARIMA Models ใน Python

ฮิสโตแกรมและการประมาณความหนาแน่น

ARIMA Models ใน Python

Normal Q-Q

ARIMA Models ใน Python

Correlogram

ARIMA Models ใน Python

สถิติสรุป

print(results.summary())
...
===================================================================================
Ljung-Box (Q):                       32.10   Jarque-Bera (JB):                 0.02
Prob(Q):                              0.81   Prob(JB):                         0.99
Heteroskedasticity (H):               1.28   Skew:                            -0.02
Prob(H) (two-sided):                  0.21   Kurtosis:                         2.98
===================================================================================
  • Prob(Q) - p-value สำหรับสมมติฐานว่าค่าตกค้างไม่มีความสัมพันธ์กัน
  • Prob(JB) - p-value สำหรับสมมติฐานว่าค่าตกค้างเป็นการแจกแจงปกติ
ARIMA Models ใน Python

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

ARIMA Models ใน Python

Preparing Video For Download...