とあるお兄さんの雑記

基本的に技術系の内容を書きますが、何を書くかは私の気分です。

統計学における基礎的な用語集vol.3~代表値について~

統計学における基礎的な用語集をまとめまています。

代表値

数値からなるデータを端的に表す値のこと。平均値・中央値・最頻値のことを指す。

平均値 (mean)

全てのデータの値 (x_1, x_2, \dots, x_n)を足してデータの数で割ったもの。各データの値を x_i、データの数を n とすると、

 \displaystyle \overline{x} = \frac{x_1+ x_2 + \dots +  x_n }{n}

で計算できる。( \displaystyle \overline{x}は平均を意味します。)

ちなみに、 データが度数分布で与えられた場合でもおおよその平均を算出することが可能です。各階級値の値を f_i、その階級の個数を v_i(i = 1, 2, \dots, m)としたとき、計算式は 、

 \displaystyle \overline{x} = \frac{f_1 \times v_1 + f_2 \times v_2 + \dots + f_m \times v_m}{v_1 + v_2 + \dots + v_m}

で表される。

平均値は全体を平らにならした感じ、とでも言うのでしょうか?実際、いろいろなところでよく見るかと思います。

中央値 (median)

データを小さい順(昇順)に並べたときにちょうど真ん中に来る値のこと。データの個数が奇数か、偶数かで中央値の求め方が変わる。n1以上の自然数として、

  • 奇数個(2n-1)の場合 → 下から \displaystyle \frac{(2n-1) + 1}{2} = n番目が中央値
    例.  \{1, 2, 3, 4, 5\} 3が中央値

  • 偶数個(2n)の場合 → 下から n番目の値と (n+1)番目の値を足して2で割った値が中央値
    例.  \{1, 2, 3, 4, 5, 6\} \displaystyle \frac{3 + 4}{2} = 3.5が中央値

中央値が分かれば、その値を基準に上位 50\%か、それとも下位 50\%か、データを2つに分割することが出来ます。

最頻値 (mode)

最もデータの多い値のこと。
例. \{2, 2, 3, 4, 5, 5, 5, 6, 7, 8\}5が三つとデータの中で最も出現頻度が多いので、このデータの最頻値は5になります。ちなみに、 \{1, 2, 3, 4, 5\}のようにデータの値が一つずつしか出現しない場合は、最頻値はありません

年収を例にした場合の代表値

年収を例に代表値について考えてみましょう。
平均年収が500万円と言われ、「そんな高いわけないだろ!」と憤る方をテレビで見たことがあります(バラエティ番組です)。一方、年収が200万~300万ならだいたいの方は当てはまるのではないでしょうか?(年収における最頻値は100万円ごとの区切りで集計されているものと考えます。)


では、なぜ平均年収と実際の年収の体感がこんなに違うかというと大金持ちも含めて計算されているからです。例えば、次のようなデータを考えます。

 \{1, 1, 2, 2, 2 ,2 , 3, 3, 3, 4, 4, 100\}

この時の平均値は 10.58、中央値は \displaystyle \frac{2+3}{2} = 2.5、最頻値は 2です。

見て分かる通り、平均値だけずれた値を取っているように感じます。これはデータの中の大きな値(今回のデータで言えば 100)が原因です。


年収もこれと同じで数は少ないけれども、大金持ちのせいで平均値が感覚よりずれてしまっているのです。大切なのは、代表値のうち一つの値だけで判断するのは危険だということです。他の値も算出するなどして、代表値に振り回されないようにしましょう。

余談ですが、年収の中央値が分かると、自分が上位50\%に入っているかどうかも分かりますね。

代表値の並び順

代表値がどのような順番で並ぶか見てみましょう。

左に偏っている場合

分布が左右非対称で、左に偏っている(専門用語:右に裾を引いている)場合、
最頻値<中央値<平均値
で並ぶことが多い(あくまで多いです。常にこうなるとは限りません)。

f:id:kurasher:20200520011954p:plain
右に裾を引いている場合の分布と代表値のおおまかな位置

右に偏っている場合

分布が左右非対称で、右に偏っている(専門用語:左に裾を引いている)場合、
平均値<中央値<最頻値
で並ぶことが多い(あくまで多いです。常にこうなるとは限りません)。

f:id:kurasher:20200520012056p:plain
左に裾を引いている場合の分布と代表値のおおまかな位置

Pythonで代表値を求める

Pythonを例に代表値を求めてみましょう。データはKaggleのHouse Pricesです。Pandasが必要になりますので、あらかじめ入れておきましょう。

  • データの読み込み
import pandas as pd
train = pd.read_csv("train.csv", encoding = "utf-8")


- 平均値の求め方

train.mean()

これで平均値を求めることが出来ます。文字情報については勝手に省いて計算してくれます。中央値、最頻値に関してもほぼ同様にして求められます。

f:id:kurasher:20200520015853p:plain
train.mean()の実行結果(途中略)


- 中央値の求め方

train.median()


- 最頻値の求め方

train.mode()


データ全体の値を一気に算出したい場合はdescribe()というメソッドを使います。

train.describe()

これを実行すると、以下のような結果が得られます。

f:id:kurasher:20200520020322p:plain
train.describe()の実行結果(途中省略)

それぞれの言葉の意味は次の通りです。

意味
count データの個数
mean 平均値
std 標準偏差
min 最小値
 25\% 25\%目にあたるデータ(第一四分位のこと)
 50\% 50\%目にあたるデータ(中央値のこと)
 75\% 75\%目にあたるデータ(第三四分位のこと)
max 最大値

コラム:単峰性と多峰性

代表値の並び順で分布を見ましたが、このように分布の山(頂点)が一つのものを単峰性といいます。一方、2つ以上の山がある場合を多峰性といい、特に分布の山が2つのものを2峰性と言います。

f:id:kurasher:20200520013206p:plain
多峰性の分布の例。山が2つある。

データを集めてきたときに、分布が多峰性になる場合があるかと思います。この場合、何かしらの原因があって多峰性の分布になっていますので、なぜ多峰性の分布になってしまったのかをしっかり分析しなければなりません。

まとめ

今回は代表値についてまとめました。データ分析をする際は代表値を出すことも重要です。しかし、コラムでも述べたようにデータの分布が多峰性になっている場合もあります。そのため、代表値を求めるとともにデータの分布を可視化して実際にデータの分布を見ることも重要になります。