移動平均

ノイズの多い正弦波 (青い曲線) を移動平均 (赤い曲線) で平滑化します。

統計学において、移動平均ローリング平均ランニング平均移動平均[ 1 ] )とは、データセット全体から異なる範囲の平均値を算出することでデータポイントを分析する計算方法です。移動平均には、単純平均累積平均加重平均などがあります。

数学的には、移動平均は畳み込みの一種です。したがって、信号処理においては、ローパス有限インパルス応答フィルタとして扱われます。ボックスカー関数がフィルタ係数を概説するため、ボックスカーフィルタと呼ばれます。ダウンサンプリングが後に続く場合もあります。

一連の数値と固定されたサブセットサイズが与えられた場合、移動平均の最初の要素は、数値系列の最初の固定サブセットの平均を取ることで得られます。次に、サブセットは「前方シフト」によって変更されます。つまり、系列の最初の数値を除外し、次の数値を追加します。

移動平均は、時系列データで短期的な変動を平滑化し、長期的な傾向やサイクルを浮き彫りにするためによく使用されます。この場合、計算は時間平均と呼ばれることもあります。短期と長期の閾値はアプリケーションによって異なり、移動平均のパラメータはそれに応じて設定されます。経済学では、国内総生産、雇用、その他のマクロ経済の時系列を調査するためにも使用されます。時系列以外のデータで使用される場合、移動平均は時間との具体的な関連性なしに高周波成分をフィルタリングしますが、通常は何らかの順序付けが暗黙的に行われます。単純に見ると、データの平滑化と見なすことができます。

歴史

移動平均線の手法は、 1833年にイングランド銀行が金準備金の状態を隠すために発明した。[ 2 ]

単純移動平均

金融分野における単純移動平均SMA)は、過去のデータポイントの重み付けされていない平均です。しかし、科学技術の分野では、平均は通常、中心値の両側にある同数のデータから算出されます。これにより、平均の変動が時間的にシフトするのではなく、データの変動と一致するようになります。{\displaystyle k}単純な均等重み移動平均の例としては、エントリを含むデータセットの最後のエントリの平均が挙げられます。これらのデータポイントを とします。これは株式の終値などです。最後のデータポイント(この例では日数)の平均は と表され、次のように計算されます。 {\displaystyle k}n{\displaystyle n}p1p2pn{\displaystyle p_{1},p_{2},\dots ,p_{n}}{\displaystyle k}SMA{\displaystyle {\textit {SMA}}_{k}}SMApn+1+pn+2++pn1n+1np{\displaystyle {\begin{aligned}{\textit {SMA}}_{k}&={\frac {p_{n-k+1}+p_{n-k+2}+\cdots +p_{n}}{k}}\\&={\frac {1}{k}}\sum _{i=n-k+1}^{n}p_{i}\end{aligned}}}

