統計学 学習ノート

統計検定の4級から1級まで、出題範囲の順に記事と練習問題で学ぶ

2級-9 推測統計の基礎

時系列データの処理

  • 成長率
  • 指数化
  • 幾何平均
  • 系列相関
  • コレログラム
  • トレンド
  • 平滑化(移動平均)

はじめに

「先月より売上が3割も増えた。うちの店、絶好調じゃない?」

こう喜ぶ前に、確かめたいことがあります。そのお店がアイスクリーム屋で、今が7月だとしたらどうでしょうか? 毎年この時期に増えているだけかもしれません。逆に、去年の7月より減っている可能性もあります。

前回の記事では、単回帰で2つの変数の関係を調べました。そのデータは、順番を入れ替えても結果が変わらないものでした。でも、毎月の売上や毎日の気温は違います。順番を入れ替えると、意味が壊れてしまいます。

実は、このように時間の順に並んだデータには、ふつうのデータにはない見方が必要です。4級と3級で、時系列データの増減率、指数、移動平均を学びましたね。2級では、これらを道具として使いこなします。

そこで登場するのが、今回の主役 成長率 と コレログラム です。成長率は変化の速さを、コレログラムは過去と現在のつながりを教えてくれます。今回の記事では、成長率、指数化、幾何平均、トレンドと平滑化、系列相関について解説します。

成長率と指数化:変化を比べやすくする

はじめに、変化を数字で表す2つの道具について解説します。

成長率(growth rate) は、前の時点からどれだけの割合で増えたかを表す値です。時点 tt の値を yty_t と書くと、次の式で求めます。

成長率=yt−yt−1yt−1=ytyt−1−1\text{成長率} = \frac{y_t - y_{t-1}}{y_{t-1}} = \frac{y_t}{y_{t-1}} - 1

言葉で言うと、増えた量を、元の値で割ったものです。増えた量だけを見ないのがポイントです。例えば、100万円から110万円への10万円増と、1,000万円から1,010万円への10万円増では、勢いがまったく違いますよね。前者は10%、後者は1%の成長です。

具体的に見てみましょう。あるお店の年間売上(万円)が次のようだったとします。

年1年目2年目3年目4年目5年目
売上400500450540648
成長率+25%−10%+20%+20%
指数(1年目 = 100)100125112.5135162

2年目の成長率は、(500 − 400) ÷ 400 = 0.25 で、25%です。

毎月のデータでは、季節の影響に注意します。冒頭のアイスクリーム屋なら、6月と7月を比べる前月比では、季節の動きが混ざります。そこで、去年の7月と比べる 前年同月比 を使います。同じ季節どうしを比べれば、季節の動きは打ち消されます。

次に、指数化 です。指数化とは、ある時点を基準の100にそろえて、他の時点の値を表すことです。

指数=比べる時点の値基準時点の値×100\text{指数} = \frac{\text{比べる時点の値}}{\text{基準時点の値}} \times 100

指数化は、スタートラインをそろえる作業です。徒競走で、全員を同じ線に並べてから走らせるようなものです。

例えば、売上400万円のこのお店と、売上50万円の小さな店を比べたいとします。金額のままでは、差が大きすぎて比べられません。小さな店の売上が5年目に70万円だとすると、指数は 70 ÷ 50 × 100 = 140 です。このお店の162と並べると、伸びの大きさを同じものさしで比べられます。

基準の時点は、自由に変えられます。3年目を100にすると、5年目は 648 ÷ 450 × 100 = 144 です。

試験のポイント:指数の差は「ポイント」、変化の割合は「%」で表します。指数が100から120を経て144になったとき、後半の上昇は24ポイントで、20%の増加です。

補足(ここは読み飛ばしてOK): 成長率が小さいとき、成長率は自然対数の差 log⁡yt−log⁡yt−1\log y_t - \log y_{t-1} でよく近似できます。例えば、2%の成長なら log⁡1.02≈0.0198\log 1.02 \approx 0.0198 です。

以上が、成長率と指数化についての解説です。

幾何平均:平均の成長率を正しく求める

次に、平均の成長率の求め方について説明します。

「売上が1年目に25%増えて、次の年に20%減った。平均すると毎年2.5%の成長だね」

この計算は、まちがいです。100万円が25%増えると125万円、そこから20%減ると100万円です。元に戻っているので、平均の成長率は0%のはずです。

なぜずれるのでしょうか? 成長は足し算ではなく、掛け算で積み重なるからです。成長率ではなく倍率で見ると、1.25倍のあとに0.8倍で、1.25 × 0.8 = 1 となります。

そこで登場するのが 幾何平均(geometric mean) です。nn 個の正の値を掛けて、nn 乗根をとった値です。

xˉG=x1x2⋯xnn\bar{x}_G = \sqrt[n]{x_1 x_2 \cdots x_n}

倍率の幾何平均を gg とすると、平均成長率は g−1g - 1 です。つまり、「毎年同じ倍率で増えたとしたら、何倍ずつか」を求めています。段の高さがバラバラな階段を、同じ段数のまま、高さのそろった階段に作り直すイメージです。

