九州大学 大学院システム情報科学研究院
情報知能工学部門
データサイエンス実践特別講座
備瀬竜馬,Diego Thomas, 末廣 大貴
「統計分析」
本日の内容
統計分析
確率と確率分布
信頼区間
平均の差の検定( t 検定)
分散分析
その他の統計分析
2
確率と確率分布
頻度~わかりやすい場合
さいころを1000回振って出た目の回数
「1」が168回,「2」が164回, ..., 「6」が164回
5段階アンケートの回答結果の集計
「非常によい」が103名,「よい」が30名,...,
「非常に悪い」が0名
今日のメニュー注文者数
「かつ丼」が58食,「ラーメン」が102食, ...,
「高菜めし」が21食
ヒストグラムによる頻度分布の可視化:
さいころを1000回振って出た目のヒストグラム
4の目が出た回数
頻度
164回
それぞれの値のことを
「ビン」と呼ぶ
頻度~そのままでは計りにくい場合(2/2)
→ 区間を考えればOK
あるクラスの学生の身長
「140cm未満」が1人,「140-145cm」が2人,...,
「160-165cm」が9人, ...
ある交差点での1日の車の通過台数
「1500台未満」が0日,「1500-1600台」が3日,....
頻度がよくわかるように!
(ただし区間幅の設定によって集計結果が変わることに注意)
ヒストグラムの場合と同じ!
これも「区間を考えた」から頻度が定義できたんです!
160cm
~165cm
頻度
ヒストグラムの出力方法
(前回の復習も兼ねて)
8
“height_weight.csv”を読み込んで、
身長のヒストグラムを作成
身長
ヒストグラムの出力方法
9
“height_weight.csv”を読み込んで、
身長のヒストグラムを作成、ビンの数(範囲)を変更
身長 身長#bin=30 #bin=50
練習1
height_weight.csv を読み込んで,
体重のヒストグラムを作成せよ
ビンの数(範囲)を変更せよ
10
確率と確率分布①
そもそも確率・確率分布とは?
(心が折れない)
確率って何だ?
確率=「出やすさ」
ただそれだけ.これを理解しておけば,まずは大丈夫
「出やすさ」なので,ヒストグラム(頻度)と似ている
データ𝑥が取りうる値が「有限個」と「無限個」で扱いが
違う点も,ヒストグラムと似ている (後述)
「データ𝑥が取りうる値が有限個」の場合の
確率分布(頻度分布にそっくり...)
例1:さいころの目
取りうる値=6通り
確率
1/6
1 2 3 4 5 6
全部足せば1になる
これを「連続分布」と呼びます
離散分布 𝑝(𝑥)
 𝑝(𝑥)は確率密度
ある区間を考えれば確率
面積が確率を表す
従って「値𝑥がドンピシャで出る
確率はゼロ」(わかりにくいですが...)
全部の範囲を考えれば1になる
 𝑝 𝑥 𝑑𝑥 = 1
確率
密度
𝑥
𝑥
確率
密度
𝑥
本講義では
小文字の𝑝
(離散・連続以外の)もう一つの分類:
パラメトリックとノンパラメトリック
パラメトリックな確率分布
少数のパラメータで形状が定まる分布
ex. 正規分布 → 平均・分散
ex. 一様分布 → 分布範囲
ノンパラメトリックな確率分布
任意形状の分布
「○○分布」というような名前はない
ヒストグラムもその一種
分散
平均
𝑎 𝑏
確率分布がわかると何がウレシイのか? (1/2)
データの分布を少数のパラメータを持つ「数式」で表せる
多くのデータは,パラメトリックな確率分布に従うことが多い
では,数式で表されると,何がウレシイ?
全データを覚えておかなくても,その数式(のパラメータ)があればOK
様々な数学的演算(微分や積分など)を式の上で行えたり,比較
が容易に
分散
平均
確率分布がわかると何がウレシイのか?
(2/2)
他にも
信頼区間や検定,回帰,認識など,様々な統計解析の基礎と
なっている
頻度に比べ,「合計=1」に正規化されているので扱いやすい
分散
平均
分散
平均
条件Aでの
データ
条件Bでの
データ
差がある? 差がない?
確率と確率分布②
正規分布
「連続」なパラメトリック確率分布の代表格!
(1次元)正規分布:
ガウス分布とも呼ばれます
 𝜎2
: 分散
 𝜇: 平均