同じサンプリング幅で次の平均値を計算する際には、からまでの範囲が考慮されます。新しい値が合計に加算され、最も古い値が削除されます。これにより、前回の平均値 が再利用されるため、計算が簡素化されます。 つまり、FIFO/循環バッファ とわずか3つの演算ステップを使用することで、リアルタイムデータに対して移動平均フィルタを非常に低コストで計算できるということです。 SMA{\displaystyle {\textit {SMA}}_{k,{\text{next}}}}{\displaystyle k}n+2{\displaystyle n-k+2}n+1{\displaystyle n+1}pn+1{\displaystyle p_{n+1}}pn+1{\displaystyle p_{n-k+1}}SMA{\displaystyle {\textit {SMA}}_{k,{\text{prev}}}}SMA1n+2n+1p1pn+2+pn+3++pn+pn+1n+2n+1p+pn+1pn+101pn+1+pn+2++pnSMApn+1+pn+1SMA+1pn+1pn+1{\displaystyle {\begin{aligned}{\textit {SMA}}_{k,{\text{next}}}&={\frac {1}{k}}\sum _{i=n-k+2}^{n+1}p_{i}\\&={\frac {1}{k}}{\Big (}\underbrace {p_{n-k+2}+p_{n-k+3}+\dots +p_{n}+p_{n+1}} _{\sum _{i=n-k+2}^{n+1}p_{i}}+\underbrace {p_{n-k+1}-p_{n-k+1}} _{=0}{\Big )}\\&=\underbrace {{\frac {1}{k}}{\Big (}p_{n-k+1}+p_{n-k+2}+\dots +p_{n}{\Big )}} _{={\textit {SMA}}_{k,{\text{prev}}}-{\frac {p_{n-k+1}}{k}}+{\frac {p_{n+1}}{k}}\\&={\textit {SMA}}_{k,{\text{prev}}}+{\frac {1}{k}}{\Big (}p_{n+1}-p_{n-k+1}{\Big )}\end{aligned}}}

FIFO / 循環バッファの初期充填中は、サンプリング ウィンドウはデータ セットのサイズに等しくなり、平均計算は累積移動平均として実行されます。 n{\displaystyle k=n}

選択される期間 ( ) は、短期、中期、長期など、関心のある動きの種類によって異なります。 {\displaystyle k}

使用されるデータが平均値を中心としていない場合は、単純移動平均は最新のデータからサンプル幅の半分だけ遅れます。また、SMAは古いデータの欠落や新しいデータの流入によって不均衡な影響を受ける可能性があります。SMAの特徴の一つは、データに周期的な変動がある場合、その周期のSMAを適用することでその変動が除去されることです(平均は常に1つの完全な周期を含みます)。しかし、完全に規則的な周期に遭遇することは稀です。[ 3 ]

多くの用途において、「過去」のデータのみを使用することで生じるシフトを回避することは有利です。したがって、平均を計算する系列内の点の両側に等間隔に配置されたデータを用いて、中心移動平均を計算することができます。 [ 4 ]そのためには、サンプルウィンドウ内の点数を奇数にする必要があります。

SMAの大きな欠点は、ウィンドウ長よりも短い信号の大部分を通過させてしまうことです。これにより、データの谷があった場所に平滑化された結果のピークが現れるなど、予期せぬアーティファクトが発生する可能性があります。また、高周波成分の一部が適切に除去されないため、結果が予想よりも滑らかでないという問題も生じます。

その周波数応答は、 sinc-in-freqencyと呼ばれるローパス フィルターの一種です。

連続移動平均

積分可能な関数の連続移動平均は、積分によって次のように定義されます。 f:RR{\displaystyle f:\mathbb {R} \rightarrow \mathbb {R} }

Mfε:RR×12ε×ε×+εftdt{\displaystyle {\begin{array}{rl}M_{f,\varepsilon }:\mathbb {R} &\rightarrow \mathbb {R} \\x&\mapsto \displaystyle {\frac {1}{2\,\varepsilon }}\int _{x-\varepsilon }^{x+\varepsilon }f(t)\,dt\end{array}}}

ここで、周囲の環境は積分関数のグラフの平滑化の強度を定義します。 が大きいほど、関数の原グラフ(青)はより滑らかになります。以下のアニメーションは、 の異なる値に依存した移動平均のアニメーションを示しています  。 分数が使用されているのは、が積分の区間幅だからです。当然、微積分の基本定理ロピタルの定理により、 となります。 ε{\displaystyle \varepsilon }[×ε×+ε]{\displaystyle [x-\バレプシロン ,x+\バレプシロン ]}×{\displaystyle x}ε>0{\displaystyle \varepsilon >0}f{\displaystyle f}ε>0{\displaystyle \varepsilon >0}12ε{\displaystyle {\frac {1}{2\,\varepsilon }}}2ε{\displaystyle 2\,\varepsilon }limε0Mf, ε=f{\displaystyle \lim _{\varepsilon \to 0}M_{f,\ \varepsilon }=f}

累積平均

累積平均CA )では、データは順序付けられたデータストリームで到着し、ユーザーは現在のデータまでの全データの平均を取得したいと考えます。例えば、投資家は特定の株式について、現在時刻までの全取引の平均価格を求める場合があります。新しい取引が発生するたびに、その時点までの全取引について、その取引時点の平均価格を累積平均(通常は現在時刻までのn個の値のシーケンスの等加重平均)を使用して計算できます。 x1.,xn{\displaystyle x_{1}.\ldots ,x_{n}}CAn=x1++xnn.{\displaystyle {\textit {CA}}_{n}={{x_{1}+\cdots +x_{n}} \over n}\,.}