3級までの、足して割る平均は 算術平均 と呼びます。倍率がそろっていない限り、算術平均は幾何平均より高い値になります。

例題:年平均成長率を求める

売上の表で、1年目から5年目までの年平均成長率を求めましょう。

【解き方】

  1. 倍率を並べる: 1.25, 0.9, 1.2, 1.2
  2. 4つを掛ける: 1.25 × 0.9 × 1.2 × 1.2 = 1.62
  3. 4乗根をとる: 1.624≈1.128\sqrt[4]{1.62} \approx 1.128
  4. 1を引く: 0.128

答えは約12.8%です。途中の倍率を掛けた1.62は、648 ÷ 400 と同じです。したがって、最初と最後の値だけ分かれば計算できます。確かめると、400 × 1.128⁴ はほぼ648に戻ります。

一方で、成長率の算術平均は (25 − 10 + 20 + 20) ÷ 4 = 13.75 で、13.75%です。この率で4年伸ばすと約670万円になり、実際の648万円を超えてしまいます。

せっかくなので、別の例も見てみましょう。ある会員数が50%増えて、その翌年に50%減ったとします。倍率は1.5と0.5なので、2年で0.75倍です。0.75≈0.866\sqrt{0.75} \approx 0.866 なので、年平均では約13.4%の減少です。算術平均の0%とは、大きく食い違います。

試験のポイント:期間を通じた平均成長率は、倍率の幾何平均から求めます。nn 期間なら、(最後の値 ÷ 最初の値) の nn 乗根から1を引きます。

以上が、幾何平均についての説明です。

トレンドと平滑化:大きな流れを取り出す

続いて、時系列の大きな流れを取り出す方法について解説します。

時系列の動きは、性格の違う動きの重ね合わせです。波打ち際を思い浮かべてください。潮が満ちる大きな流れの上に、規則的な波があり、さらに細かなしぶきが飛んでいます。

【時系列の3つの動き】

  1. トレンド(傾向変動): 長い期間にわたる上昇や下降の流れ。潮の満ち引き
  2. 季節変動: 1年などの周期でくり返す動き。規則的な波
  3. 不規則変動: 偶然による短期の動き。しぶき

トレンドを見たいのに、波としぶきがじゃまをします。そこで、細かな上下をならして滑らかにする 平滑化(smoothing) の出番です。代表的な方法が、3級で学んだ 移動平均 です。隣り合ういくつかの値の平均を、1時点ずつずらしながら求めます。

例えば、7日間の販売数 12, 15, 13, 17, 19, 18, 22 の3項移動平均を考えます。

【3項移動平均の計算】

  • 2日目の位置: (12 + 15 + 13) ÷ 3 ≈ 13.3
  • 3日目の位置: (15 + 13 + 17) ÷ 3 = 15
  • 4日目の位置: (13 + 17 + 19) ÷ 3 ≈ 16.3

ジグザグが消えて、なだらかな上昇が見えてきます。ただし、両端の値は求められません。項数を増やすほど滑らかになりますが、欠ける端も増えます。

ここがポイントです。季節変動を消すには、項数を周期に合わせます。四半期データなら4項、月次データなら12項です。1周期ぶんを平均すれば、どの季節も同じ回数だけ入るので、季節の山と谷が打ち消し合います。

ただし、項数が偶数だと平均の位置が時点と時点の間に来てしまいます。そこで、隣り合う2つの移動平均をさらに平均して、位置をそろえます。これを 中心化移動平均 と呼びます。

例題:四半期データの中心化移動平均

ある商品の四半期ごとの販売数(千個)が次のようでした。

年第1四半期第2四半期第3四半期第4四半期
1年目20406030
2年目24446434
3年目28486838

1年目の第3四半期の位置の、中心化移動平均を求めましょう。

【解き方】

  1. 1つ目の4項平均: (20 + 40 + 60 + 30) ÷ 4 = 37.5
  2. 2つ目の4項平均: (40 + 60 + 30 + 24) ÷ 4 = 38.5
  3. 2つの平均をとる: (37.5 + 38.5) ÷ 2 = 38

答えは38です。同じ計算を続けると、38, 39, 40, 41, 42, 43, 44, 45 となります。元のデータは20から68まで大きく揺れていたのに、季節の波が消えました。四半期ごとに1ずつ増えるトレンドだけが残っています。

以上が、トレンドと平滑化についての解説です。

系列相関とコレログラム:過去とのつながりを読む

最後に、過去の値と今の値のつながりを測る方法を見ていきましょう。

今日が暑ければ、明日もたぶん暑いですよね。一方で、今日のサイコロの目から、明日の目は予想できません。この違いを数字で表すのが 系列相関(serial correlation) です。自己相関とも呼びます。同じ系列を kk 時点ずらして、自分自身との相関を測ります。ずらす幅 kk を ラグ と言います。

rk=∑t=1T−k(yt−yˉ)(yt+k−yˉ)∑t=1T(yt−yˉ)2r_k = \frac{\sum_{t=1}^{T-k} (y_t - \bar{y})(y_{t+k} - \bar{y})}{\sum_{t=1}^{T} (y_t - \bar{y})^2}

