Ước lượng và dự báo với mô hình AR

Phân tích chuỗi thời gian với Python

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Ước lượng mô hình AR

  • Ước lượng tham số từ dữ liệu (mô phỏng)

    from statsmodels.tsa.arima_model import ARMA
    mod = ARMA(data, order=(1,0))
    result = mod.fit()
    
  • ARMA đã bị loại bỏ, thay bằng ARIMA

    from statsmodels.tsa.arima.model import ARIMA
    mod = ARIMA(data, order=(1,0,0))
    result = mod.fit()
    
  • Với ARMA, order=(p,q)

  • Với ARIMA, order=(p,d,q)
Phân tích chuỗi thời gian với Python

Ước lượng mô hình AR

  • Kết quả đầy đủ (giá trị thật $\large \mu=0$ và $\large \phi=0.9$)
    print(result.summary())
    

Phân tích chuỗi thời gian với Python

Ước lượng mô hình AR

  • Chỉ in ước lượng của $\large \mu$ và $\large \phi$ (giá trị thật $\large \mu=0$ và $\large \phi=0.9$)
    print(result.params)
    
array([-0.03605989,  0.90535667])
Phân tích chuỗi thời gian với Python

Dự báo với mô hình AR

from statsmodels.graphics.tsaplots import plot_predict
fig, ax = plt.subplots()
data.plot(ax=ax)
plot_predict(result, start='2012-09-27', end='2012-10-06', alpha=0.05, ax=ax)
plt.show()
  • Tham số của hàm plot_predict()
    • Đối số đầu là mô hình đã fit
    • Đặt alpha=None để không có khoảng tin cậy
    • Đặt ax=ax để vẽ dữ liệu và dự báo trên cùng trục

Phân tích chuỗi thời gian với Python

Cùng luyện tập nào!

Phân tích chuỗi thời gian với Python

Preparing Video For Download...