毎日の売上や株価のグラフはギザギザに揺れていて、そのままでは傾向がつかめません。そこで「直近の数日分を平均した値」を毎日ずらしながら計算していくと、ノイズがならされて大きな流れが見えてきます。これが移動平均です。本記事では、移動平均の仕組み、窓の幅による見え方の違い、単純移動平均と指数移動平均の使い分けをやさしく解説します。

📖 ひと言でいうと

移動平均とは、時系列データに対して「直近の一定期間(窓)」の平均を、窓を1つずつずらしながら次々に計算していく手法です。細かい変動(ノイズ)をならして、データの大きな傾向(トレンド)を見やすくする平滑化の代表的な方法です。

例えるなら、ギザギザの手書き線の上から太いマーカーでなぞるようなものです。細かい震えは塗りつぶされて見えなくなり、線が全体としてどちらに向かっているかだけが浮かび上がります。

🖼 1枚でわかる移動平均

移動平均
  • 定義 — 一定期間の平均を、期間をずらしながら計算していく手法
  • 目的 — ノイズをならして時系列データのトレンドを可視化(平滑化)
  • 窓の幅 — 広いほど滑らかだが変化への反応が遅れる
  • 主な種類 — 単純移動平均(等しい重み)/加重・指数移動平均(直近を重視)
  • 用途 — 株価チャート・需要予測・時系列データの前処理など
つくもち屋「G検定対策」SUMMARY

📘 公式テキストの説明

移動平均 は本書の章節記事では正式な定義段落が用意されていません。以下は、シラバスの位置づけと関連用語から再構成した補足解説です。

移動平均は、G検定シラバスでは「AIに必要な数理・統計知識」の章に、確率分布・期待値・標準偏差などの統計の基礎用語と並んで登場します。統計・データ分析の道具箱の中では「時系列データの前処理・可視化」を受け持つ基本手法、という位置づけで理解しておきましょう。

🔍 しっかり理解する

計算のしくみ:窓をずらしながら平均する

移動平均の計算はとても素朴です。例えば「5日移動平均」なら、各日について「その日を含む直近5日間の平均」を計算します。

窓を決める
例: 直近5日分
窓内を平均
5日分の値の平均を計算
1つずらす
翌日分の窓で同じ計算を繰り返す
滑らかな系列
つなぐとトレンドが見える

数値例で確かめましょう。ある店の売上が「10, 12, 8, 11, 14, 9, 13」(万円)と推移したとします。3日移動平均は、(10+12+8)/3=10.0、(12+8+11)/3=10.3、(8+11+14)/3=11.0、(11+14+9)/3=11.3、(14+9+13)/3=12.0 となります。元データは上下に揺れていますが、移動平均は「緩やかに増加している」というトレンドをはっきり示します。1日ごとの偶然の揺れ(ノイズ)が、平均によって打ち消し合うためです。

窓の幅のトレードオフ:滑らかさと反応の速さ

移動平均で最も重要な設計判断が、窓の幅(何期間分を平均するか)です。

💡 ポイント
  • 窓が広い(例: 25日): ノイズがよくならされて滑らかになり、長期トレンドの把握に向きます。その代わり、急な変化が現れてもなかなか数値に反映されず、反応が遅れます。
  • 窓が狭い(例: 5日): 直近の変化に敏感に反応しますが、ノイズも残りやすくなります。

つまり「滑らかさ」と「変化への追従の速さ」はトレードオフの関係にあり、目的に応じて窓幅を選ぶ必要があります。また、移動平均は過去の値の平均なので、トレンドの転換点は元データより遅れて現れる(遅行する)という性質も押さえておきましょう。

種類:直近をどれだけ重視するか

平均の取り方によって、いくつかの変種があります。