関数形は複雑に見えるが,落ち着いて考えてみよう!
𝜇
𝑝 𝑥 = 1
2𝜋𝜎2
exp −
𝑥−𝜇 2
2𝜎2
𝑥
分散が大きいと山のすそ野が広い
平均は、山の頂上の場所
1次元正規分布の分散(1/2)
20
𝜇
𝜎2
→小 𝜎2
→大
𝑥
𝜇
𝑥
𝜇
𝑥
𝜇
𝑥
前身の
二次関数
1/𝜎2
倍
1/𝜎2倍
正規分布の分散
「自分がどれぐらい外れているか」がわかる
95%が
この中に
68%が
この中に
𝑥
𝜇 𝜇 + 𝜎2 𝜇 + 1.96 𝜎2𝜇 − 𝜎2𝜇 − 1.96 𝜎2
𝜇 ± 𝜎2
𝜇 ± 2.57 𝜎2→99%
𝜇 ± 1.96 𝜎2
式はわからなくてもOK.それより大事な
「正規分布の性質」のまとめ
平均付近の値が一番出やすい
平均から離れた値ほど出にくくなる
出にくくなるスピードは分散に関係
平均を中心に左右対称
すそ野は,𝑥 = −∞から+∞まで広がっている
出やすさはゼロに限りなく近いがゼロではない
𝜇
𝑥
正規分布によるデータ表現
23
“height_weight.csv”を読み込んで、
身長のヒストグラムを正規分布で表現
まずは、データの平均、分散を求める
平均:180.103960396
分散:94.291271444
標準偏差:9.71036927434
正規分布によるデータ表現
24
求めた平均、分散を用いて、正規分布を表現
身長
パラメトリックなモデル
正規分布の場合、平均と分散の2つのパラメータだけで分布を表現
ヒストグラムの
頻度を足して1に
なるように正規化 確率
正規分布の確率
を求める関数
練習2
height_weight.csv を読み込んで,
体重のヒストグラムを正規分布で
表現してみよう
25
信頼区間
お世話になった参考書:
栗原伸一,入門統計学,オーム社
スライド作成でお世話になった方:早志英朗先生@九大情報知能
この「信頼区間」で学ぶこと
存在しうるすべてのデータ
実際に手に
入ったデータ
例えば
「平均値」
あなた,この平均値,真の平均値と同じと思います?
いや,ある程度近いとは思うけど,多少違うかも...
※なお以下では平均の信頼区間について論じますが,分散の信頼区間もあります
こういう状況と少し似ている
28
こないだのテスト,みんな40点ぐらいだよ~
みんなって誰よ?名前言ってみなさい!
AちゃんとB君とCさんが40点だよぉ
それじゃみんなじゃないでしょ!
じゃぁ,平均は30点から60点ぐらいだよぉ
ウソ言いなさい!平均90点なんじゃないの?
90点はあり得ないよぉ~
真の平均点を求めたい:例題
お母さんは,子供が受けたテストの
真の平均点を知りたくなった
しかし,テストを受けた生徒は相当多いので,
全員のテストの点数を聞くのは無理っぽい
数人なら聞けるかも...
真の平均点はわかるのだろうか?
ウソ言ってないよ~
もちろん,ありとあらゆる生徒にテストの点数を
聞けば,真の平均はわかるだろう
30
ありとあらゆる生徒にテストの点数を聞いて回る
さすがに
それは無理
すべてのデータの集合=母集団:
母集団全体は見えないことが多い
31
コストが
かかる
想定される
数が多すぎ データ取得中に
増減が起こりうる
全員は無理
全部が無理なら一部だけ:標本
32
無作為抽出
(ランダムサンプリング) 標本
母集団:ありとあらゆる生徒
𝜇: 母平均
(ありとあらゆる生徒の平均点)
𝜎2: 母分散
(ありとあらゆる生徒の平均点からのばらつき)
𝑥: 標本平均
= (81 + 67 + 77)/3 = 75
𝑠2
: 標本分散
= (62
+ 82
+ 22
)/3 ≈ 34.7
𝑁: 標本サイズ = 3
知りようが
ない
知りようが
ない
こちらは
わかる
82点
67点
77点
やりたいこと:
標本平均から母平均を推定したい
33
無作為抽出
(ランダムサンプリング)
標本
母集団:ありとあらゆる生徒
𝜇: 母平均
(ありとあらゆる生徒の平均点)
𝜎2: 母分散
(ありとあらゆる生徒の平均点からのばらつき)
𝑥: 標本平均
𝑠2: 標本分散
𝑁: 標本サイズ
③なるべく
正確に
推定したい
①これを知りたいのだが,
全生徒(母集団)が
不可知なので知りようがない
②標本を測れば
計算できます
面白い事実1:「標本平均の分布」は
母平均を中心とした正規分布!
母集団: ありとあらゆる生徒
標本平均 𝑥
頻度
標本1
標本平均 68点
標本2
標本平均 71点
…
標本𝑁
標本平均 95点
母平均
ちなみに元の分布がどんな形でも,
「標本平均の分布」は正規分布になる
母集団: ありとあらゆる生徒
…
標本平均 𝑥
頻度
母平均
頻度
点数
母平均
元の分布:
全然正規分布
じゃない
標本平均の分布:
母平均まわりの正規分布
なんだかスゴイこの関係を「中心極限定理」と呼びます
面白い事実2:
「標本平均の分布」のバラツキは標本サイズで決まる
36
標本サイズ小
母平均 標本平均 𝑥
標本サイズ大⇒
標本平均の
ばらつき小
標本平均
68点
標本サイズ大標本サイズ大
標本サイズ小
母集団: ありとあらゆる生徒
標本平均
71点
標本平均
95点
標本平均
72点
標本平均
70点
標本平均
68点
まぁ確かに標本サイズが無限大になれば「母平均」からブレないだろう
面白い事実2:
「標本平均の分布」のバラツキは標本サイズで決まる
37
「より多くの標本から平均を求めれば,母平均に近づく
(=母平均からのブレは少なくなる)」
この一見アタリマエにも見える傾向を,業界では「大数の法則」と呼ぶ
面白い事実2:
「標本平均の分布」のバラツキは標本サイズで決まる
標本平均の分散(標本平均のばらつき)
𝜎 𝑥
2
=
𝜎2
𝑁
𝜎2
: 母分散
𝑁: 標本サイズ
標本サイズが大きくなるほど,
バラツキはどんどん小さく
母平均 標本平均 𝑥
標本サイズ大
標本サイズ小
というわけで,基本的には
データは多いほうがよい
プログラム:標本平均の分布
 標準正規分布(平均:0、分散:1)からランダムで100個の標本
