第1章 1-14 / データの記述と要約

時系列データ② — トレンド・移動平均・自己相関

このページで学ぶこと

前回は成長率と幾何平均を学びました。今回は時系列を「成分に分けて」見ます。時系列の動きはトレンド(傾向)・季節変動・不規則変動の重ね合わせと考えられます。これらを切り分けるための道具が移動平均自己相関です。

移動平均でギザギザをならして長期の流れを取り出し、自己相関係数とコレログラムで「何期前と似ているか(=周期)」を測ります。四半期データの数値例で、平滑化の折れ線図とコレログラムを実際に描きながら確認しましょう。

さえちゃん
さえ

時系列のギザギザって、トレンドと季節と偶然が混ざってるの。それを「ならす」のが移動平均、「何期ごとに繰り返してる?」を測るのが自己相関。2つの道具で時系列の正体が見えてくるよ!

1. 時系列の3つの変動成分

時系列データ $x_t$ の動きは、おおむね次の3つの成分の重ね合わせと考えると整理しやすくなります。

たとえば、ある会社の四半期売上を考えます。「年々じわじわ伸びている」のがトレンド、「毎年Q4(年末商戦)に跳ねる」のが季節変動、「その月だけ天災で落ち込んだ」のが不規則変動です。これら3つを分けて見れば、表面の上下に惑わされず本質をつかめます。

この記事で扱う四半期売上データ(3年・12期分)を、まず表にしておきます。Q4ごとに高く、年を追うごとに底上げされている、季節変動+上昇トレンドのデータです。

Q1Q2Q3Q4
1年目10141218
2年目12161420
3年目14181622
10 20 1年目 2年目 3年目 売上

原系列 ─ Q4ごとに山ができる季節変動と、右肩上がりのトレンドが混在

2. 移動平均で平滑化する

季節変動と不規則変動を取り除いてトレンドだけを取り出すには、移動平均が使えます。連続する数期の平均をとって、データのギザギザを「ならす(平滑化する)」操作です。

単純移動平均

FORMULA

奇数 $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期平均し、整数の時点に合わせます。これを中心化移動平均と呼びます。重みで書くと次の通りです。

FORMULA

周期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です。

EXAMPLE(中心化移動平均の計算)

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期目)と、季節の山谷が消えてきれいな右肩上がりの直線になります。これが取り出されたトレンドです。

10 20 1年目 2年目 3年目 売上

薄い線が原系列、濃い線が中心化移動平均。季節の波が消え、トレンド(直線的上昇)が浮かび上がる

POINT

移動平均の期数は季節周期に合わせるのが基本。月次データ(周期12)なら12期、四半期(周期4)なら4期です。周期が偶数のときは中心化移動平均で時点を合わせます。平滑化すると端のデータが計算できず短くなる、という副作用も覚えておきましょう。

さえちゃん
さえ

移動平均は「ならし」だよ。期数を季節の周期に合わせると、繰り返す波がぴったり打ち消し合って、長期の流れだけが残るの。株価のチャートでよく見る「移動平均線」も、まさにこれだよ!

3. 自己相関 — 何期前と似ているか

季節性(周期)を数値で測りたいときに使うのが自己相関です。アイデアはシンプルで、「時系列を自分自身の $k$ 期前のコピーとどれくらい相関するか」を見ます。相関係数の相手を「自分の過去」にしただけ、と思ってください。$k$ をラグ(遅れ)と呼びます。

FORMULA

ラグ $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$ が大きくなります。

EXAMPLE(自己相関の計算)

さきほどの四半期売上12期分(平均 $\bar{x}=15.5$)で自己相関を計算すると、次のようになります。

ラグ $k$123456
$r_k$−0.140.48−0.300.51−0.280.11

ラグ4で $r_4 = 0.51$ と最大になっています。これは「4期(=1年)前と最もよく似ている」ことを意味し、データに周期4の季節変動があることを数字が裏づけています。ラグ2が正、ラグ1・3が負になっているのも、Q2・Q4で高くQ1・Q3で低い、という規則的な上下を反映しています。

4. コレログラムで周期を読む

自己相関係数 $r_k$ を、横軸にラグ $k$、縦軸に $r_k$ をとって棒グラフにしたものをコレログラム(自己相関図)と呼びます。どのラグで相関が高いかが一目でわかる、時系列分析の定番グラフです。

1.0 0.5 0 -0.5 1 2 3 4 5 6 ラグ k

コレログラム ─ ラグ4で自己相関が突出。周期4(1年)の季節変動の証拠

コレログラムの読み方のポイントを整理します。

POINT

自己相関は「自分の過去との相関」。コレログラムでどのラグに山が立つかを見れば、データに潜む周期が一目でわかります。移動平均が「ならしてトレンドを見る」道具なら、コレログラムは「繰り返しを見つける」道具です。

さえちゃん
さえ

コレログラムは「周期の探知機」だよ。ラグ4とかラグ12に大きな棒が立ってたら「あ、季節性があるな」ってすぐわかる。移動平均とセットで覚えると、時系列の見方がぐっとプロっぽくなるよ!

まとめ

第1章 1-14、そして第1章のラスト、おつかれさまでした。ポイントを整理します。

これで第1章「データの記述と要約」は完了です。次章からは確率の世界に入ります。最初の一歩は 2-1 事象と確率。記述統計でつかんだデータの感覚を土台に、いよいよ「偶然を数で扱う」推論の準備を始めましょう。

さえちゃん
さえ

第1章、ぜんぶ走り切ったね、すごい! 移動平均と自己相関は手を動かすと一気に腑に落ちるよ。今日の四半期データで、中心化移動平均を1つだけでも自分で計算してみてね。次は確率だよ、楽しみにしてて!