NTTドコモR&Dの技術ブログです。

平均値 vs 中央値 ~誤差が小さくなるのは?~

はじめに

はじめまして、NTTドコモ クロステック開発部の古田です。

普段はデータサイエンティストとして、ネットワークの通信品質データや位置情報データの分析をしています。

分析の中でデータを統計化する場面が多くあるのですが、データを代表する値として平均値を取るべきか中央値を取るべきか悩む時が多くあります。
そこで今回は、平均値を取る場合と中央値を取る場合ではどちらの方が誤差が小さくなるかを理論的に確認することにしました。

結論

まず先に結論を述べてしまいます。
結果として、外れ値について特段の仮定を置かない場合、
絶対誤差の期待値は「平均値を取る場合」が「中央値を取る場合」の約0.798倍になる
と分かりました。
下記の第1章~第5章で計算過程についてまとめます。

1. 問題設定

複数個のデータの代表値を考える際は一般的に以下のように言われていますが、実際のところどれぐらい効果が違うのか分かりません。

  • 平均値:誤差が小さくなりやすい
  • 中央値:外れ値の影響を受けづらくロバスト

そこで今回は、ある変数 X_{i} は、 X_{i} = X_{i, true} + \varepsilon_{i} のように真値 X_{i, true} と誤差項 \varepsilon_{i} からなり、
 \varepsilon_{1}, \varepsilon_{2}, \dots, \varepsilon_{n}, i.i.d. \sim \mathcal{N} (0, \sigma^{2}) と仮定します。
このとき、 n個のデータの「平均値を取る」場合と「中央値を取る」場合で絶対誤差の期待値にどのような違いが出るのかを確認していきます。

2. i番目の絶対誤差の期待値

まず i番目の絶対誤差の期待値がどのような値になるのかを確認します。
定義より、

 E(|\varepsilon_{i}|) = \int_{-\infty}^{\infty} |x| \frac{1}{\sqrt{2\pi}\sigma} \exp\left(-\frac{x^{2}}{2\sigma^{2}}\right)dx

 u = \frac{x}{\sigma}と置換すると以下のように計算できます。

 E(|\varepsilon_{i}|) = \sigma \int_{-\infty}^{\infty} |u| \frac{1}{\sqrt{2\pi}} e^{-u^{2}/2}du = \sigma \sqrt{\frac{2}{\pi}}

3. 平均値と中央値が最小化する対象

ここで、平均値と中央値はいったいどのような指標を最小化しているのかを確認しておきましょう。*1

平均値

二乗誤差 L_{2}を最小化する解として平均値 aが求まります。
 L_2(a) = E({(\boldsymbol{\varepsilon} - a)^{2}})

中央値

絶対誤差 L_{1}を最小化する解として中央値 aが求まります。
 L_1(a) = E({|\boldsymbol{\varepsilon} - a|})

正規分布は左右対称なので、母平均値と母中央値は一致します。 つまり理論上は、平均値 = 中央値 = 0 となり、どちらを使っても同じ代表値になります。

4. 有限標本での違い

しかし、母集団分布のパラメータが既知であることは少なく、標本から推定することが一般的です。

標本平均値を取る場合の誤差  \bar \varepsilonの期待値と分散

  •  \mathrm{E}(\bar \varepsilon) = 0
  •  \mathrm{Var}(\bar \varepsilon) = \frac{\sigma^{2}}{n}

標本中央値を取る場合の誤差  \tilde \varepsilonの期待値と分散

  •  \mathrm{E}(\tilde \varepsilon) = 0
  •  \mathrm{Var}(\tilde \varepsilon) \approx \frac{1}{4n f(0)^{2}} = \frac{\pi}{2} \frac{\sigma^{2}}{n}
    (∵正規分布  \mathcal{N}(0,\sigma^{2})では密度のピーク f(0)=\frac{1}{\sqrt{2\pi} \, \sigma}
    (漸近分散の導出については*2を参照)

標本平均値を取る場合と標本中央値を取る場合の絶対誤差の期待値の比較

上記から、

  • 標本平均値を取る場合の誤差  \bar \varepsilon\sim \mathcal{N}(0, \frac{\sigma^{2}}{n})
  • 標本中央値を取る場合の誤差  \tilde \varepsilon\sim \mathcal{N}(0, \frac{\pi}{2} \frac{\sigma^{2}}{n})

このように、同じサンプル数 nなら、 分散は、標本平均値を取る場合が標本中央値を取る場合の \frac{2}{\pi}\approx0.637倍であることが分かります。

絶対誤差の期待値はそれぞれ以下のように計算できます。

  • 標本平均値を取る場合  E(|\bar \varepsilon|)=\bar\sigma \sqrt{\frac{2}{\pi}}=\sqrt{\frac{\sigma^{2}}{n}} \sqrt{\frac{2}{\pi}}
  • 標本中央値を取る場合  E(|\tilde \varepsilon|)=\tilde\sigma \sqrt{\frac{2}{\pi}}=\sqrt{\frac{\pi}{2} \frac{\sigma^{2}}{n}} \sqrt{\frac{2}{\pi}}

よって、「標本平均値を取る場合  E(|\bar \varepsilon|)」÷ 「標本中央値を取る場合  E(|\tilde \varepsilon|)」を計算すると

 \frac{E(|\bar \varepsilon|)}{E(|\tilde \varepsilon|)}=\frac{\bar\sigma \sqrt{2/\pi}}{\tilde\sigma \sqrt{2/\pi}}=\frac{\sqrt{\sigma^{2}/n}}{\sqrt{\frac{\pi}{2} \cdot \sigma^{2}/n}}=\sqrt{\frac{2}{\pi}}\approx0.798であるため、

外れ値について特段の仮定を置かない場合、
絶対誤差の期待値は、標本平均値を取る場合が標本中央値を取る場合の約0.798倍になります。

5. まとめ

外れ値について特段の仮定を置かない場合、
絶対誤差の期待値は「平均値を取る場合」が「中央値を取る場合」の約0.798倍になると分かりました。

ただし、実際の分析においてはデータに当たり前のように外れ値は存在しており、平均値と中央値のどちらを取るべきかは慎重に検討すべきで、実際に計算してみるのが一番良い方法であることは変わりません。

6. 参考