サンプリングを100回繰り返して、その平均を求めよう!
 まずは、標本を繰り返し、その標本平均をリストに保存
プログラム:標本平均の分布
 標準正規分布(平均:0、分散:1)からランダムで100個の標本
サンプリングを100回繰り返して、その平均を求めよう!
 その標本平均の分布をみる
平均 :-0.0266
標準偏差: 0.0873
練習3:
標本平均の分布
 標本数Nを100,1000,10000と変えてみよう!
 分布の形がどう変わるか観察せよ
 標本数Nが大きいほど、平均は0に近くなり、分散(標準偏差)は
小さくなるのがわかる(中心極限定理)
信頼区間
真の平均,ピッタリ答えるのは無理なので,
「この範囲に(ほぼほぼ)ある!」と答える
虫のよいケース:
母分散がわかっているケース (1/3)
母分散𝜎2
=すべての生徒のテストの点数の分散
ふつうはこれが既知ということはないのだが...
これが既知なら,標本平均の分散𝜎𝑥
2
は 𝜎2 𝑁 なので …
母平均は「今得られた標本平均の周りに分散𝜎𝑥
2
で分布」と考える
のが素直
標本平均68点
𝜎 𝑥
2
= 𝜎2
𝑁
真の平均(母平均)
虫のよいケース:
母分散がわかっているケース (2/3)
なので...
真の平均は,95%の確率で,標本平均±1.96 𝜎 𝑁の
範囲にある!
母分散𝜎が小 or 𝑁が大 → 区間は狭く(=より正確に)
標本平均
68点
真の平均
(母平均)
標本平均 ±1.96 𝜎 𝑥
2
= ±1.96𝜎 𝑁
95%
95%信頼区間
さらに...
真の平均は,99%の確率で,標本平均±2.57 𝜎 𝑁の
範囲にある!
信頼度を高める(95→99%)には区間を広げざるを得ない
虫のよいケース:
母分散がわかっているケース (3/3)
標本平均
68点
真の平均
(母平均)
標本平均 ±2.57 𝜎 𝑥
2
= ±2.57𝜎 𝑁
99%
99%信頼区間
Q:普通は母分散がわからない.どうするか?
A: 標本サイズ𝑁が大きいなら標本分散で代用
標本平均 72点
標本分散𝜎𝑥
2
78 ≒ 母分散𝜎2と「みなす」
標本サイズ𝑁
= 例えば 100
でも...標本平均はそのまま信じないのに(信頼区間つきで答える),
標本分散は「≒母分散」とみなす.ちょっと気持ち悪いなぁ...
気持ち悪いなら,次スライドの方法も使えますよ
あとは「虫のよいケース」と同じ
Q:母分散も不明,𝑁も小さい.どうするか?
A: 次の2つの変更をする
変更1: 母分散の代わりに,標本分散を用いる
変更2: 正規分布の代わりに(よく似た)t分布を用いる
標本平均68点
標本分散𝜎 𝑥
2
112
怪しいけど
しょうがない
標本平均68点
真の平均
(母平均)
標本平均 ±2.262𝜎𝑥 𝑁 − 1
95%
t分布
正規分布では1.96𝜎だったので,
t分布を使うと,もっと広め,
すなわち安全サイドに
範囲をとることになる
参考:なんだろう,t分布...
以下の点だけ抑えておけば十分
wikipedia
=正規分布
=標本サイズ𝑁 − 1
①標本サイズ𝑁 →大で
正規分布に近づく
②正規分布よりつぶれ
ている →
同じ信頼度なら
区間は広がる
プログラム:母平均の推定
 成績データ“grade_data1.csv”を読み込んで、Englishの母平均