これを計算する強引な方法は、すべてのデータを保存し、新しいデータが到着するたびに合計を計算し、ポイント数で割るというものです。しかし、次の式を使って、新しい値が利用可能になった ときに累積平均を更新するだけで済みます。xn+1{\displaystyle x_{n+1}}CAn+1=xn+1+nCAnn+1.{\displaystyle {\textit {CA}}_{n+1}={{x_{n+1}+n\cdot {\textit {CA}}_{n}} \over {n+1}}.}

したがって、新しいデータに対する現在の累積平均は、前回の累積平均にnを掛け、最新のデータを加えたものを、それまでに受信したポイント数n + 1 で割った値に等しくなります。すべてのデータが到着すると ( n = N )、累積平均は最終平均と等しくなります。また、データの合計とポイント数を保存し、新しいデータが到着するたびに、その合計をポイント数で割ることで CA を取得することもできます。

累積平均の公式の導出は簡単です。 そしてn + 1 についても同様に用いると、 x1++xn=nCAn{\displaystyle x_{1}+\cdots +x_{n}=n\cdot {\textit {CA}}_{n}}xn+1=(x1++xn+1)(x1++xn){\displaystyle x_{n+1}=(x_{1}+\cdots +x_{n+1})-(x_{1}+\cdots +x_{n})}xn+1=(n+1)CAn+1nCAn{\displaystyle x_{n+1}=(n+1)\cdot {\textit {CA}}_{n+1}-n\cdot {\textit {CA}}_{n}}

この方程式を解くと、 CAn+1{\displaystyle {\textit {CA}}_{n+1}}CAn+1=xn+1+nCAnn+1=xn+1+(n+11)CAnn+1=(n+1)CAn+xn+1CAnn+1=CAn+xn+1CAnn+1{\displaystyle {\begin{aligned}{\textit {CA}}_{n+1}&={x_{n+1}+n\cdot {\textit {CA}}_{n} \over {n+1}}\\[6pt]&={x_{n+1}+(n+1-1)\cdot {\textit {CA}}_{n} \over {n+1}}\\[6pt]&={(n+1)\cdot {\textit {CA}}_{n}+x_{n+1}-{\textit {CA}}_{n} \over {n+1}}\\[6pt]&={{\textit {CA}}_{n}}+{{x_{n+1}-{\textit {CA}}_{n}} \over {n+1}}\end{aligned}}}

加重移動平均

加重平均とは、サンプルウィンドウ内の異なる位置にあるデータに異なる重みを与える乗算係数を持つ平均です。数学的には、加重移動平均は、固定の重み関数によるデータの畳み込みです。応用例の一つとして、デジタルグラフィック画像からピクセル化を除去することが挙げられます。これはアンチエイリアシングとも呼ばれます。

金融分野、特に金融データの分析において、加重移動平均(WMA)は等差数列で重みが減少するという特別な意味を持ちます。[ 5 ] n日間のWMAでは、最新の日がnの重みを持ち、2番目に新しい日がnの重みを持ち、以下同様に1まで重みが減ります。 n1{\displaystyle n-1}

WMAM=npM+(n1)pM1++2p((Mn)+2)+p((Mn)+1)n+(n1)++2+1{\displaystyle {\text{WMA}}_{M}={np_{M}+(n-1)p_{M-1}+\cdots +2p_{((M-n)+2)}+p_{((M-n)+1)} \over n+(n-1)+\cdots +2+1}}

