第09回 仮説検定(2):分散分析(ANOVA)¶
12/1(火)Ⅱ講 10:35〜12:15・B402教室
3つ以上を比べるとき、t検定を繰り返してはいけない ―― 偽陽性の罠
今日のリンク
- 📊 スライドを開く
- 📓 Colabノートを開く(09_anova.ipynb)
- 📝 課題を提出する(Moodle・第9回)
- 課題の本文はこのページの末尾にあります
考え方をガイドで確かめる
この回の考え方は、統計の考え方ガイドの「仮説検定とp値」でも解説しています。霊長類のデータを動かしながら確かめられます。
この回のゴール¶
- 検定を繰り返すと偽陽性(多重比較の罠)が増えることを説明できる
- ANOVA(分散分析)で3群以上を一括判定できる
- F値の意味と、事後検定・補正の必要性を理解する
- 発展:偽陽性が増える式と、平方和の分解 \( SS_{\text{全体}}=SS_{\text{群間}}+SS_{\text{群内}} \) を、自分で導ける
到達目標との対応:G2。
0. フック¶
3つの科(オマキザル科・クモザル科・コビトキツネザル科)で体重に差があるか調べたい。 「じゃあ、オマキvsクモ・クモvsコビト・オマキvsコビト と、全ペアで t検定すればいいよね?」
――この『全ペアでt検定』が、実は危ない。
1. なぜ「繰り返し」がダメなのか¶
1回のt検定は「本当は差がないのに、まぐれで有意」と誤る確率を 5%(α) 許している。
では検定を何回もやったら? 毎回5%の落とし穴があるのだから、回数が増えるほど「どれか1つはまぐれで有意」になりやすい。
2. 多重比較の罠(シミュレーション)¶
本当はすべて同じ母集団(=差がまったくない) の k 個の群に、全ペアで t検定する。「最低1つでも有意」になる割合を数えると:
| 群数 k | ペア数 | まぐれで有意になった割合 |
|---|---|---|
| 2 | 1 | 約 6% |
| 3 | 3 | 約 12% |
| 5 | 10 | 約 30% |
| 10 | 45 | 約 64% |
差がないのに『発見』が増える
差はまったくないのに、群が増える(=検定回数が増える)ほど「最低1つ有意」が増える。 10群なら6割以上がまぐれの「発見」。検定の回数を増やすほど、偽の発見が紛れ込む。
だから3群以上を「全ペアt検定」してはいけない。
導出①:偽陽性はなぜ増えるのか(そして、この式の限界)
1回の検定で「本当は差がないのに有意」と誤る確率を \( \alpha \) とする。誤らない確率は \( 1-\alpha \)。
いま \( m \) 回の検定を行い、それらが互いに独立だと仮定する。すると「m回とも誤らない」確率は積になる。
よって「少なくとも1つはまぐれで有意」になる確率は、その余事象で
群数が \( k \) なら、全ペアの数は \( m = \binom{k}{2} = \dfrac{k(k-1)}{2} \)。k が増えると m は二次で増えるので、この確率は急速に1に近づく。「検定を繰り返すほど偽の発見が増える」は、この積の形の帰結である。
この式は『独立』を使っている。だが全ペア検定は独立ではない
上の式は m 回の検定が互いに独立なときのものである。しかし全ペアt検定は独立ではない。オマキ vs クモ と オマキ vs コビト は、どちらも同じオマキザル科のデータを共有している。片方がたまたま外れた標本を引けば、もう片方も同じ方向に引きずられる。検定どうしが正に相関するのだ。
実際、上の表の実測値と式の値はずれている。
| 群数 k | ペア数 m | \( 1-(1-\alpha)^m \) | 本文の実測 |
|---|---|---|---|
| 2 | 1 | 5.0% | 約 6% |
| 3 | 3 | 14.3% | 約 12% |
| 5 | 10 | 40.1% | 約 30% |
| 10 | 45 | 90.1% | 約 64% |
k が大きいほど実測が式を下回る。検定が正に相関していると「どれか1つが当たる」機会は独立のときより少なくなるからである。この式は増え方の勢いを示す目安であって、正確な偽陽性率ではない。 正確に扱うには、検定統計量の同時分布を考える必要がある(テューキー法などはそれを行っている)。
使った数学:余事象の確率と積の法則(微I・確率の基礎)、組み合わせ \( \binom{k}{2} \)(線I・離散数学)。
3. ANOVA ―― まず1回で「どこかに差があるか」¶
分散分析(ANOVA)は、3群以上を一度の検定で「どこかに差があるか」だけを判定する。検定を繰り返さないので偽陽性が増えない。
3つの科の体重で実行すると(対数スケール):
| 科 | 体重の中央値(n) |
|---|---|
| オマキザル科 | 492 g(39種) |
| クモザル科 | 6,652 g(16種) |
| コビトキツネザル科 | 69 g(13種) |
ANOVA:F = 151.89、p = 3×10⁻²⁵
圧倒的に有意。中央値が桁で違うのだから当然である。F=151.89 は「グループ間の差が、群内のばらつきの150倍」という意味。
対照実験 ―― F が1前後だと、どう見えるか¶
同じ科の枠組みで、差がなさそうな量を調べる。「科によって、生息地の降水量に差はあるか?」
| 科 | 月降水量の平均(n) |
|---|---|
| オナガザル科 | 158.7 mm(130種) |
| クモザル科 | 161.3 mm(24種) |
| サキ科 | 154.8 mm(26種) |
ANOVA:F = 0.08、p = 0.92
平均値の見かけの違いは、群内のばらつきに完全に埋もれている。(見かけの平均差にだまされない、という第2〜3回の教訓ともつながる。)
「有意でなかった」も立派な結果
ただしこれは「差がないことの証明」ではない。「この種数・このばらつきでは、差を検出できなかった」が正確な言い方である。
F値の気持ち¶
ANOVAは2種類のばらつきを比べる。
- F が大きい = グループ間の差が個人差より大きい → 「差がある」
- F が1前後 = グループの違いは個人差の範囲 → 「差があるとは言えない」(今回)
導出②:ばらつきは、群間と群内にきれいに分かれる
全体のばらつき(総平方和)を、全体平均 \( \bar{x} \) からのズレの二乗和で測る。各データ \( x_{ij} \)(第 i 群の j 番目)のズレを、群平均 \( \bar{x}_i \) を経由して2つに分ける。
両辺を二乗して全データで合計すると、交差項が現れる。
ここで最後の項に注目する。内側の \( \sum_j (x_{ij}-\bar{x}_i) \) は、その群の中での偏差の和である。第3回で見たとおり、平均からの偏差を足すと必ず 0 になる。だから交差項は丸ごと消える。残るのは
ばらつきは、群の中のばらつきと、群どうしのばらつきに、余りなく分解できる。 ANOVA という名前(分散分析)はこの分解に由来する。差を見るのに「分散」を調べるのは遠回りに見えるが、実際にはこの等式があるからこそ、1回の比較で全群をまとめて扱える。
数値で確かめる:3科の体重(対数)では \( SS_{\text{全体}} = 31.6682 \)、\( SS_{\text{群間}} = 26.0865 \)、\( SS_{\text{群内}} = 5.5817 \)。後者2つの和は 31.6682 で、総和と小数点以下14桁まで一致する。
使った数学:二乗の展開と二重和の入れ替え(線I)、偏差の和がゼロという性質(第3回)。
導出③:F は「ばらつきの比」――なぜ1が基準になるのか
平方和は、足すデータが多いほど大きくなる。そのまま比べては不公平なので、それぞれの自由度で割って1個あたりに直す。これが平均平方である。
自由度が \( k-1 \) と \( N-k \) なのは、導出①(第8回)と同じ理由である。群間では全体平均を、群内では各群の平均を、データから計算して使ってしまっている。
ここが要点である。帰無仮説(どの群も同じ母集団)が正しいとき、分子と分母はどちらも同じ \( \sigma^2 \) の不偏推定になる。 第8回の導出①で見たとおり、自由度で割った二乗和の期待値は \( \sigma^2 \) だからだ。同じものを2通りに見積もって割り算しているのだから、比は 1 のあたりに来る。
群に本当の差があると、\( \bar{x}_i \) どうしが離れるので分子だけが膨らむ。分母は群内の個人差のままである。だから F が大きい=群間のばらつきが個人差では説明しきれない、となる。
数値で確かめる:3科の体重では \( MS_{\text{群間}} = 13.0433 \)(自由度2)、\( MS_{\text{群内}} = 0.0859 \)(自由度65)で、比は F = 151.89。また、差のない3群を同じ標本サイズで2万回つくると F の平均は 1.037 となり、理論値 \( df_2/(df_2-2) = 1.032 \) とほぼ一致する(中央値は 0.698 で、分布が右に裾を引いているため平均より小さい)。
F 分布そのものは扱わない
「F がいくつ以上なら有意か」を決めるには F 分布の密度関数が要る。これは2つの \( \chi^2 \) 分布の比として定まるもので、このコースでは扱わない。ここで導けるのは F の作り方と、なぜ1が基準になるのかまでである。
使った数学:自由度による標準化(微I)、期待値の線形性、第8回の導出①。
4. ANOVAが有意だったら ―― 事後検定と補正¶
ANOVAが教えるのは「どこかに差がある」まで。どのペアかは別途調べる(事後検定)。その際も検定を繰り返すので、有意水準を厳しくする補正をかける。
- ボンフェローニ補正:α を検定回数で割る。例:5群=10ペアなら α=0.05/10=0.005 を各検定の基準に。これで全体の偽陽性を5%に抑える。
よくある誤り
「ANOVAが有意 = すべての群が互いに違う」――ちがう。 ANOVAが言うのは「どこかに差がある」だけ。どのペアかは事後検定で確かめる。
まとめ¶
| 概念 | ひとこと |
|---|---|
| 多重比較の罠 | 検定を繰り返すほど、まぐれの有意(偽陽性)が増える |
| ANOVA | 3群以上を1回で「どこかに差があるか」判定。偽陽性が増えない |
| F値 | 群間のばらつき ÷ 群内のばらつき。大きいほど差あり |
| 事後検定+補正 | どのペアかは別途。ボンフェローニ補正で α を回数で割る |
| ❌ 誤り | 全ペアt検定でOK/ANOVA有意=全群が違う |
群が3つ以上なら、t検定を繰り返さない。まずANOVAで一括判定。 「有意」は『どこかに差』であって『全部違う』ではない。 何度も試せばいつか「当たる」。これは第1回の大数の法則の裏返しで、少数の偶然に意味を見てしまう癖そのものだ。繰り返すなら、繰り返した回数の分だけ厳しくする。
今日の課題(Moodle提出)¶
配点:100点(選択40点 + 記述60点)/ 提出先:Moodle / 提出期限:次回授業の開始時刻まで
Colab 09_anova.ipynb を実行したうえで答えること。
パートA:選択問題(各10点 ×4=40点)¶
A1. 本当はどの群も差がないのに、群(検定回数)を 2→3→5→10 と増やして全ペアt検定すると、「最低1つ有意」になった割合はどうなったか。
- (ア) ずっと5%で変わらない
- (イ) 約6%→12%→30%→64% と増えた
- (ウ) 約64%→30%→12%→6% と減った
A2. なぜ3群以上で「全ペアt検定」を避けるべきか。最も適切なのは?
- (ア) 計算が面倒だから
- (イ) 検定を繰り返すほど、まぐれで有意になる偽陽性が増えるから
- (ウ) t検定は2群でも使えないから
A3. ANOVA(分散分析)が判定するのは何か。最も適切なのは?
- (ア) どの2つの群が違うかを正確に特定する
- (イ) 「どこかに差があるか」を1回でまとめて判定する
- (ウ) 効果量を計算する
A4. 「ANOVAが有意(p<0.05)だった」。ここから正しく言えるのは?
- (ア) すべての群が互いに異なる
- (イ) どこかに差がある。どのペアかは事後検定で確かめる必要がある
- (ウ) 群1が最も大きい
パートB:記述問題(AIフィードバック対象・60点)¶
【全記述に共通・重要】自分の出力を引用すること
記述には、今日のColabであなたのノートが出した数値を最低1つ引用すること。ここには値を書かない。自分の画面に出た値を使うこと。 引ける量の例:「10群でまぐれに有意が出た割合」「3科の体重のANOVAのF値」「月降水量のF値とp値」。 引用がない記述は満点になりません。
B1.(30点) ある研究者が、6種類のダイエット食品それぞれについて「食べた群 vs 食べない群」で個別にt検定を行い、「6つのうち1つで p<0.05 が出たので、その食品には効果がある」と発表した。この分析の何が問題かを、今日学んだ多重比較の観点から指摘し、どうすべきだったかを述べなさい。
B2.(30点) 3つの科の生息地の月降水量は、平均が少し違って見えたのに、ANOVAでは「差があるとは言えない」という結果になった。あなたのノートに出た3つの平均とF値・p値を書いたうえで、見かけの平均差があるのに「差なし」になるのはなぜか、F値(群間のばらつきと群内のばらつき)の考え方を使って説明しなさい。
目安:B1・B2あわせて350〜550字。自分の言葉で書くこと。
字数は目安です。多少の過不足で減点はしません。見るのは、設問が挙げた要素(上の箇条書き)が書けているかどうかです。ただし要素が抜けていれば、その分は引きます。
次回予告
第10回「回帰分析:単回帰と重回帰」。2変数の関係を数式(モデル)で表す。データを式で説明する試みと、その限界へ。