Hàm tự tương quan

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

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

Hàm tự tương quan

  • Autocorrelation Function (ACF): tự tương quan theo độ trễ
  • Bằng một tại độ trễ bằng không
  • Thông tin thú vị nằm ngoài độ trễ một
Phân tích chuỗi thời gian với Python

Ví dụ ACF 1: Hàm tự tương quan đơn giản

  • Có thể dùng hai giá trị cuối của chuỗi để dự báo
Phân tích chuỗi thời gian với Python

Ví dụ ACF 2: Lợi nhuận theo mùa

  • Lợi nhuận của H&R Block
  • ACF của H&R Block
Phân tích chuỗi thời gian với Python

Ví dụ ACF 3: Hữu ích cho chọn mô hình

  • Chọn mô hình

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

Vẽ ACF trong Python

  • Nhập mô-đun:
    from statsmodels.graphics.tsaplots import plot_acf
    
  • Vẽ ACF:
    plot_acf(x, lags= 20, alpha=0.05)
    
Phân tích chuỗi thời gian với Python

Khoảng tin cậy của ACF

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

Khoảng tin cậy của ACF

  • Tham số alpha đặt độ rộng khoảng tin cậy
  • Ví dụ: alpha=0.05
    • Xác suất 5%: nếu tự tương quan thực bằng 0, giá trị ước lượng sẽ nằm ngoài dải xanh
  • Dải tin cậy rộng hơn khi:
    • Alpha nhỏ hơn
    • Ít quan sát hơn
  • Với một số giả định đơn giản, dải tin cậy 95% là $\pm 2/\sqrt{N}$
  • Nếu không muốn hiển thị dải trên biểu đồ, đặt alpha=1
Phân tích chuỗi thời gian với Python

Giá trị ACF thay cho biểu đồ

from statsmodels.tsa.stattools import acf
print(acf(x))
[ 1.         -0.6765505   0.34989905 -0.01629415 -0.02507013  0.01930354
 -0.03186545  0.01399904 -0.03518128  0.02063168 -0.02620646 -0.00509828
...
  0.07191516 -0.12211912  0.14514481 -0.09644228  0.05215882]
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...