Tự động hóa và lưu

Mô hình ARIMA với Python

James Fulton

Climate informatics researcher

Tìm kiếm bậc mô hình

import pmdarima as pm
results = pm.auto_arima(df)
Đang tìm kiếm tuần tự để tối thiểu hóa aic
 ARIMA(2,0,2)(1,1,1)[12] intercept   : AIC=inf, Time=3.33 sec
 ARIMA(0,0,0)(0,1,0)[12] intercept   : AIC=2648.467, Time=0.062 sec
 ARIMA(1,0,0)(1,1,0)[12] intercept   : AIC=2279.986, Time=1.171 sec

 ...

 ARIMA(3,0,3)(1,1,1)[12] intercept   : AIC=2173.508, Time=12.487 sec
 ARIMA(3,0,3)(0,1,0)[12] intercept   : AIC=2297.305, Time=2.087 sec

Mô hình tốt nhất:  ARIMA(3,0,3)(1,1,1)[12]
Tổng thời gian fit: 245.812 seconds
Mô hình ARIMA với Python

Kết quả pmdarima

print(results.summary())

results.plot_diagnostics()

Mô hình ARIMA với Python

Tham số tìm kiếm không theo mùa

Mô hình ARIMA với Python

Tham số tìm kiếm không theo mùa

results = pm.auto_arima( df,             # dữ liệu

d=0, # bậc sai phân không theo mùa
start_p=1, # giá trị khởi đầu cho p start_q=1, # giá trị khởi đầu cho q
max_p=3, # giá trị p tối đa để thử max_q=3, # giá trị q tối đa để thử )
1 https://www.alkaline-ml.com/pmdarima/modules/generated/pmdarima.arima.auto_arima.html
Mô hình ARIMA với Python

Tham số tìm kiếm theo mùa

results = pm.auto_arima( df,             # dữ liệu
                         ... ,          # tham số không theo mùa 
                         seasonal=True,  # chuỗi có tính mùa vụ?

m=7, # chu kỳ mùa vụ
D=1, # bậc sai phân mùa vụ
start_P=1, # giá trị khởi đầu cho P start_Q=1, # giá trị khởi đầu cho Q
max_P=2, # giá trị P tối đa để thử max_Q=2, # giá trị Q tối đa để thử )
Mô hình ARIMA với Python

Tham số khác

results = pm.auto_arima( df,                     # dữ liệu    
                         ... ,                   # tham số bậc mô hình     

information_criterion='aic', # tiêu chí chọn mô hình tốt nhất
trace=True, # in kết quả khi huấn luyện
error_action='ignore', # bỏ qua bậc không phù hợp
stepwise=True, # tìm kiếm bậc thông minh )
Mô hình ARIMA với Python

Lưu đối tượng mô hình

# Import
import joblib 
# Chọn đường dẫn tệp
filepath ='localpath/great_model.pkl'

# Lưu mô hình vào đường dẫn
joblib.dump(model_results_object, filepath)
Mô hình ARIMA với Python

Lưu đối tượng mô hình

# Chọn đường dẫn tệp
filepath ='localpath/great_model.pkl'

# Tải đối tượng mô hình từ đường dẫn
model_results_object = joblib.load(filepath) 
Mô hình ARIMA với Python

Cập nhật mô hình

# Thêm quan sát mới và cập nhật tham số
model_results_object.update(df_new)
Mô hình ARIMA với Python

So sánh cập nhật

Mô hình ARIMA với Python

Ayo berlatih!

Mô hình ARIMA với Python

Preparing Video For Download...