の95%信頼区間を推定してみよう!
信頼区間の下限: 55.0903702599
信頼区間の上限: 81.9096297401
練習4
50
 成績データ“grade_data1.csv”を読み込んで、
Mathematicsの母平均の95%信頼区間を推定せよ
統計的検定
“testing”
お世話になった参考書:
栗原伸一,入門統計学,オーム社
スライド作成でお世話になった方:早志英朗先生@九大情報知能
統計的検定とは何で,いつ使うのか?
 「AとBは差がある」と統計的に言いたいときに使う
 事例
 東京と福岡で平均所得に差があるか?
 あるトレーニングを行った前後で能力に差が出たか?
 あるダイエット食品に効果があるか?
• ダイエット食品と食べた群と食べなかった群に差があるか?
 ある遺伝子がある病気の原因になるか?
• 「野生型」と「その遺伝子をノックアウトした型」で,病気の罹患率に差があるか?
シンプルな検定の例
九大生と名乗る学生𝑁名がやってきた
怪しいので,あるテストを受けさせたら,
平均点は 𝑥だった
過去に同じテストを九大生全員に実施したところ,
点数は平均𝜇,分散𝜎2の
正規分布を成した
彼らは九大生なのかニセモノかを検定せよ
九大生デス
差があるか?
全九大生
統計的検定の基本手順 (1/3)
 帰無仮説の設定
 言いたいことと反対の仮説(「AとBに差はない」)を立てる
 仮説の下で矛盾が起こることを証明
 =そもそも仮説が間違っていた
 対立仮説(「AとBに差はある」)を採択
なんかすごく回りくどく見える
最初から「差がある」ことを示せばいいのでは?
九大生と考える
九大生ならそんな
点数とるはずがない
九大生ではない
統計的検定の基本手順 (2/3)
回りくどく見えますが...
 「差がある」ことを直接証明するよりも
 「差がない」ことを前提にして矛盾を導くほうが楽
 いわゆる「背理法」
 「 2が有理数でない」ことを直接証明するよりも
 「 2が有理数である」ことを前提にして矛盾を導くほうが楽
 1つでも矛盾が見つかれば,それで否定できる点がありがたい!
正面から試行錯誤しながら追及するより,
容疑者に自分の正しさを証明させながら,
そのほころびを(1つでも)見つけたほうが早い
統計的検定の基本手順 (3/3)
もうちょっと詳細
 帰無仮説の設定
 言いたいことと反対の仮説(「AとBに差はない」)を立てる
 検定統計量の計算
 例えば標本平均
 確率の計算
 その統計量が「どの程度起こりうるものなのかどうか」
 仮説の判定
 そもそも仮説が間違っていた
 対立仮説(「AとBに差はある」)を採択