種類 重みの付け方 特徴
単純移動平均(SMA) 窓内の全データに等しい重み 最も基本。計算が簡単
加重移動平均(WMA) 新しいデータほど大きい重み(直線的) 直近の変化を反映しやすい
指数移動平均(EMA) 新しいデータほど大きい重み(指数的に減衰) 直近を最重視しつつ過去全体も少しずつ反映

「古い情報と新しい情報のどちらをどれだけ信じるか」の設計だと考えると、違いが理解しやすくなります。指数移動平均の考え方(指数平滑化)は、深層学習の最適化手法(モメンタムなど)で勾配の履歴をならすのにも使われており、統計を超えてAIの中でも活躍する発想です。

💡 具体例で考える

株価チャートの移動平均線

移動平均が最も身近に見られるのは株価チャートです。日々の終値は細かく上下しますが、5日・25日・75日といった移動平均線を重ねると、短期・中期・長期のトレンドが一目で分かります。短い移動平均線が長い移動平均線を下から上に突き抜ける現象は「ゴールデンクロス」と呼ばれ、上昇トレンドへの転換のサインとして参照されます。窓幅の違う移動平均を並べることで、時間スケールごとの流れを比較できる好例です。

需要予測の前処理としての平滑化

小売の需要予測でも移動平均は基本の道具です。日別の販売数は天候やたまたまの大口購入で大きく揺れるため、そのままモデルに学習させるとノイズに振り回されます。7日移動平均を特徴量にすれば、曜日による周期変動をならした「基調的な売れ行き」を捉えられます。ただしここで注意が必要です。予測モデルの特徴量として使う場合、「その時点までに確定しているデータだけ」で移動平均を計算しなければなりません。未来の値を含む窓で計算すると、本来知り得ない情報が混入するデータリーケージになります。

⚠️ よくある誤解・紛らわしい用語

💡 ポイント
  • 通常の平均(全体平均)との違い — 全データを1つの値に要約するのが通常の平均、窓をずらしながら平均の「系列」を作るのが移動平均です。移動平均は時系列の形を保ったまま滑らかにします。
  • 「窓は広いほど良い」わけではない — 広い窓は滑らかですが変化への反応が遅れます。目的(長期トレンド把握か、直近の変化検知か)に応じた選択が必要です。
  • 移動平均は遅行する — 過去の平均である以上、急上昇・急降下の始まりは元データより遅れて現れます。転換点の即時検知には不向きです。
  • 時系列モデルの「MA(移動平均)過程」との混同 — ARIMAなどに出てくるMA過程は「過去の誤差項の組み合わせで現在値を表すモデル」で、ここで説明した平滑化の移動平均とは別の概念です。名前が同じでも中身が違う点に注意しましょう。

📝 試験でのポイント

💡 ポイント
  • 「一定期間の平均を期間をずらしながら計算し、時系列データを平滑化する手法」という定義の理解が基本です。ノイズ除去・トレンド把握という目的とセットで覚えましょう。
  • 短い数値列から3日移動平均などを実際に計算させる形式が想定されます。窓内の平均を取り、1つずらして繰り返すだけなので、手を動かして慣れておきましょう。
  • 窓幅のトレードオフ(広い=滑らかだが反応が遅い/狭い=敏感だがノイズが残る)は、正誤判定の題材になり得ます。
  • 単純移動平均と指数移動平均の違い(等しい重みか、直近ほど重い重みか)も区別できるようにしておきましょう。

📚 まとめ

💡 ポイント
  • 移動平均は、窓をずらしながら一定期間の平均を計算し、時系列データを平滑化する基本手法です。
  • ノイズをならしてトレンドを浮かび上がらせるのが目的で、株価チャートや需要予測などで広く使われます。
  • 窓幅には「滑らかさ」と「変化への反応の速さ」のトレードオフがあり、目的に応じて選びます。
  • 単純・加重・指数移動平均は「直近のデータをどれだけ重視するか」の違いです。
  • 特徴量として使う際は、未来の値を含めないよう計算時点に注意が必要です(データリーケージ防止)。