コンテンツにスキップ

第09回 仮説検定(2):分散分析(ANOVA)

12/1(火)Ⅱ講 10:35〜12:15・B402教室

3つ以上を比べるとき、t検定を繰り返してはいけない ―― 偽陽性の罠


この回のゴール

  • 検定を繰り返すと偽陽性(多重比較の罠)が増えることを説明できる
  • ANOVA(分散分析)で3群以上を一括判定できる
  • F値の意味と、事後検定・補正の必要性を理解する

到達目標との対応: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検定」してはいけない。


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 = \frac{\text{群間のばらつき(グループの平均どうしの違い)}}{\text{群内のばらつき(同じグループ内の個人差)}} \]
  • F が大きい = グループ間の差が個人差より大きい → 「差がある」
  • F が1前後 = グループの違いは個人差の範囲 → 「差があるとは言えない」(今回)

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群では64%がまぐれで有意」「3科の体重のANOVAはF=151.89」「月降水量ではF=0.08, p=0.92」)。引用がない記述は満点になりません。

B1.(30点) ある研究者が、6種類のダイエット食品それぞれについて「食べた群 vs 食べない群」で個別にt検定を行い、「6つのうち1つで p<0.05 が出たので、その食品には効果がある」と発表した。この分析の何が問題かを、今日学んだ多重比較の観点から指摘し、どうすべきだったかを述べなさい。

B2.(30点) 3つの科の生息地の月降水量は、平均が 158.7 / 161.3 / 154.8 mm と少し違って見えたのに、ANOVAでは「差があるとは言えない」(F=0.08, p=0.92)という結果だった。見かけの平均差があるのに「差なし」になるのはなぜか、F値(群間のばらつきと群内のばらつき)の考え方を使って説明しなさい。

目安:B1・B2あわせて350〜550字。自分の言葉で書くこと。

次回予告

第10回「回帰分析:単回帰と重回帰」。2変数の関係を数式(モデル)で表す。データを式で説明する試みと、その限界へ。