Think Stats(第2版)を読む:2章
前回の続き。
2章: ヒストグラム
分析する上で、データ全体の傾向だったり、方針を決める際には必ずと言ってやると思われるデータの可視化。その中で、データの分布をみるためのヒストグラムについて書かれた章。
ヒストグラムの表現
オリジナルの関数を使って、簡単なヒストグラムを表現している。
コードを読んで見ると、よく使われているmatplotlib
で描画されている。
import matplotlib.pyplot as plt ... plt.bar(xs, ys, **options)
少し味気ないので、最近知り合いが使っていたseaborn
を使って同じように描画して見る。
import seaborn as sns import matplotlib matplotlib.rcParams['font.family'] = 'AppleGothic' %matplotlib inline import matplotlib.pyplot as plt plt.figure(figsize=(20,8)) g = sns.countplot(x=[1,2,2,3,5],order=[1,2,3,4,5]) g.set_xticklabels(g.get_xticklabels(), rotation=90)
こんな感じに綺麗な描画にできる。
外れ値
データと見て行く際に、必ずと言っていいほど外れ値と呼ばれる他の値とは離れているものがある。まずは傾向を見るのが目的の場合は、こういうのを除外したりすることで分析をしやすくしたりする。 例えばこの例で見ると
30週未満や50週以上あたりのデータは少しおかしいデータだったりする。どのように分析するかにもよるけど、基本的には分析しているドメイン領域の専門知識がないと判断しづらいため、自分で知識を深めるか知識がある人にこの値はどういう意味を何しているのかを答えてもらい、その上でそのデータを切るかの判断をするのがいいんじゃないかなと思う。
分布を要約する
何かと何かの値を比べる際に、標本のサイズなどを意識する必要がある。100人のデータと1000人のデータだと、当たり前だけど1000人のデータの方が値が大きくなったりする。
そういった調べたい分布を要約するときによく使われるのが以下である。
- 中心傾向(central tendency)
- あたいは特定の周りに集まっているか?
- 最頻値(modes)
- 塊は複数あるか?
- 散らばり(spred)
- あたいの変動はどの程度か?
- 裾(tails)
- 最頻値から離れると確率がどれくらい下がるか?
- 外れ値(outliers)
- 最頻値から離れた極値があるか?
これらの答える統計量は、要約統計量(記述統計量)と言われる。
一番よく使われるのは算術平均で、分布の中心傾向の記述をして用いられる。
mean
とaverage
は日本語だと同じ意味だけど、わけて使われるのでメモっておく。
- 標本の算術平均(mean)
- 代表値(average)は中心傾向の記述に選ばれるようやく統計量のうちの一つ
参考
分散
カボチャはばらつきが多いため算術平均に加え、分散を利用する。(カボチャの例は有名らしい) n-1で割るのは、標本を使って母集団の分散を推定する時に使う。 分散はある種の計算には使えるけど、要約統計量としては不敵な場合が多いため標準偏差を利用する。(平方週とかいう単位になってしまうため)
効果量
効果の大きさを記述する要約統計量。
例えば2グループの違いを記述するために平均の差を使うとか、そういうの。
ただ、グループ間の差をグループ全体の変動性と比較するやり方がある。それはコーエンのdと呼ばれる統計量だ。
わかったようなわかってないようなと思いつつ調べたら、みんな大好きTJO先生の記事。参考にしましょう。
結果のレポート
レポートする内容は、相手や目的にそってかわるよねという話。また、効果の重要さを強調するなら、差を強調する要約統計量を選んだり、ストーリーを明確に伝えるような統計報告と可視化を設計する。
要約統計量の選定やストーリーに関しては経験積まないとなぁと思う。以下の記事をトレースするのはよさそう。
感想
第一章よりは本格的に統計についての勉強に入り込んできたと思う。
演習問題も実践ぽくて、答えに困るけど面白い。別途自分なりに選んだデータで分析して見たい。