度数分布表・ヒストグラムと各種代表値の導出について色々

背景

最近統計学検定2級取得に向けて勉強してるのだが、 過去問とかを見る限り頻出(というかほぼ100%出る)問題っぽいので 理解を深めるためにまとめてみよう的なモチベーションでこの記事を書いている次第である。

目次

0. 使用データ
1. 度数分布表、ヒストグラム
2. 階級数の決め方
3. 期待値、分散、標準偏差、中央値

使用データ

今回、度数分布表とヒストグラムを作成する上で使用したデータは以下の通り。

www.kaggle.com

Udemyの特定分野(Business Finance、Graphic Design、Musical Instrument、Web Design)の講座に関する 受講料金、受講者数、レビュー数などがCSV形式ファイルで提供されている。
今回使用するのは各講座の受講料金データのみで、その他の列の値にはノータッチ。

度数分布表、ヒストグラム

概要

度数分布表とは、データの取りうる範囲をいくつかの区画(階級)に分けたときの 各階級に含まれるデータ数(度数)をまとめた表のことである。 また、度数分布表をグラフ化したものをヒストグラムという。

f:id:yutakata_log:20200529203904p:plain

(左側)Udemy講座の受講料金の度数分布表 (右側)Udemy講座の受講料金のヒストグラム
階級値・・・階級を代表する値(通常は階級内の中央の値が階級値となる)
度数・・・階級に含まれるデータの個数
相対度数・・・データの総数を1としたときの階級に含まれるデータの個数
累積度数・・・1番上の階級から各階級までの相対度数の累積和

級数の決め方

級数を決める時の指標として、以下のスタージェスの公式が知られているらしい。

スタージェスの公式
データの総数を Nとしたとき、階級数 kの目安は

 \displaystyle
k = \log_{2}N + 1
となる

上記のUdemy講座受講料金を例にすると、データの総数は3678なので、階級数 k


\begin{aligned}
k &= \log_{2}3678 + 1 \\
   &= 12.844 \cdots \\
   &\approx 13
\end{aligned}

となる。
スタージェスの公式の有用性については今後(時間があったら)調べていく方針。

期待値、分散、標準偏差値、中央値

上記のような度数分布表のみが与えられている時、期待値、分散、標準偏差値、中央値は以下の計算式で近似的に導出される。

  • 期待値 E[X]
    階級 iにおける階級値を x_i、相対度数を g_iとしたとき、期待値 E[X]

\begin{aligned}
E [ x ] &= \sum_{i=1}^{13} x_i g_i \\
            &= 7.5 \times 0.08 + 23.0 \times 0.31 + \cdots + 192.5 \times 0.12 \\
            &= 65.925
\end{aligned}



\begin{aligned}
V \left[ x \right] &= E \left[ (X-E[ X])^2\right] \\
             &= E \left[ X^2 \right] - (E \left[ X \right])^2 \\
             &= \sum_{i=1}^{13} {x_i}^2 g_i - \left( 65.925 \right)^2 \\
             &= 7769.2775 - 4346.105625 \\
             &= 3423.171875
\end{aligned}



\begin{aligned}
D \left[ X \right] &= \sqrt{V \left[ X \right]}  \\
             &= \sqrt{3423.171875} \\
             &= 58.5078\cdots
\end{aligned}


* 中央値 M(X)
中央値が含まれる階級を i、その階級における最大値・最小値を max(i), min(i)、累積相対度数を h_iとすると、 中央値 M(X)

 
\begin{aligned}
M(X) &= min(i) + \left(max(i) - min(i)\right) \times \frac{h_i - 0.50}{h_i - h_{i - 1}} \\
          &= 31 + (46-31) \times \frac{0.51 - 0.50}{0.51 - 0.40} \\
          &= 32.363636\cdots
\end{aligned}

平均、分散、標準偏差、中央値の計算すべてに階級値を使っているため、当然これらの値は真値からずれた値となる。 ちなみに、上記計算式で導出した近似値と真の値を表にすると以下のようになる。

平均 分散 標準偏差 中央値
真の値 66.049483 3721.70214312 61.005755 45
近似値 65.925 3423.171875 58.5078 32.3636

上の表を見る限り、中央値のずれが思っていた以上に大きくて、 それ以外の値は素人目には大体いい線いってるんじゃないといった感想。

上記中央値の近似計算では、階級内でデータが均等に分布していると仮定した上での計算であるため、 階級内でデータの分布に偏りがある場合には、近似値と真の値が大幅にずれてしまう。
実際に、中央値が含まれる階級内(31〜46)のデータの分布をヒストグラムで表してみると、 以下の図のようになる。

f:id:yutakata_log:20200529205208p:plain

はい、全然均等に分布していないですね。 また、階級(31〜46)には全データを昇順に並べた時の前半41%〜51%のデータが含まれるため、 階級内の後半の値である45が真の中央値となることが直感的に理解できます。