การพยากรณ์

ARIMA Models ใน Python

James Fulton

Climate informatics researcher

การพยากรณ์ค่าถัดไป

กำหนดโมเดล AR(1)

$y_t = a_1 y_{t-1} + \epsilon_t$

พยากรณ์ค่าถัดไป

$y_t = 0.6\; \text{x} \; 10 + \epsilon_t$

$y_t = 6.0 + \epsilon_t$

ความไม่แน่นอนของการพยากรณ์

$ 5.0 < y_t < 7.0$

ARIMA Models ใน Python

การพยากรณ์แบบหนึ่งก้าวล่วงหน้า

ARIMA Models ใน Python

การสร้างการพยากรณ์แบบหนึ่งก้าวล่วงหน้า

# Make predictions for last 25 values
results = model.fit()

# Make in-sample prediction forecast = results.get_prediction(start=-25)
ARIMA Models ใน Python

การสร้างการพยากรณ์แบบหนึ่งก้าวล่วงหน้า

# Make predictions for last 25 values
results = model.fit()

# Make in-sample prediction forecast = results.get_prediction(start=-25)
# forecast mean mean_forecast = forecast.predicted_mean

ค่าเฉลี่ยที่พยากรณ์ได้คือ pandas series

2013-10-28    1.519368
2013-10-29    1.351082
2013-10-30    1.218016
ARIMA Models ใน Python

ช่วงความเชื่อมั่น

# Get confidence intervals of forecasts
confidence_intervals = forecast.conf_int()

เมธอด confidence interval คืนค่าเป็น pandas DataFrame

                                 lower y                       upper y
2013-09-28                     -4.720471                     -0.815384
2013-09-29                     -5.069875                      0.112505
2013-09-30                     -5.232837                      0.766300
2013-10-01                     -5.305814                      1.282935
2013-10-02                     -5.326956                      1.703974
ARIMA Models ใน Python

การพล็อตผลการพยากรณ์

plt.figure()

# Plot prediction
plt.plot(dates, 
         mean_forecast.values, 
         color='red', 
         label='forecast')

# Shade uncertainty area plt.fill_between(dates, lower_limits, upper_limits, color='pink') plt.show()
ARIMA Models ใน Python

การพล็อตผลการพยากรณ์

ARIMA Models ใน Python

การพยากรณ์แบบไดนามิก

ARIMA Models ใน Python

การสร้างการพยากรณ์แบบไดนามิก

results = model.fit()
forecast = results.get_prediction(start=-25, dynamic=True)
# forecast mean
mean_forecast = forecast.predicted_mean

# Get confidence intervals of forecasts
confidence_intervals = forecast.conf_int()
ARIMA Models ใน Python

การพยากรณ์นอกตัวอย่าง

forecast = results.get_forecast(steps=20)
# forecast mean
mean_forecast = forecast.predicted_mean

# Get confidence intervals of forecasts
confidence_intervals = forecast.conf_int()
ARIMA Models ใน Python

การพยากรณ์นอกตัวอย่าง

forecast = results.get_forecast(steps=20)

ARIMA Models ใน Python

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

ARIMA Models ใน Python

Preparing Video For Download...