自己相関関数

Pythonで学ぶ時系列解析

Rob Reider

Adjunct Professor, NYU-Courant Consultant, Quantopian

自己相関関数

  • 自己相関関数(ACF):ラグの関数としての自己相関
  • ラグ0では1に等しい
  • ラグ1を超えた情報も有用
Pythonで学ぶ時系列解析

ACFの例1:単純な自己相関関数

  • 系列の直近2値を予測に利用可能
Pythonで学ぶ時系列解析

ACFの例2:季節的収益

  • H&Rブロックの収益
  • H&Rブロックの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
    • 真の自己相関がゼロの場合、青いバンド外に入る確率が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...