九大生と考える
「九大生ならとるはずが
ない」点数をとった
九大生と考えたのが
間違いだった
九大生としての
テストを受験させる
九大生ではない
帰無仮説の矛盾が見つからなかった
(=棄却できなかった)場合の考え方
帰無仮説𝐻0:差はない
「差がある」とも
「ない」とも言えない
(要は「フリダシに戻る」)
対立仮説𝐻1
「差がある」を採択
棄却できた
(「差はない」という仮説の
矛盾を見つけた)
棄却できなかった
(「差はない」という仮説が
間違っていると言える
ほどの根拠がない)
𝐻0
𝐻0だとすれば
ここはどうなってんだ?
すみません,
𝐻0はウソでした
う!そ,それは... うーむ,𝐻0を
突き崩すための
十分な証拠がない...
簡単な検定の例:
平均の検定
再掲:シンプルな検定の例
九大生と名乗る学生𝑁名がやってきた
怪しいので,あるテストを受けさせたら,
平均点は 𝑥だった
過去に同じテストを九大生全員に実施したところ,
点数は平均𝜇,分散𝜎2の
正規分布を成した
彼らは九大生なのかニセモノかを検定せよ
九大生デス
差があるか?
全九大生
平均の検定:
その平均は母集団に受け入れられるのか?(1/5)
母集団の分布(母平均𝜇 ,母分散𝜎2
)はわかっているとする
あまり現実にはないが,今回はシンプルな例ということで
標本平均の分布は(既述の通り)正規分布になる
母平均(既知)
標本平均 𝑥𝜇
母平均, 母分散
標本平均
標本平均
標本平均
標本平均の分散=
母分散 𝜎2
標本サイズ 𝑁
九大全体
元の分布によらず,常に正規
分布になるのはありがたい!
中心極限定理バンザイ!
平均の検定:
その平均は母集団に受け入れられるのか?(3/5)
もうわかりますよね!
母平均(既知)
標本平均 𝑥𝜇
標本平均が
この辺なら
受け入れ可能
標本平均が
この辺なら
受け入れたくない
平均の検定:
その平均は母集団に受け入れられるのか?(4/5)
端っこのほうにきたら(リスクは少々あるが)棄却して
しまう!
九大生でない!と
結論しても,
それが過ちである
可能性は高々5%
標本平均 𝑥母平均𝜇
95%
𝜇 − 1.96 𝜎 𝑁 𝜇 + 1.96 𝜎 𝑁
「九大生である」という
帰無仮説を
有意水準5%で棄却できる
九大生じゃないでしょ!
ヤバイ,バレタ!
平均の検定:
その平均は母集団に受け入れられるのか?(5/5)
もっと端っこなら,もっと自信をもって棄却できる
標本平均 𝑥母平均𝜇
99%
𝜇 − 2.57 𝜎 𝑁 𝜇 + 2.57 𝜎 𝑁
「九大生である」という
帰無仮説を
有意水準1%で棄却できる
九大生でない!と
結論しても,
それが過ちである
可能性は高々1%
𝑝値,有意水準,有意差:
単なる言葉の使い方
差がない帰無仮説
𝑝値=5%で検定
有意水準5%で
帰無仮説を棄却できた
有意な差がある
両者には有意差
(𝑝 = 0.05)がある ヤバイ,バレタ!
標本サイズ𝑁は重要
標本サイズ𝑁→大,標本平均の分散→小
母平均から少しでも違えば,有意差が出る
=標本サイズが大きければ,わずかな差でも信頼できる
65
母平均
標本平均 𝑥𝜇
母平均
標本平均 𝑥𝜇
標本平均の分散=
母分散 𝜎2
標本サイズ 𝑁
t
平均の差の検定
平均の差の検定(t 検定)
先に述べた以下の検定課題は,すべてこのタイプ
東京と福岡で平均所得に差があるか?
あるトレーニングを行った前後で能力に差が出たか?
あるダイエット食品に効果があるか?
ある遺伝子がある病気の原因になるか?
K大学の母集団 L大学の母集団
平均に差が
あるか?
平均の差の検定~実際の攻め方
68
K大学の母集団
標本
L大学の母集団
標本
𝑥 𝐾と 𝑥 𝐿の差
母平均は異なる
=母集団には
有意差がある
標本平均 𝑥 𝐾 標本平均 𝑥 𝐿
この差は「母平均が
等しい」という仮説下
ではあり得ない
標本平均の差をテストしたいんです:
t分布する二つの値の「差」も,やはりt分布
69
K大学 L大学
母平均(未知)
標本平均 𝑥 𝐾
𝜇 𝐾
標本平均の
分布
(t分布)
母平均(未知)
標本平均 𝑥 𝐿
𝜇 𝐿
標本平均の
分布
(t分布)𝑥 𝐾と 𝑥 𝐿の
差をチェックしたい
標本分散𝜎 𝐾
2
𝑁 − 1
標本平均 𝑥 𝐾 − 𝑥 𝐿
𝜎 𝐾
2
𝑁−1
+
𝜎 𝐿
2
𝑁−1
𝜇 𝐾 − 𝜇 𝐿
標本平均の
差の分布
(t分布)
標本分散𝜎𝐿
2
𝑁 − 1
t分布の場合も
同様でよかったー
Python で t 検定
 Python で実行するのはとても簡単!
