Giới thiệu về mô hình ARIMA

Mô hình ARIMA với Python

James Fulton

Climate informatics researcher

Ôn tập: chuỗi thời gian không dừng

Mô hình ARIMA với Python

Ôn tập: chuỗi thời gian không dừng

Mô hình ARIMA với Python

Dự báo chuỗi đã sai phân

Mô hình ARIMA với Python

Khôi phục chuỗi gốc sau khi sai phân

diff_forecast = results.get_forecast(steps=10).predicted_mean

from numpy import cumsum
mean_forecast = cumsum(diff_forecast)
Mô hình ARIMA với Python

Khôi phục chuỗi gốc sau khi sai phân

diff_forecast = results.get_forecast(steps=10).predicted_mean

from numpy import cumsum
mean_forecast = cumsum(diff_forecast) + df.iloc[-1,0]
Mô hình ARIMA với Python

Khôi phục chuỗi gốc sau khi sai phân

Mô hình ARIMA với Python

Mô hình ARIMA

 

  • Lấy sai phân
  • Khớp mô hình ARMA
  • Tích phân dự báo

Có thể tránh làm nhiều bước vậy không?

Có!

ARIMA - Tự hồi quy, Tích hợp, Trung bình trượt

Mô hình ARIMA với Python

Sử dụng mô hình ARIMA

from statsmodels.tsa.arima.model import ARIMA

model = ARIMA(df, order=(p,d,q))
  • p - số bậc trễ tự hồi quy
  • d - bậc sai phân
  • q - số bậc trễ trung bình trượt

ARIMA$(p,0,q)$ = ARMA$(p,q)$

Mô hình ARIMA với Python

Sử dụng mô hình ARIMA

# Create model
model = ARIMA(df, order=(2,1,1))

# Fit model model.fit()
# Make forecast mean_forecast = results.get_forecast(steps=10).predicted_mean
Mô hình ARIMA với Python

Sử dụng mô hình ARIMA

# Make forecast
mean_forecast = results.get_forecast(steps=steps).predicted_mean

Mô hình ARIMA với Python

Chọn bậc sai phân

adf = adfuller(df.iloc[:,0])
print('ADF Statistic:', adf[0])
print('p-value:', adf[1])
ADF Statistic: -2.674
p-value: 0.0784
adf = adfuller(df.diff().dropna().iloc[:,0])
print('ADF Statistic:', adf[0])
print('p-value:', adf[1])
ADF Statistic: -4.978
p-value: 2.44e-05
Mô hình ARIMA với Python

Chọn bậc sai phân

model = ARIMA(df, order=(p,1,q))
Mô hình ARIMA với Python

Ayo berlatih!

Mô hình ARIMA với Python

Preparing Video For Download...