自相關函數

Python 中的時間序列分析

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

自相關函數

  • 自相關函數(ACF):將自相關視為延遲的函數
  • 在零延遲時等於 1
  • 延遲超過 1 之後更有參考價值
Python 中的時間序列分析

ACF 範例 1:簡單自相關函數

  • 可用時間序列的前兩個值做預測
Python 中的時間序列分析

ACF 範例 2:季節性盈餘

  • H&R Block 的盈餘
  • H&R Block 的 ACF
Python 中的時間序列分析

ACF 範例 3:用於模型選擇

  • 模型選擇

Python 中的時間序列分析

在 Python 中繪製 ACF

  • 匯入模組:
    from statsmodels.graphics.tsaplots import plot_acf
    
  • 繪製 ACF:
    plot_acf(x, lags= 20, alpha=0.05)
    
Python 中的時間序列分析

ACF 的信賴區間

Python 中的時間序列分析

ACF 的信賴區間

  • 參數 alpha 會決定信賴區間寬度
  • 例:alpha=0.05
    • 若真實自相關為 0,仍有 5% 機率落在藍帶之外
  • 下列情況信賴帶更寬:
    • alpha 較低
    • 觀測較少
  • 在部分簡化假設下,95% 信賴帶為 $\pm 2/\sqrt{N}$
  • 若不想顯示信賴帶,將 alpha=1
Python 中的時間序列分析

以 ACF 數值取代圖形

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]
Python 中的時間序列分析

一起來練習吧!

Python 中的時間序列分析

Preparing Video For Download...