1. 差があるか確認したいデータを2つ用意
2. 有意水準を決定:5%
3. 2つのデータを関数に放り込む
4. t, p値が出る
5. p値が0.05(5%)以下なら、有意に差がある
70
0
t分布
赤い区間に入る確率:p値
t値
95%
p値
具体例
仮説:福岡は東京より暑い!
(福岡と東京は気温に差がある)
データから有意性が言えるか?
Python なら楽勝です
71
九州だし
暑いに決まっている!福岡のほうが若干
南だし,きっと暑い
プログラム
まず,データを読み込んでみよう
temperature_FT_August.csv
(福岡と東京の2016年8月 の気温)
ただし、日付は残っていなかった
(8月何日の記録かわからないが、31個サンプルが
残っている場合を考えます)
72
プログラム:可視化(ヒストグラム)
まずは様々な可視化
73
ー 福岡
ー 東京
気温
頻度
プログラム:統計値
統計値(平均、分散)を求めて、その統計値のガウス分
布をフィッティングしてみよう!
74
気温
頻度
東京の気温分布
プログラム:t検定
帰無仮説は「福岡と東京の8月の気温に差はない」
t 検定!(たった2行!)
75
P < 0.05 で有意性あり!
(福岡と東京に気温差はある!)
t値:4.42853766713
p値:4.37071161374e-05
アイリスデータ
76
アイリスデータ
3クラス
Iris-setosa
Iris-versicolor
Iris-virginica
指標
sepal length
sepal width
https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data
練習5:irisデータ
Sepal length と sepal widthの平均の差に
有意差があるかを調べよ
まずは、ヒストグラムで可視化せよ
t 検定で t 値,p 値を求めよ
77
平均の差の検定(t 検定):対応なし
対応のない異なる集団を比較
K大学とL大学のテストの点数差を比較
• K大学のA君とL大学のB君は全く対応関係のない別人
東京と福岡で平均所得に差があるか?
K大学の母集団 L大学の母集団
平均に差が
あるか?
平均の差の検定(t 検定):対応あり
対応ある項目を比較
同じ学生が複数の科目を受験
• 英語と数学の平均点
東京と福岡の気温に差があるか?
• 同じ日の気温で対応付けて、東京、福岡で差があるか?
・・・
Aさん
Bさん
数学 英語
70点 90点
70点 80点
60点 60点
・・・
1/1
1/2
7℃ 9℃
8℃ 9℃
12℃ 13℃
東京 福岡
12/31
平均の差の検定(t 検定):対応あり
K大学の母集団 標本
・・・
Aさん
Bさん
数学 英語
70点 90点
70点 80点
60点 80点
点数の差
20
10
0
・・・
母集団で、生徒ごとの英語と数学
の点数に差がないなら、点数の差
の平均は0になるはず。
平均の差の検定(t 検定):対応あり
標本
・・・
数学 英語
70点 90点
70点 80点
60点 80点
点数の差
20
10
0
・・・
K大学の母集団
差の母平均(未知)
𝜇 𝐸−𝑀 = 0
点数の差の標本平均:
𝑥 𝐸−𝑀 = 10
これはめったに起きないこと?
平均の差の検定(t 検定):対応あり
 対応ある検定では
