第9回 推測統計と仮説検定
記述統計と推測統計
統計には、大きく以下の2つのタイプがあります。
- 記述統計:得られたデータのみに注目し、その性質を知る
例:3年A組と3年B組の成績を比較する > 全数調査 - 推測統計:標本(サンプル)から、発生元となる母集団の性質を推測する
例:高血圧の人を対象に新薬の効果を検証する > 標本調査
一般に、集団の性質を知るために全てのデータを取ることは不可能であるため、無作為に抽出した「標本から全体を推測する」ことが重要になります。
推測統計
母集団の様子(平均や散らばり具合)を把握するために必要なアンケートの件数とはどれくらいなのでしょうか。母集団とランダムに抽出した標本(サンプル)とでは結果が等しくはならず、数%の誤差があるのが普通です。この誤差を許容誤差と言って、これをどのくらいに設定するかで、アンケート調査の信頼性が変わります。許容誤差5%、信頼度95%で、統計上は十分意味があると言われています。
で、アンケート調査は何件ぐらい必要かと言うと、母集団を10万人と想定して許容誤差を5%とした場合400件 がひとつの目安とされています。ちなみに、許容誤差を3%にしたい場合は約1000件、1%にしたいなら約10000件のサンプルが必要です。
参考:GoogleImage:アンケート サンプル数 早見表
しかし、現実的には 400件ものデータを取ることは困難なことが多く、もっと少ないデータ数で、母集団の平均値を推定できないか・・ということになります。ここで登場するのが統計的な推定です。
統計的な推定には、点推定と区間推定があります。
>推測統計
仮説検定
仮説検定とは、母集団分布の母数に関する仮説を標本から検証する統計学的方法の一つで、例えば「従来製品の電力消費量の平均値と、新製品の電力消費量の平均値には有意な差がある」といった仮説を検証する際に用いられます。
詳細について、以下のページで概説します。
>仮説検定
演習9|t検定
今回の演習では、検定の定番とも言える t検定 の事例を紹介します。2つのグループ間の平均値に差があるか否かについて、「対応なし」と「対応あり」の2つのパターンを試します。
汎用性の高い事例となるように、CSVデータを読み込んでから、検定に使えるデータに加工するという手順を踏んでいます。
このサンプルを参考に、自分でも様々なデータを使って検定を行なってみてください。 異なる条件が与えられた2つのグループ間に「差がある」ということを統計的に言えるだけでも、学術論文が書けます。
サンプルデータの事前確認
この演習では、以下のデータをサンプルとして利用します。GitHubから直接読み込むので、ダウンロードの必要はありません。
- iris.csv
https://raw.githubusercontent.com/koichi-inoue/DataScience/main/iris.csv
Irisは、データサイエンスの分野で最も有名なデータサンプルのひとつです。Irisは日本語で「アヤメ」。このデータセットには、setosa、versicolor、virginicaという3種の花に着目して、がく片(sepal)の長さ・幅、および花弁(petal)の長さ・幅、それぞれ 50個の測定結果が含まれています。
参考:GoogleImage:iris setosa virginica versicolor
- sleep.csv
https://raw.githubusercontent.com/koichi-inoue/DataScience/main/sleep.csv
薬剤1と薬剤2の2種類の睡眠薬を10人の被験者に投与した際の、睡眠時間の差分を記録したデータで、2種類の薬剤を同一被験者に投与していることから、その値には対応があるといえます。
ノートブックの新規作成
- Google Colaboratory でノートブックを新規作成
- Untitled0.ipynb というファイル名を変更 > t-test.ipynb
サンプルコード
- JupyterNotebook形式(.ipynb)でサンプルプログラムを提供します。
t_test.ipynb(GitHub に置いています)
プログラムの解説付きのノートになっているので、このページの上から順に、テキストとコードを自分のノートに書く、あるいは、コピー&ペーストして、お試しください。In [ ]:コード部分です。これを自分のノート のコードブロックに書く Out [ ]:実行結果です。コードを実行すると表示されます。 説明文:必要に応じて、自分自身のノートとして記載して下さい。
- t検定には、統計ライブラリscipy の、以下の2つの関数を使っています。
- scipy.stats.ttest_ind 対応のない2標本の t検定
- scipy.stats.ttest_rel 対応のある2標本の t検定
学科サイトにリンク掲載
ノートを、学科サイトの個人ページからリンクして下さい。以下、手順です。
- 1. 自分のノートを開いた状態で、右上の「共有」をクリック
- 2. 共有設定を変更して、以下のように表示される状態にします。
このリンクを知っているインターネット上の全員が閲覧できます。
- 3. 「リンクをコピー」をクリックして、そのアドレスを、以下の形式で、学科サイトの「Jupyter Notebooks」の部分に掲載して下さい。
-[[Pythonによる仮説検定>https://colab.research.go・・=sharing]]
- 4. 以下のようになればOKです。
https://design.kyusan-u.ac.jp/socialdesign/?JohnSmith/DataScience
演習9+(任意)
こちらを「演習9」として学科サイトに掲載・・でもOKです。
以下、理系・文系(性別カテゴリあり)、約500名分の学生のGPAと出席率のダミーデータがあります。これを使って、理系と文系で平均値に差があるか、あるいは男女で差があるかについて検定してみて下さい。
データサイズが大きいので p値は小さくなるので、ほぼ「有意差あり」となりますが・・
サンプルデータ
- データ確認用アドレス
https://github.com/koichi-inoue/DataScience/blob/main/SampleForT-test.csv - データ読み込み用アドレス(実際のCSVファイルへのリンク)
https://raw.githubusercontent.com/koichi-inoue/DataScience/main/SampleForT-test.csv
サンプルコード
- JupyterNotebook形式(.ipynb)でサンプルプログラムを提供します。
t_test_sample.ipynb
APPENDIX
関連リンク
- 対応のない2標本t検定(統計Web)
https://bellcurve.jp/statistics/course/9446.html - 対応のある2標本t検定(統計Web)
https://bellcurve.jp/statistics/course/9453.html