Chọn mô hình phù hợp

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

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Xác định bậc của mô hình AR

  • Bậc của mô hình AR(p) thường là không biết trước
  • Hai cách xác định bậc
    • Hàm tự tương quan riêng phần (PACF)
    • Tiêu chí thông tin
Phân tích chuỗi thời gian với Python

Hàm tự tương quan riêng phần (PACF)

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

Vẽ PACF trong Python

  • Tương tự ACF, nhưng dùng plot_pacf thay cho plt_acf
  • Import module
    from statsmodels.graphics.tsaplots import plot_pacf
    
  • Vẽ PACF
    plot_pacf(x, lags= 20, alpha=0.05)
    
Phân tích chuỗi thời gian với Python

So sánh PACF cho các mô hình AR khác nhau

  • AR(1)

  • AR(3)

  • AR(2)

  • Nhiễu trắng

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

Tiêu chí thông tin

  • Tiêu chí thông tin: điều chỉnh độ phù hợp theo số tham số
  • Hai thước đo phổ biến đã điều chỉnh độ phù hợp
    • AIC (Akaike Information Criterion)
    • BIC (Bayesian Information Criterion)
Phân tích chuỗi thời gian với Python

Tiêu chí thông tin

  • Kết quả ước lượng
Phân tích chuỗi thời gian với Python

Lấy tiêu chí thông tin từ statsmodels

  • Trước đó bạn đã học cách fit mô hình AR
    from statsmodels.tsa.arima_model import ARIMA
    mod = ARIMA(simulated_data, order=(1,0))
    result = mod.fit()
    
  • Và lấy toàn bộ kết quả
    result.summary()
    
  • Hoặc chỉ các tham số
    result.params
    
  • Để lấy AIC và BIC
    result.aic
    result.bic
    
Phân tích chuỗi thời gian với Python

Tiêu chí thông tin

  • Fit dữ liệu AR(3) mô phỏng với các mô hình AR(p) khác nhau
  • Chọn p có BIC nhỏ nhất
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...