WMA重みn = 15

分母は、に等しい三角数です。より一般的なケースでは、分母は常に個々の重みの合計になります。 n(n+1)2.{\textstyle {\frac {n(n+1)}{2}}.}

連続する値にわたってWMAを計算する場合、 と の分子の差はとなる。和をとすると、 WMAM+1{\displaystyle {\text{WMA}}_{M+1}}WMAM{\displaystyle {\text{WMA}}_{M}}npM+1pMpMn+1{\displaystyle np_{M+1}-p_{M}-\dots -p_{M-n+1}}pM++pMn+1{\displaystyle p_{M}+\dots +p_{M-n+1}}TotalM{\displaystyle {\text{Total}}_{M}}

TotalM+1=TotalM+pM+1pMn+1NumeratorM+1=NumeratorM+npM+1TotalMWMAM+1=NumeratorM+1n+(n1)++2+1{\displaystyle {\begin{aligned}{\text{Total}}_{M+1}&={\text{Total}}_{M}+p_{M+1}-p_{M-n+1}\\[3pt]{\text{Numerator}}_{M+1}&={\text{Numerator}}_{M}+np_{M+1}-{\text{Total}}_{M}\\[3pt]{\text{WMA}}_{M+1}&={{\text{Numerator}}_{M+1} \over n+(n-1)+\cdots +2+1}\end{aligned}}}

右のグラフは、最新のデータにおける重みの最高値からゼロまで、重みがどのように減少していくかを示しています。これは、後続の指数移動平均における重みと比較することができます。

指数移動平均

指数移動平均(EMA)は、指数加重移動平均(EWMA)とも呼ばれ、[ 6 ]は、指数的に減少する重み係数を適用する一次無限インパルス応答フィルタです。古いデータに対する重みは指数的に減少し、決してゼロになることはありません。この定式化はHunter (1986) に基づいています。[ 7 ]

EWMAの多変量実装としてMEWMAも存在する。[ 8 ]

その他の重み付け

他の加重システムが時々使用されます。たとえば、株式取引では、出来高加重により、各期間が取引量に比例して加重されます。

アクチュアリーが用いるもう一つの加重法は、スペンサーの15点移動平均[ 9 ](中心移動平均)である。その対称的な加重係数は[−3, −6, −5, 3, 21, 46, 67, 74, 67, 46, 21, 3, −5, −6, −3]であり、これは以下のように表される[1, 1, 1, 1]×[1, 1, 1, 1]×[1, 1, 1, 1, 1]×[−3, 3, 4, 3, −3]/320そして、二次多項式または三次多項式のサンプルは変更されません。[ 10 ] [ 11 ]

金融分野以外では、加重移動平均は様々な形態と用途で利用されています。それぞれの加重関数、つまり「カーネル」は独自の特性を持っています。工学や科学においては、特定のフィルタがデータに適用する望ましい歪みと望ましくない歪みを理解する上で、フィルタの周波数応答と位相応答がしばしば極めて重要になります。

平均値は単にデータを「平滑化」するだけではありません。平均値は一種のローパスフィルタです。適切なフィルタを選択するためには、使用するフィルタの効果を理解する必要があります。

移動中央値

統計的な観点から見ると、移動平均は時系列の基調的な傾向を推定するために用いられる場合、急激なショックやその他の異常といった稀な事象の影響を受けやすい。より堅牢な傾向の推定法は、n時点 における単純移動中央値である。 ここで中央値は、例えば括弧内の値をソートし、中央の値を見つけることで求められる。nが大きい場合、インデックス可能なスキップリストを更新することで中央値を効率に計算することができる。[ 12 ]p~SM=Median(pM,pM1,,pMn+1){\displaystyle {\widetilde {p}}_{\text{SM}}={\text{Median}}(p_{M},p_{M-1},\ldots ,p_{M-n+1})}

