kaggleの雑記

編自己相関関数の見方

偏自己相関関数

statsmodelsのplot_pacf

利用するデータ

今期はAirPassengers.csvを利用します。下記からダウンロードしました。

https://github.com/AileenNielsen/TimeSeriesAnalysisWithPython/blob/master/data/AirPassengers.csv

plotしてみる

jupyter notebookを利用してプロットしました。

import pandas as pd
import statsmodels.api as sm
%matplotlib inline

my_parser = lambda date: pd.datetime.strptime(date, "%Y-%m")
df = pd.read_csv("AirPassengers.csv", index_col="Month", date_parser=my_parser)

# ;を入力すると二重でプロットされるのを防止できる
sm.graphics.tsa.plot_pacf(df.values);

その結果プロットされたものがこちらです。

偏自己相関関数の見方

【縦軸の意味】1が最大、−1が最低で1に近いほど相関している

ただし、Pythonのstatsmodelsを利用した時には1以上、−1以下の結果が出ることがある。Rでは発生しないケースが存在するが、計算アルゴリズムの違いによるものである。

【横軸の意味】データのx軸をいくつ横にずらし時の相関か

今回のAirPassengers.csvの場合x軸は時系列データである「月」です。そして1ヶ月ずらした時の自己相関、2ヶ月ずらしたときの自己相関とプロットされていきます。ズレ1つ分をラグと呼びます。

信頼区間95%と有意差

グラフの青く塗られた区間は95%の信頼区間と呼ばれ、その区間を超えた値は有意差として見ることができます。有意差とは文字通り「意味の有る差」ということです。このコレログラムにおいては青い区間を出た値のみ、「相関が有ると言える」意味になります。

自己相関関数との違い

自己相関関数の見方statsmodelsのplot_acf 利用するデータ 今期はAirPassengers.csvを利用します。下記からダウンロード...

自己相関関数との違いはこちらの記事が最も理解しやすかった。

https://stats.biopapyrus.jp/time-series/acf.html

自己相関関数は1つ目のラグとの間に相関があると、2つ目のラグ、3つ目のラグにも影響していきます。

偏相関関数はそのx目のラグまでの間にある1〜x-1目までのラグの影響を全て除外します。

𝐶𝑜𝑣(𝑦𝑡𝛼𝑦𝑡1,𝑦𝑡2𝛽𝑦𝑡1)/𝑉𝑎𝑟(𝑦𝑡𝛼𝑦𝑡1)𝑉𝑎𝑟(𝑦𝑡2𝛽𝑦𝑡1)

参考

ABOUT ME
hirayuki
今年で社会人3年目になります。 日々体当たりで仕事を覚えています。 テーマはIT・教育です。 少しでも技術に親しんでもらえるよう、noteで4コマ漫画も書いています。 https://note.mu/hirayuki