kaggleの雑記

自己相関関数の見方

statsmodelsのplot_acf

利用するデータ

今期は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_acf(df.values);

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

自己相関関数 見方

自己相関関数の見方

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

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

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

横軸が0のところはずらしていないため、相関は1になるような仕様です。

このようなグラフをコレログラムと言います。

コレログラムから見える周期性

自己相関関数が1に近い値を見ていくと次に高い値を示すのは目盛りが12になった時です。つまりAirPassengers.csvは1年周期のデータであることが見えてきます。

信頼区間95%と有意差

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

参考

偏自己相関関数
編自己相関関数の見方statsmodelsのplot_pacf 利用するデータ 今期はAirPassengers.csvを利用します。下記からダウンロー...
ABOUT ME
hirayuki
今年で社会人3年目になります。 日々体当たりで仕事を覚えています。 テーマはIT・教育です。 少しでも技術に親しんでもらえるよう、noteで4コマ漫画も書いています。 https://note.mu/hirayuki