統計的には、トレンドの変動が正規分布している場合、移動平均は時系列の根本的なトレンドを回復するのに最適です。しかし、正規分布はトレンドからの非常に大きな偏差の確率を高く設定しないため、そのような偏差はトレンドの推定に不釣り合いに大きな影響を及ぼします。変動がラプラス分布であると仮定すると、移動中央値が統計的に最適であることが示されます。[ 13 ]与えられた分散に対して、ラプラス分布は正規分布よりもまれなイベントの確率を高く設定するため、移動中央値は移動平均よりもショックに耐性があります。

上記の単純移動中央値が中心の場合、平滑化は画像信号処理などに応用されている中央値フィルタと同一です。時系列の基底トレンドを推定する場合、移動中央値は移動平均よりも堅牢な代替手段となります。移動平均は、トレンド周辺の変動が正規分布している場合にトレンドを回復するのに最適ですが、突発的なショックや異常などの稀なイベントの影響を受けやすくなります。一方、時間ウィンドウ内の値をソートし、中央の値を見つけることで求められる移動中央値は、そのような稀なイベントの影響を受けにくくなります。これは、与えられた分散に対して、移動中央値が想定するラプラス分布は、移動平均が想定する正規分布よりも稀なイベントの発生確率が高いためです。その結果、移動中央値は、時系列がトレンドからの大きな逸脱の影響を受ける場合でも、基底トレンドのより信頼性が高く安定した推定値を提供します。さらに、移動メディアン平滑化はメディアン フィルターと同一であり、画像信号処理でさまざまな用途に使用されます。

移動平均回帰モデル

移動平均回帰モデルでは、対象変数は観測されていない独立した誤差項の加重移動平均であると想定されます。移動平均の重みは推定されるパラメータです。

これら 2 つの概念は、名前のせいで混同されることがよくありますが、多くの類似点がある一方で、それぞれ異なる方法を表し、非常に異なるコンテキストで使用されます。

参照

参考文献

  1. ^コスムネス川氾濫原の水文学的変動(ブース他、サンフランシスコ河口・流域科学、第4巻第2号、2006年)
  2. ^クライン、ジュディ・L. (1997年10月28日). 『Statistical Visions in Timeケンブリッジ大学出版局. p. 88. ISBN 9780521420464
  3. ^統計分析、ヤルン・チョウ、ホルト・インターナショナル、1975年、 ISBN 0-03-089422-0、セクション17.9。
  4. ^単純中心移動平均の導出と特性については、 Savitzky–Golayフィルターで詳しく説明されています。
  5. ^ 「加重移動平均:基本」 Investopedia。
  6. ^ 「測定ノイズへの対処 - 平均化フィルタ」2010年3月29日時点のオリジナルよりアーカイブ2010年10月26日閲覧。
  7. ^ NIST/SEMATECH 統計手法の電子ハンドブック:米国国立標準技術研究所
  8. ^ Yeh, A.; Lin, D.; Zhou, H.; Venkataramani, C. (2003). 「プロセス変動のモニタリングのための多変量指数加重移動平均管理図」(PDF) . Journal of Applied Statistics . 30 (5): 507– 536. Bibcode : 2003JApSt..30..507Y . doi : 10.1080/0266476032000053655 . ISSN 0266-4763 . 2025年1月16日閲覧. 
  9. ^スペンサーの15ポイント移動平均 — Wolfram MathWorldより
  10. ^ Rob J Hyndman. 「移動平均」. 2009年11月8日. 2020年8月20日にアクセス.
  11. ^ Aditya Guntuboyina. 「統計学153(時系列):講義3」2012年1月24日。2024年1月7日にアクセス。
  12. ^ 「インデックス可能なスキップリストを使用した効率的な実行メディアン « Python レシピ « ActiveState コード」
  13. ^ GR Arce、「非線形信号処理:統計的アプローチ」、Wiley:ニュージャージー、米国、2005年。