1. 差があるか確認したい対応があるデータを2つ用意
2. 有意水準を決定:5%
3. 2つのデータを関数に放り込む
関数の中で、自動で対応あり検定を行ってくれている
4. t, p値が出る
5. p値が0.05(5%)以下なら、有意に差がある
82
0
t分布
赤い区間に入る確率:p値
t値
95%
p値
具体例
仮説:福岡は東京より暑い!
(さっきと同じ)
ただし今度のデータは
temperature_FT_August_pairs.csv
(福岡と東京の2016年8月 の気温)
日付の対応が取れている
83
プログラム:可視化(プロット)
まずは可視化(日付の対応があるので折れ線も有効)
84
ー 福岡
ー 東京
気温
日にち
対応あり:プログラミング
stats.ttest_rel:対応あり
日にちが対応している
stats.ttest_ind:対応なし
日にちが対応してない場合
85
今回は対応あり! 帰無仮説は「福岡と東京の8月の気温に差はない」
p < 0.05 で有意性あり!
(福岡と東京に対応ありで気温差はある!)
練習6
t検定(対応あり)
アメリカの都市ごとの女性の労働率の平均の差に対する検
定:72年と86年で差はあるか?
86
NYC
1972年、1968年
0.45 0.42
対応あり,なしの例
成績データ
対応あり:同じ10人で国語と数学の平均を比較
対応なし:違う10人で国語と数学の平均を比較
効果測定(薬など)
対応あり:被験者10人に高血圧症薬Aを与えて、
投薬前と投薬後で血圧の違いを比較
対応なし:薬Aを与えた被験者10人と,
薬Bを与えた被験者10人に分けて比較
87
平均の差の検定(t 検定):片側検定
 帰無仮設は「平均が同じ」⇒棄却
 あくまで、「平均は違う」ということしか言っていない
 大小関係を言いたい場合は、片側検定でよい
880
両側
検定
95%信頼区間
両側足して5%
t値
t分布 t値
片側
検定
0.0250.025
0.05 片側だけで5%
分散分析(ANOVA)の必要性
 3群以上(例えば工学部,理学部,経済学部で英語の点数に
差があるか?)の場合、各組合せでt検定を行ってよい?
89
母集団
標本A 標本B 標本C
母集団
の分布
標本
分布A
標本
分布B
標本
分布C
差がないと仮定すると
母集団の分布は同じ
たまたま点数が偏って標本されたかもしれない
群数が多いと、偏って標本される可能性が増える!
群間同士の分散を考慮した
検定(分散分析)が必要!
分散分析:プログラミング
3群以上(例えば福岡,東京,京都の3地点の気温に
差があるか?)の場合は分散分析が必要です
次のデータを使って考えてみます
temperature_FTK_August.csv
(福岡,東京京都の2016年8月 の気温)
90
分散分析:プログラム:可視化
分布を箱ひげ図(boxplot)で可視化
91福岡 東京 京都
最大
最小
第二四分位
第一四分位
第三四分位
分散分析:プログラム
帰無仮説:東京、京都、福岡の8月の気温に
差はない
92
t値:11.8908068734
p値:2.61618782054e-05
P < 0.05 で有意性あり!
(福岡と東京、京都の8月の気温に差はある!)
多重比較
どの項目とどの項目に差があるのか比較
Tukey-Kramerの検定を利用
93
多重比較結果例
94
================================
============
group1 group2 meandiff lower upper reject
--------------------------------------------
0.0 1.0 -2.1935 -3.3511 -1.036 True
0.0 2.0 -0.3226 -1.4802 0.835 False
1.0 2.0 1.871 0.7134 3.0286 True
--------------------------------------------
どの項目とどの項目に差があるのか比較
Tukey-Kramerの検定を利用
結果
福岡ー東京間に差がある
福岡ー京都間に差がない
東京ー京都間に差がある
0:福岡
1:東京
2:京都
比率の検定:カイ二乗検定
 喫煙者と非喫煙者で肺癌の割り合いを調査
 喫煙者と非喫煙者で肺癌になる割合が異なるように見える
 喫煙者で肺癌になる割合:40%
 非喫煙者で肺癌になる割合:20%
 この比率の差は、標本時にたまたま偏ってうまれた差?
⇒比率の検定:カイ二乗検定
95
正常 肺癌 合計
喫煙者 60 40 100
非喫煙者 120 30 150
合計 180 70 250
比率の検定:カイ二乗検定
 帰無仮説:「喫煙者と非喫煙者で肺癌になる割合に差はない」
 実際の標本調査の数:観測度数
 比率に差がないとしたときの期待される数:期待度数
 観測度数と期待度数を比べる
 カイ二乗値
96
正常 肺癌 合計
喫煙者 60(72) 40(28) 100
非喫煙者 120(108) 30(42) 150
合計 180 70 250
(観測度数 − 期待度数)2
期待度数
=
(72 − 60)2
72
+ ⋯ +
(42 − 30)2
42
比率の検定:カイ二乗検定
 観測度数と期待度数を比べる
 カイ二乗値
 カイ2乗値を用いて、カイ二乗分布よりp値を算出
