情報学部大学生のダラダラ日記

β日記

機械学習や日記っぽいものを書きます

統計学入門(基礎統計学Ⅰ)第2章演習問題

スポンサーリンク

はじめに

今回は統計学入門(東京大学出版)の第2章の演習問題を解いていきます。

※注意※

本書には解答のみ載っており、導出過程が書かれていません。そのためこのような記事を書こうと思いました。筆者は統計については勉強中ですので誤り等ありましたら教えていただけると嬉しいです。

第2章

2.1は調べても出て来なかったので省略します。

2.2<ジニ係数>

データ{\displaystyle x_1,x_2,...x_n}がある時、

{\displaystyle \sum_i^n\sum_j^n|x_i-x_j|/n^2}

平均差と言います。つまり、全ての要素の組み合わせの差の絶対値の平均です。なので差の平均ですね。

 

{\displaystyle \sum_i^n\sum_j^n|x_i-x_j|/2n^2\overline{x}}

ジニ係数と言います。

詳細は以下のサイトを見てください。ザックリいうと"どれだけ不平等か"を示す時に使われるものです。

bellcurve.jp

今回はA:0,3,3,5,5,5,5,7,7,10

B:0,1,2,3,5,5,7,8,9,10

C:3,4,4,5,5,5,5,6,6,7

について平均差とジニ係数を求めます。それぞれ手計算で平均差を計算してもいいのですが、さすがに10*10の100通りを3回やるのは面倒なのでスクリプトを書きました。

f:id:Parco1021:20200405223347p:plain

わざわざ関数にする必要はなかったのですが、平均差とジニ係数それぞれわかりやすくするためにしました。定義通り計算していくだけです。

 

2.3<エントロピー>

エントロピーとは簡単に言うとどれだけ乱雑かをしめすものです。

{\displaystyle H(p_1,p_2,...p_k) = -\sum_i^kp_ilogp_i}

の形で示されます。{\displaystyle p_i}は相対頻度です。つまり総データ数100においてある事象が10回である時、{\displaystyle p_i=10/100}となります。また、対数の底は2か10を使うのが一般的です(今回は10としています)。

問題は与えられたデータ(現在と10年前の学生100人の出身地のデータ)を集中性の観点から分布を比較せよ、というもの。これには先に述べた通りエントロピーを使う。

f:id:Parco1021:20200405224304p:plain

 この出力からわかる通り、現在も10年前においてもエントロピー、つまり集中性はあまり変化していない。よって現在も10年前も出身地のバラつきはあまり変化していないといえる。

 

2.4<諸得点>

2.2におけるBについて、標準得点と偏差値得点を求める。

標準得点は各データを{\displaystyle z_i=(x_i-\overline{x})/s}とすることである。このようにすることで調整後の平均は0となり、標準偏差sは1となる。

 

偏差値得点は先ほど導出した{\displaystyle z_i}をさらに{\displaystyle T_i=10z_i+50}とすることである。これにより聞き馴染みのある偏差値を導出することができる。平均は50となり標準偏差は10となる。

f:id:Parco1021:20200405225641p:plain

確認のため変更後の平均と標準偏差も求めなおしてみました。0.99999となっていたり、2.22e-17(=2.22^10^-17)となってしまっていますがそれはビット数の都合で省略されてしまっているからです。キチンと出力できているように思えます。

 

あとがき

今回はお試しで2章を解いてみました。想像以上に時間がかかってしまったので3章以降で同様の記事を書くかどうかは決めていません。

 

演習問題の各コードはgithubに挙げておきます。参考までに。

github.com

 

 

スポンサーリンク