毎日の売上や株価のグラフはギザギザに揺れていて、そのままでは傾向がつかめません。そこで「直近の数日分を平均した値」を毎日ずらしながら計算していくと、ノイズがならされて大きな流れが見えてきます。これが移動平均です。本記事では、移動平均の仕組み、窓の幅による見え方の違い、単純移動平均と指数移動平均の使い分けをやさしく解説します。
📖 ひと言でいうと
移動平均とは、時系列データに対して「直近の一定期間(窓)」の平均を、窓を1つずつずらしながら次々に計算していく手法です。細かい変動(ノイズ)をならして、データの大きな傾向(トレンド)を見やすくする平滑化の代表的な方法です。
例えるなら、ギザギザの手書き線の上から太いマーカーでなぞるようなものです。細かい震えは塗りつぶされて見えなくなり、線が全体としてどちらに向かっているかだけが浮かび上がります。
🖼 1枚でわかる移動平均
📘 公式テキストの説明
移動平均 は本書の章節記事では正式な定義段落が用意されていません。以下は、シラバスの位置づけと関連用語から再構成した補足解説です。
移動平均は、G検定シラバスでは「AIに必要な数理・統計知識」の章に、確率分布・期待値・標準偏差などの統計の基礎用語と並んで登場します。統計・データ分析の道具箱の中では「時系列データの前処理・可視化」を受け持つ基本手法、という位置づけで理解しておきましょう。
🔍 しっかり理解する
計算のしくみ:窓をずらしながら平均する
移動平均の計算はとても素朴です。例えば「5日移動平均」なら、各日について「その日を含む直近5日間の平均」を計算します。
数値例で確かめましょう。ある店の売上が「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つずらして繰り返すだけなので、手を動かして慣れておきましょう。
- 窓幅のトレードオフ(広い=滑らかだが反応が遅い/狭い=敏感だがノイズが残る)は、正誤判定の題材になり得ます。
- 単純移動平均と指数移動平均の違い(等しい重みか、直近ほど重い重みか)も区別できるようにしておきましょう。
📚 まとめ
- 移動平均は、窓をずらしながら一定期間の平均を計算し、時系列データを平滑化する基本手法です。
- ノイズをならしてトレンドを浮かび上がらせるのが目的で、株価チャートや需要予測などで広く使われます。
- 窓幅には「滑らかさ」と「変化への反応の速さ」のトレードオフがあり、目的に応じて選びます。
- 単純・加重・指数移動平均は「直近のデータをどれだけ重視するか」の違いです。
- 特徴量として使う際は、未来の値を含めないよう計算時点に注意が必要です(データリーケージ防止)。