97
正常 肺癌 合計
喫煙者 60(72) 40(28) 100
非喫煙者 120(108) 30(42) 150
合計 180 70 250
(観測度数 − 期待度数)2
期待度数
=
(72 − 60)2
72
+ ⋯ +
(42 − 30)2
42
比率の検定:カイ二乗検定
 観測度数と期待度数を比べる
 カイ二乗値
 カイ2乗値を用いて、カイ二乗分布よりp値を算出
98
正常 肺癌 合計
喫煙者 60(72) 40(28) 100
非喫煙者 120(108) 30(42) 150
合計 180 70 250
(観測度数 − 期待度数)2
期待度数
=
(72 − 60)2
72
+ ⋯ +
(42 − 30)2
42
自由度:df = (r-1)(k-1) #r = 表の行の数,k = 表の列の数
比率の検定:カイ二乗検定
99
カイ二乗値:11.9047619048
p値 :0.00771662938674
有意差あり
その他注意事項
順序尺度(5段階アンケートなど)は
通常の t 検定で分析してはいけません
ノンパラメトリック 検定をやるのが一般的
ただし、許されている分野もある。。。
検定方法は色々な方法があります
不安な場合は調べましょう
(webで検索すれば良いサイトがたくさんあります)
100
演習問題
演習1:アイリスデータ分析
102
アイリスデータ
Iris_2metrics2.csv
3クラス
Iris-setosa
Iris-versicolor
Iris-virginica
指標
sepal length
petal length
https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data
演習1-1:ヒストグラム
103
 “iris_2metrics2.csv”を読み込んで、sepal-lengthとpetal-
lengthそれぞれのヒストグラムを作成してみよう
 ヒント
 データ読み込み:
 import pandas as pd
 pd.read_csv(‘’)
 ヒストグラム
 Import matplotlib.pyplot as plt
 plt.hist()
演習1-2:正規分布での表現
104
 それぞれのデータ分布に対して、正規分布で表現
 ヒント
 各項目の平均、分散を求めて、その2つのパラメータで正規分布を作成
 x = np.arange(min,max,0.01)
 plt.plot(x,norm.pdf(x,loc=mu,scale=sigma),lw=3,color="r")
演習1-3:クラスごとに可視化
105
 petal-lengthは、2つの分布があるように見える
⇒クラスに分けてヒストグラム及び正規分布で表現
 ヒント
 クラスごとに分類
 irisSetosa = iris[iris.iloc[:,2]=='Iris-setosa']
 irisVersicolor = iris[iris.iloc[:,2]=='Iris-versicolor']
 irisVirginica = iris[iris.iloc[:,2]=='Iris-virginica']
演習1-4:母平均の信頼区間の推定
106
 “iris_2metrics2.csv”を読み込んで、sepal-lengthの母平均の
95%信頼区間を推定せよ
 ヒント
 信頼区間の求め方
 alpha = 0.95 # 信頼係数95%
 n = len(iris['sepal-length']) # sample数
 t = stats.t.ppf(1-(1-alpha)/2, n-1) # t分布を用いて確率変数tを計算
 t_min = mu - t * sigma / np.sqrt(n-1) # 下限
 t_max = mu + t * sigma / np.sqrt(n-1) # 上限
演習1-5:平均の差の検定
107
 “iris_2metrics2.csv”を読み込んで、sepal-lengthとpetal-
lengthの平均の差を棄却域5%で検定せよ
 ヒント
 検定
 from scipy import stats
 t, p = stats.ttest_ind(データA, データB, equal_var=False)
演習1-6:平均の差の検定
108
 クラスを分けて、それぞれsepal-lengthとpetal-lengthの差を
棄却域5%で検定せよ
 ヒント
 from scipy import stats
 t, p = stats.ttest_ind(データA, データB, equal_var=False)
クラスごとに分類
 irisSetosa = iris[iris.iloc[:,2]=='Iris-setosa']
 irisVersicolor = iris[iris.iloc[:,2]=='Iris-versicolor']
 irisVirginica = iris[iris.iloc[:,2]=='Iris-virginica']
演習1-7:分散分析
109
 “iris.csv”を読み込んで、sepal-length,sepal-width,petal-
length,petal-widthの平均に差があるかを検定せよ
 ヒント
 分散分析
 from scipy import stats
 t, p = stats.f_oneway(データA,データB,データC,データD)
演習2
以下のデータに対し,仮説で t 検定を行い,
平均の差に有意性はあるか,ないか答えよ
• 有意水準は 0.05 とする
• ヒント:対応あり,なし.2群,3群以上
生徒A~Jの成績データ
• grade1.csv
• grade2.csv
• grade3.csv
110

統計分析