記号の意味は次のとおりです。TT はデータの個数、yˉ\bar{y} は全体の平均です。

言葉で言うと、分子は「kk 時点離れた2つの偏差の積の合計」で、分母は「偏差の2乗の合計」です。3級で学んだ相関係数と同じ考え方で、値は −1 から1の間に入ります。

例題:系列相関を計算する

データ 2, 3, 5, 7, 8 のラグ1とラグ2の系列相関を求めましょう。

【解き方】

  1. 平均は5で、偏差は −3, −2, 0, 2, 3
  2. 分母: 9 + 4 + 0 + 4 + 9 = 26
  3. ラグ1の分子: (−3)(−2) + (−2)(0) + (0)(2) + (2)(3) = 12
  4. ラグ2の分子: (−3)(0) + (−2)(2) + (0)(3) = −4
  5. 割り算: r1=12÷26≈0.46r_1 = 12 \div 26 \approx 0.46、r2=−4÷26≈−0.15r_2 = -4 \div 26 \approx -0.15

答えは r1≈0.46r_1 \approx 0.46、r2≈−0.15r_2 \approx -0.15 です。隣どうしは同じ向きに動きやすいと読めます。

コレログラム(correlogram) は、ラグごとの系列相関を棒で並べたグラフです。時系列の性格が一目で分かる、いわば履歴書です。例題の四半期データでは、次の値になります。

ラグ123456
系列相関−0.03−0.680.060.64−0.07−0.46

ラグ4で大きな正の値、ラグ2で大きな負の値になっています。4四半期前と同じ動きをし、半年前とは逆の動きをするからです。つまり、周期4の季節変動があると読めます。

コレログラムの読み方は、次の形を覚えておきましょう。

【コレログラムの読み方】

  1. ラグ1からほぼ0: 過去と無関係なランダムな動き
  2. ゆっくり減っていく: トレンドがある、または動きが長く続く
  3. 周期ごとに山が出る: 季節変動がある。月次データならラグ12、24に山
  4. 正と負を交互にくり返す: 上がったら下がる、という短い振動

試験のポイント:コレログラムの問題では、山が出るラグから周期を読み取ります。トレンドがあると、ラグが増えても正の値がなかなか0に近づきません。

補足(ここは読み飛ばしてOK): 完全にランダムな系列では、系列相関はおよそ ±2/T\pm 2/\sqrt{T} の範囲に収まります。例えば、100個のデータなら ±0.2 が目安です。

以上が、系列相関とコレログラムについての説明です。

細かい計算を忘れてしまっても問題ありません。ここでは、「変化は倍率で考える、周期に合わせてならす、ラグをずらして周期を読む」という点だけ押さえておきましょう。

今回のまとめ

それでは、今回の内容を振り返ります。

今回は、時間の順に並んだデータを読み解く道具について紹介しました。時系列の数字は、そのまま眺めても潮と波としぶきが混ざっています。割合にそろえ、ならし、ずらして比べることで、はじめて本当の動きが見えてきます。

今回のポイントを振り返りましょう。

振り返り

  • 成長率は増えた量を元の値で割る。指数化はスタートラインを100にそろえる。
  • 平均成長率は、倍率の幾何平均から求める。算術平均は高めに出る。
  • 時系列はトレンド・季節変動・不規則変動の重ね合わせ。周期に合わせた移動平均で季節の波を消せる。
  • 系列相関は自分自身とのずらした相関。コレログラムの山から周期を読む。

キーワードのおさらい

  • 成長率: 前の時点からの増加量を、前の時点の値で割った割合
  • 指数化: 基準の時点を100にして、他の時点の値を表すこと
  • 幾何平均: nn 個の値の積の nn 乗根
  • トレンド: 長い期間にわたる上昇や下降の流れ
  • 平滑化(移動平均): 隣り合う値の平均をとって、細かな上下をならすこと
  • 系列相関: 同じ系列を時点をずらして測った相関
  • コレログラム: ラグごとの系列相関を並べたグラフ

さて、ここまではデータが手元にあるものとして話を進めてきました。でも、そのデータはどうやって集めたものでしょうか? 「朝ごはんを食べる子は成績がよい」という結果があっても、集め方によって意味はまったく変わります。

次回は、データの集め方の基本である「観察研究と実験研究」について紹介します。

それでは、次の記事へ進んでいきましょう。

練習問題5問開いて挑戦する
問1. ある商品の売上が、1年目に20%増え、次の年に25%減った。この2年間の年平均成長率に最も近いものはどれか。
問2. 基準年の売上が80万円、ある年の売上が100万円のとき、基準年を100とした指数として正しいものはどれか。
問3. 月次の売上データから季節変動を取り除いてトレンドを見たい。最も適切な方法はどれか。
問4. データ 10, 6, 12, 4, 8 のラグ1の系列相関として正しいものはどれか。
問5. 月次データのコレログラムで、ラグ12とラグ24に大きな正の山が見られた。最も適切な解釈はどれか。