統計学の勉強や時系列データの分析において、避けては通れないキーワードのひとつが「自己相関関数」です。
自己相関関数は、データが時系列としてどのようなパターンを持っているのか、またどの程度過去の値と現在の値が似通っているのかを示してくれる強力なツールです。
ここでは具体例や図を使いながら、その定義から応用例まで、自己相関関数の全体像を詳しく見ていきましょう。
自己相関関数とは?
自己相関関数(Autocorrelation Function, ACF)とは、ある時系列データがどの程度自己相似性を持っているかを示す統計量です。
簡単に言えば、データのある時点のデータが、ある一定時間経過した後のデータとどのくらい似た動きをしているかを表しています。
過去のデータと現在のデータとの相関関係を数値化する統計量とも言えるでしょう。

$$r(h) = \frac{\sum_{t=1}^{N-h} (x_t – \bar{x})(x_{t+h} – \bar{x})}{\sum_{t=1}^{N} (x_t – \bar{x})^2}$$
ここで、
- \(h\)はラグ(データをどのくらいずらしたか)
- \(\bar{x}\) はデータの平均値
- \(N\)はデータの総数
です。
この値は、以下のように解釈することができます。
相関の強さと方向性
- 正の相関:\(r(h)\)が正の値の場合、ある時点の値が平均以上であれば、\(h\)期間後も平均以上である傾向がある、またはその逆も示唆します。
- 負の相関:\(r(h)\)が負の値の場合、ある時点の値が平均以上なら、\(h\)期間後は平均以下になる傾向があることを意味します。
- 相関がゼロに近い:無相関、すなわちランダムな変動を示す場合が多いです。
自己相関関数は何に使われるのか?
自己相関関数を計算することで、データに周期性がある場合、一定のラグでピークが現れることが確認できます。
例えば、季節性のある経済データや気象データでは、年ごとの繰り返しが検出できることが多いです。
ラグ \(h\)を横軸にして自己相関関数をプロットすると、時系列データに周期性やトレンド、季節性があるかどうかが視覚的に確認できます(これをコレログラムと言います)。
まとめ
時系列データの分析において、自己相関関数は非常に強力な指標です。
今回学んだ知識を自分の身にするためにも、実際の時系列データの自己相関関数を算出してみましょう。
ぜひ、データに秘められた「時間のパターン」を体感してみてください。