時系列データ② — トレンド・移動平均・自己相関
前回は成長率と幾何平均を学びました。今回は時系列を「成分に分けて」見ます。時系列の動きはトレンド(傾向)・季節変動・不規則変動の重ね合わせと考えられます。これらを切り分けるための道具が移動平均と自己相関です。
移動平均でギザギザをならして長期の流れを取り出し、自己相関係数とコレログラムで「何期前と似ているか(=周期)」を測ります。四半期データの数値例で、平滑化の折れ線図とコレログラムを実際に描きながら確認しましょう。
時系列のギザギザって、トレンドと季節と偶然が混ざってるの。それを「ならす」のが移動平均、「何期ごとに繰り返してる?」を測るのが自己相関。2つの道具で時系列の正体が見えてくるよ!
1. 時系列の3つの変動成分
時系列データ $x_t$ の動きは、おおむね次の3つの成分の重ね合わせと考えると整理しやすくなります。
- トレンド(傾向変動):長期的な上昇・下降・横ばいの大きな流れ
- 季節変動(周期変動):1年や1週間など、一定周期で繰り返す規則的な波
- 不規則変動(偶然変動):上の2つで説明できない、突発的・偶発的なゆらぎ
たとえば、ある会社の四半期売上を考えます。「年々じわじわ伸びている」のがトレンド、「毎年Q4(年末商戦)に跳ねる」のが季節変動、「その月だけ天災で落ち込んだ」のが不規則変動です。これら3つを分けて見れば、表面の上下に惑わされず本質をつかめます。
この記事で扱う四半期売上データ(3年・12期分)を、まず表にしておきます。Q4ごとに高く、年を追うごとに底上げされている、季節変動+上昇トレンドのデータです。
| 期 | Q1 | Q2 | Q3 | Q4 |
|---|---|---|---|---|
| 1年目 | 10 | 14 | 12 | 18 |
| 2年目 | 12 | 16 | 14 | 20 |
| 3年目 | 14 | 18 | 16 | 22 |
原系列 ─ Q4ごとに山ができる季節変動と、右肩上がりのトレンドが混在
2. 移動平均で平滑化する
季節変動と不規則変動を取り除いてトレンドだけを取り出すには、移動平均が使えます。連続する数期の平均をとって、データのギザギザを「ならす(平滑化する)」操作です。
単純移動平均
奇数 $2m+1$ 期の単純移動平均は、その時点を中心に前後 $m$ 期を平均します。 $$\hat{x}_t = \frac{1}{2m+1}\sum_{j=-m}^{m} x_{t+j}$$ たとえば3期移動平均なら $\hat{x}_t = \dfrac{x_{t-1}+x_t+x_{t+1}}{3}$ です。
移動平均の期数を季節の周期に合わせるのがコツです。四半期データの季節周期は4なので、4期移動平均をとると1年分をならすことになり、季節変動がきれいに消えます。
中心化移動平均(周期が偶数のとき)
ところが周期4は偶数。4期の平均は2.5番目と3.5番目の「間」に対応してしまい、もとの時点に乗りません。そこで、ずれた4期移動平均をさらに隣どうしで2期平均し、整数の時点に合わせます。これを中心化移動平均と呼びます。重みで書くと次の通りです。
周期4の中心化移動平均(2×4移動平均): $$\hat{x}_t = \frac{1}{8}\,x_{t-2} + \frac{1}{4}\,x_{t-1} + \frac{1}{4}\,x_{t} + \frac{1}{4}\,x_{t+1} + \frac{1}{8}\,x_{t+2}$$ 両端だけ重み $\tfrac{1}{8}$、中央3期は $\tfrac{1}{4}$。重みの合計はちょうど1です。
3期目(1年目Q3、値12)の中心化移動平均を計算します。前後2期は $x=10,14,12,18,12$。 $$\hat{x}_3 = \tfrac{1}{8}(10) + \tfrac{1}{4}(14) + \tfrac{1}{4}(12) + \tfrac{1}{4}(18) + \tfrac{1}{8}(12) = 1.25 + 3.5 + 3 + 4.5 + 1.5 = 13.75$$ 同じ要領で全期を計算すると、$13.75,\ 14.25,\ 14.75,\ 15.25,\ 15.75,\ 16.25,\ 16.75,\ 17.25$(3期目〜10期目)と、季節の山谷が消えてきれいな右肩上がりの直線になります。これが取り出されたトレンドです。
薄い線が原系列、濃い線が中心化移動平均。季節の波が消え、トレンド(直線的上昇)が浮かび上がる
移動平均の期数は季節周期に合わせるのが基本。月次データ(周期12)なら12期、四半期(周期4)なら4期です。周期が偶数のときは中心化移動平均で時点を合わせます。平滑化すると端のデータが計算できず短くなる、という副作用も覚えておきましょう。
移動平均は「ならし」だよ。期数を季節の周期に合わせると、繰り返す波がぴったり打ち消し合って、長期の流れだけが残るの。株価のチャートでよく見る「移動平均線」も、まさにこれだよ!
3. 自己相関 — 何期前と似ているか
季節性(周期)を数値で測りたいときに使うのが自己相関です。アイデアはシンプルで、「時系列を自分自身の $k$ 期前のコピーとどれくらい相関するか」を見ます。相関係数の相手を「自分の過去」にしただけ、と思ってください。$k$ をラグ(遅れ)と呼びます。
ラグ $k$ の自己相関係数 $r_k$ は $$r_k = \frac{\displaystyle\sum_{t=k+1}^{n} (x_t - \bar{x})(x_{t-k} - \bar{x})}{\displaystyle\sum_{t=1}^{n} (x_t - \bar{x})^2}$$ ここで $\bar{x}$ は系列全体の平均です。分子は「現在のずれ」と「$k$ 期前のずれ」の積の和、分母は全体のばらつき。$r_0 = 1$ で、$-1 \le r_k \le 1$ の範囲に入ります。
$r_k$ が大きな正の値なら「$k$ 期前と似た動きをしている」、つまりその $k$ が周期の候補です。季節変動があると、周期にあたるラグで $r_k$ が大きくなります。
さきほどの四半期売上12期分(平均 $\bar{x}=15.5$)で自己相関を計算すると、次のようになります。
| ラグ $k$ | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| $r_k$ | −0.14 | 0.48 | −0.30 | 0.51 | −0.28 | 0.11 |
ラグ4で $r_4 = 0.51$ と最大になっています。これは「4期(=1年)前と最もよく似ている」ことを意味し、データに周期4の季節変動があることを数字が裏づけています。ラグ2が正、ラグ1・3が負になっているのも、Q2・Q4で高くQ1・Q3で低い、という規則的な上下を反映しています。
4. コレログラムで周期を読む
自己相関係数 $r_k$ を、横軸にラグ $k$、縦軸に $r_k$ をとって棒グラフにしたものをコレログラム(自己相関図)と呼びます。どのラグで相関が高いかが一目でわかる、時系列分析の定番グラフです。
コレログラム ─ ラグ4で自己相関が突出。周期4(1年)の季節変動の証拠
コレログラムの読み方のポイントを整理します。
- 特定のラグで山:そのラグが周期。四半期データならラグ4、月次ならラグ12で山が立てば季節性あり
- ラグが増えてもなかなか下がらない:強いトレンドがある(近い時点ほど似るため、緩やかに減衰)
- どのラグもほぼ0:規則性のない(ホワイトノイズに近い)系列
自己相関は「自分の過去との相関」。コレログラムでどのラグに山が立つかを見れば、データに潜む周期が一目でわかります。移動平均が「ならしてトレンドを見る」道具なら、コレログラムは「繰り返しを見つける」道具です。
コレログラムは「周期の探知機」だよ。ラグ4とかラグ12に大きな棒が立ってたら「あ、季節性があるな」ってすぐわかる。移動平均とセットで覚えると、時系列の見方がぐっとプロっぽくなるよ!
まとめ
第1章 1-14、そして第1章のラスト、おつかれさまでした。ポイントを整理します。
- 3つの変動成分:トレンド・季節変動・不規則変動の重ね合わせとして時系列を見る
- 移動平均:$\hat{x}_t=\frac{1}{2m+1}\sum_{j=-m}^{m}x_{t+j}$。期数を季節周期に合わせてギザギザをならす
- 中心化移動平均:周期が偶数のとき、時点を合わせるため両端を半分の重みにする(周期4なら $\tfrac18,\tfrac14,\tfrac14,\tfrac14,\tfrac18$)
- 自己相関係数:$r_k=\dfrac{\sum_{t=k+1}^{n}(x_t-\bar{x})(x_{t-k}-\bar{x})}{\sum_{t=1}^{n}(x_t-\bar{x})^2}$。$k$ 期前との類似度
- コレログラム:$r_k$ をラグ別に並べた図。山が立つラグが周期
これで第1章「データの記述と要約」は完了です。次章からは確率の世界に入ります。最初の一歩は 2-1 事象と確率。記述統計でつかんだデータの感覚を土台に、いよいよ「偶然を数で扱う」推論の準備を始めましょう。
第1章、ぜんぶ走り切ったね、すごい! 移動平均と自己相関は手を動かすと一気に腑に落ちるよ。今日の四半期データで、中心化移動平均を1つだけでも自分で計算してみてね。次は確率だよ、楽しみにしてて!