読者です 読者をやめる 読者になる 読者になる

Diary over Finite Fields

515ひかるが書き溜めたメモとコラムと雑記

気が向いたので中央値を解説する

中央値について

なぜか突然、中央値について書こうと思ったので書くことにした。中央値くらい統計学の入門書を開けばほぼ100%書いてあると思うが、それでもなんとなく書いてみることにした。

中央値ってなに

中央値というのは、その名の通り「真ん中の値」である。こういうのは簡単な例を見せたほうが意味が分かるので簡単な例を書く。

形式的な例だが、 {1, 3, 5, 7, 9} という 5 つの数が会ったとする。このときの真ん中の値は当然 {5} である。この場合は最初から小さい順に並んでいるので真ん中の値がわかりやすい。しかし、たとえ並び順が変わっても、{3,9,1,5,7} とかになっていても、「大きさで比べたときの真ん中の値は何」*1と問われれば {5} と答えるだろう。つまり、それが中央値だということだ。

ちなみに、データの数が偶数個あるときは真ん中がないので少し工夫する必要がある。

たとえば、 {2, 4, 6, 8, 10, 12} の真ん中の値は {6}{8} だろう。どちらも「左から」3番目の数と「右から」3番目の数であり、真ん中の値をどちらかに決定することはできない。こういうときは、この左から数えた真ん中と右から数えた真ん中のさらに真ん中を考える。難しいことはない、平均値にするだけだ。つまり、上の例での中央値は {6}{8} の間をとって、 {(6 + 8)/ 2 = 7} と定義するというわけだ。

整理

これを少し記号を使って書くと次のような形になる: データ {X = (x_1, x_2, \dots, x_N)} があったとき、

  • {N} が奇数ならばデータ {X} の要素を小さい順に並べたときの {(N + 1) / 2} 番目の値。
  • {N} が偶数ならばデータ {X} の要素を小さい順に並べたときの {N / 2} 番目と {(N / 2) + 1} 番目の 2 つの値の平均。

なぜ中央値を使うのか

「平均」だけではあてにならないという話はそこかしこでなされている。平均はデータのもつ値により重みが異なるために、ひとつのデータが過剰に平均値を押し上げる(あるいは押し下げる)ことが起こりうる。

平均値は食事の割り勘でも使うような身近な概念であるが、例えば一人の人が1万円の食事をし、5人が3,500円の食事をしたとき、この割り勘の額はだいたい 4,600円になる。5人の人は実際の額より 1,000 円以上払わされることになり、逆に 1 万円の食事をした人は 5,000 円以上得をすることになる。

この例での 3,500 円の集団とは離れている、少数の値(上の例で言うと10,000万円)を「外れ値」と呼んだりする。

このように、平均は計算も簡単でだいたい真ん中が分かるので便利であるが、本当の真ん中を知る時には平均についている余分な「重み」が邪魔になることがある。それを排したのが中央値ということだ。

中央値は上位(あるいは下位)の外れ値も、多くのデータが集まっている部分もすべて平等に「ひとつのデータ」として扱うので、平均よりは中央値のほうが真ん中に近い “可能性が高い”“*2

じゃあいつも中央値使えばいいのでは

上の記述を読み、だったら平均を使わず中央値をいつも使えば良いと思うかもしれない。しかし、そもそも注釈にも書いたように中央値が万能であるわけではないし、計算量の問題もある。平均を計算するのは結構簡単なのだが、中央値を計算するのは平均を計算するよりは計算量がかかる。

これは計算機でやってみても明らかだが*3、自分の脳でちょっとやろうとしてみると分かると思う。もし 4 人とかで食事をすることがあれば、割り勘をするのと、 4 人の中で食事代金の中央値を出すのとどちら時間がかかるか*4

まとめ

  • 平均値は知ってると思うけれど中央値というものもある。
  • 中央値は平均値よりも「真ん中の値」としての説得力が高いことが多いです。
  • でも中央値を計算するのは平均を計算するよりも面倒です。

ここまで書いておいてあれだけど、特に言いたいことがあるわけではない。

おしまい。

書籍

この記事を書く上で参考にした書籍というわけでもないですが、『数学ガールの秘密ノート やさしい統計』は普通におすすめです。

数学ガールの秘密ノート/やさしい統計 (数学ガールの秘密ノートシリーズ)

数学ガールの秘密ノート/やさしい統計 (数学ガールの秘密ノートシリーズ)

*1:配置的にはこの例の場合は 1 が真ん中である。

*2:ここでわざわざ可能性が高いだけであると強調したのは、以下のような極端な例が存在するからである: クラス40人のうちある試験で20人が零点をとり20人が100点を取った場合、中央値も平均値も50点である。この場合はそもそも'真ん中'にはほとんどデータが分布していない(2極化したデータともいう)。このようなデータには平均値も中央値も無力である。

*3:もしプログラムを書いたことがあるなら、平均を計算するコードと中央値を計算するコードをライブラリとか使わずに書いてみれば分かると思う。

*4:全員が同じ額の食事を頼んだりすると明らかだし、居酒屋とかで完全に人の食べた量を把握するのは難しいので案外機会がないかもしれないが。