コンテンツにスキップ

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

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

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


考え方をガイドで確かめる

この回の考え方は、統計の考え方ガイドの「仮説検定と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回とも誤らない」確率は積になる。

\[ \Pr(\text{1つも誤らない}) \;=\; (1-\alpha)^m \]

よって「少なくとも1つはまぐれで有意」になる確率は、その余事象で

\[ \Pr(\text{最低1つ有意}) \;=\; 1-(1-\alpha)^m \]

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

全体のばらつき(総平方和)を、全体平均 \( \bar{x} \) からのズレの二乗和で測る。各データ \( x_{ij} \)(第 i 群の j 番目)のズレを、群平均 \( \bar{x}_i \) を経由して2つに分ける。

\[ x_{ij}-\bar{x} \;=\; \underbrace{(x_{ij}-\bar{x}_i)}_{\text{群内のズレ}} \;+\; \underbrace{(\bar{x}_i-\bar{x})}_{\text{群間のズレ}} \]

両辺を二乗して全データで合計すると、交差項が現れる。

\[ \sum_i\sum_j (x_{ij}-\bar{x})^2 = \sum_i\sum_j (x_{ij}-\bar{x}_i)^2 + \sum_i\sum_j(\bar{x}_i-\bar{x})^2 + 2\sum_i (\bar{x}_i-\bar{x})\sum_j (x_{ij}-\bar{x}_i) \]

ここで最後の項に注目する。内側の \( \sum_j (x_{ij}-\bar{x}_i) \) は、その群の中での偏差の和である。第3回で見たとおり、平均からの偏差を足すと必ず 0 になる。だから交差項は丸ごと消える。残るのは

\[ SS_{\text{全体}} \;=\; SS_{\text{群内}} \;+\; SS_{\text{群間}} \]

ばらつきは、群の中のばらつきと、群どうしのばらつきに、余りなく分解できる。 ANOVA という名前(分散分析)はこの分解に由来する。差を見るのに「分散」を調べるのは遠回りに見えるが、実際にはこの等式があるからこそ、1回の比較で全群をまとめて扱える。

数値で確かめる:3科の体重(対数)では \( SS_{\text{全体}} = 31.6682 \)、\( SS_{\text{群間}} = 26.0865 \)、\( SS_{\text{群内}} = 5.5817 \)。後者2つの和は 31.6682 で、総和と小数点以下14桁まで一致する。

使った数学:二乗の展開と二重和の入れ替え(線I)、偏差の和がゼロという性質(第3回)。

導出③:F は「ばらつきの比」――なぜ1が基準になるのか

平方和は、足すデータが多いほど大きくなる。そのまま比べては不公平なので、それぞれの自由度で割って1個あたりに直す。これが平均平方である。

\[ MS_{\text{群間}} = \frac{SS_{\text{群間}}}{k-1}, \qquad MS_{\text{群内}} = \frac{SS_{\text{群内}}}{N-k}, \qquad F = \frac{MS_{\text{群間}}}{MS_{\text{群内}}} \]

自由度が \( 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変数の関係を数式(モデル)で表す。データを式で説明する試みと、その限界へ。