第5章 5-8 / 線形モデル分析

1元配置分散分析 — 群間変動・群内変動とF比

このページで学ぶこと

前回まで(4-6 など)の母平均の差の検定は、相手が2群まででした。では「肥料A・B・Cで収穫量に差はあるか」のように3群以上を一度に比べたいときはどうするか。$t$ 検定をペアごとに繰り返す方法は、じつは危険です。そこで登場するのが分散分析(ANOVA)。1つの要因で群分けした場合を1元配置分散分析と呼びます。

分散分析の心臓部は、データ全体のばらつき(総変動)を群間変動群内変動のふたつにきれいに分ける式です。この2つの比から $F$ 比を作り、$F$ 分布で「群の母平均はすべて等しいか」を判定します。変動の分解 → 分散分析表 → 数値例の順に、紙で追える形で組み立てていきましょう。

さえちゃん
さえ

「分散分析」って名前なのに、調べたいのは平均の差なんだよね。ここが最初の引っかかりポイント! でも大丈夫。「群と群のあいだのばらつき」が「群の中のばらつき」より大きければ、平均に差があるって判断するの。ばらつきの比で平均の差を見抜く──うまくできてるよ。一緒に追っていこう!

1. なぜ t 検定の繰り返しではダメなのか

3群 A・B・C の母平均を比べたいとき、「A対B」「A対C」「B対C」の3回 $t$ 検定をすればよさそうに見えます。しかしこれは多重性(多重比較)の問題を引き起こします。1回ごとの有意水準は $5\%$ でも、検定を何度も繰り返すと「どこかで偶然に有意が出てしまう」確率がじわじわ膨らむのです。

POINT

各検定で「正しく棄却しない」確率が $0.95$ なら、3回すべてで誤らない確率は最大で $0.95^3 \approx 0.857$。つまり「どれか1つでも誤って有意と判定する」確率は $1-0.857 \approx 0.143$ まで上がります。本当は差がないのに「差あり」と言ってしまう第1種の誤りが、$5\%$ のつもりが $14\%$ に膨らむ──これが多重性のこわさです。

そこで分散分析は、3群以上をたった1回の検定でまとめて調べます。帰無仮説は「すべての群の母平均が等しい」、対立仮説は「少なくとも1つの群の母平均が他と異なる」です。

FORMULA

$k$ 個の群の母平均を $\mu_1, \mu_2, \dots, \mu_k$ とするとき、 $$H_0:\ \mu_1 = \mu_2 = \dots = \mu_k$$ $$H_1:\ \text{少なくとも1つの } \mu_i \text{ が他と異なる}$$ $H_0$ が棄却されても「どの群が違うか」までは分かりません。そこは多重比較(後述)の出番です。

2. ばらつきで平均の差を見抜くアイデア

「平均の差を調べたいのに、なぜ分散(ばらつき)を見るの?」──これが分散分析最大の急所です。直感はこうです。もし群ごとの平均がバラバラなら、群と群のあいだのばらつきが大きくなります。一方、データはもともと群の中でも個体差でばらつきます。この群内の自然なばらつきを物差しにして、群間のばらつきが「物差しより明らかに大きいか」を見るのです。

記号を決めます。群 $i$($i=1,\dots,k$)の $j$ 番目の観測値を $x_{ij}$、群 $i$ の標本サイズを $n_i$、群 $i$ の標本平均(群平均)を $\bar{x}_i$、全データの平均(総平均)を $\bar{x}$ と書きます。総データ数は $n=\sum_{i=1}^{k} n_i$ です。

総平均 x̄ 群1 x̄₁ 群2 x̄₂ 群3 x̄₃ 群間(x̄ᵢ−x̄) 群内(xᵢⱼ−x̄ᵢ)

変動の2分解:群平均が総平均からどれだけ離れているか(群間)と、各点が自分の群平均からどれだけ離れているか(群内)

3. 総変動=群間変動+群内変動(変動の分解)

各観測値 $x_{ij}$ が総平均 $\bar{x}$ からどれだけ離れているかを、ふたつのステップに分けて書きます。これが分散分析の出発点です。

DERIVATION

まず1つの観測値の総平均からのズレを、群平均を経由してふたつに分けます。 $$ \begin{aligned} x_{ij}-\bar{x} &= (\bar{x}_i - \bar{x}) + (x_{ij}-\bar{x}_i) \\[2pt] &= \underbrace{(\bar{x}_i - \bar{x})}_{\text{群間:群平均のズレ}} + \underbrace{(x_{ij}-\bar{x}_i)}_{\text{群内:群の中のズレ}} \end{aligned} $$ 両辺を二乗して全データで合計すると、うまいことにクロス項(積の項)が消えて、次の分解が成り立ちます。 $$ \sum_{i=1}^{k}\sum_{j=1}^{n_i}(x_{ij}-\bar{x})^2 = \sum_{i=1}^{k} n_i(\bar{x}_i-\bar{x})^2 + \sum_{i=1}^{k}\sum_{j=1}^{n_i}(x_{ij}-\bar{x}_i)^2 $$

クロス項が消えるのは、群 $i$ の中で $\sum_{j}(x_{ij}-\bar{x}_i)=0$(各点の群平均からのズレを足すとゼロ)になるからです。群平均はその群のズレの合計をちょうど打ち消す点だ、という性質ですね。おかげで3つの「平方和(Sum of Squares)」が足し算でつながります。

FORMULA

3つの平方和に名前をつけます。 $$ \underbrace{SST}_{\text{総変動}} = \underbrace{SSB}_{\text{群間変動}} + \underbrace{SSW}_{\text{群内変動}} $$ $$SST = \sum_{i}\sum_{j}(x_{ij}-\bar{x})^2,\quad SSB = \sum_{i} n_i(\bar{x}_i-\bar{x})^2,\quad SSW = \sum_{i}\sum_{j}(x_{ij}-\bar{x}_i)^2$$ $SSB$ は群間(between)、$SSW$ は群内(within)。級間変動・級内変動とも呼びます。

考え方は 5-2 の回帰での「全変動=回帰による変動+残差変動」とそっくりです。分散分析では「群で説明できるばらつき($SSB$)」と「群では説明しきれない誤差のばらつき($SSW$)」に分けている、と捉えると見通しが良くなります。

4. F比の構成と分散分析表

平方和そのものは、足すデータの個数が増えれば自然に大きくなります。そこで自由度で割って、1個あたりのばらつき=平均平方(Mean Square)に直します。これで群間と群内を公平に比べられます。

FORMULA

自由度は、群間が $k-1$(群の数 $k$ から総平均を推定したぶん1減)、群内が $n-k$(各群で1つずつ平均を推定したぶん $k$ 減)。平均平方は平方和を自由度で割って $$MSB = \frac{SSB}{k-1},\qquad MSW = \frac{SSW}{n-k}$$ この比が検定統計量 $F$ です。 $$F = \frac{MSB}{MSW} = \frac{SSB/(k-1)}{SSW/(n-k)}$$

なぜこの比で判定できるのでしょう。$H_0$(全群の母平均が等しい)が正しいとき、$MSB$ も $MSW$ もどちらも同じ母分散 $\sigma^2$ を推定する量になり、比はおよそ $1$ になります。逆に群の母平均に差があると、$SSB$(=群間のばらつき)が大きくなって $MSB$ が膨らみ、$F$ は $1$ より大きくなります。だから $F$ が大きいほど「差あり」を疑うわけです。

POINT

$H_0$ のもとで、この $F$ は自由度 $(k-1,\ n-k)$ の $F$ 分布に従います(2-12 で見た「2つの $\chi^2$ の比」がまさにこれ)。上側 $\alpha$ 点 $F_\alpha(k-1,\ n-k)$ より $F$ が大きければ $H_0$ を棄却します。$F$ 検定は片側(上側)だけを見る点に注意。群間が大きいときだけ棄却したいからです。

これらを1枚にまとめたのが分散分析表です。要因・平方和(SS)・自由度(df)・平均平方(MS)・$F$ 値を並べます。試験ではこの表の空欄を埋める問題が頻出です。

変動要因 平方和 SS 自由度 df 平均平方 MS F 値
群間(級間) $SSB$ $k-1$ $MSB=\dfrac{SSB}{k-1}$ $F=\dfrac{MSB}{MSW}$
群内(級内・誤差) $SSW$ $n-k$ $MSW=\dfrac{SSW}{n-k}$
全体 $SST$ $n-1$

自由度も $\,(k-1)+(n-k)=n-1\,$ と、平方和と同じくきれいに足し算でつながります。表の検算では「SS の縦の和」「df の縦の和」が一致するかをまず確かめると安心です。

さえちゃん
さえ

$F$ 比は「群間のばらつき ÷ 群内のばらつき」。群内はもともとの誤差=物差しだよ。その物差しに対して群間が何倍大きいか、を見てるの。物差しと同じくらい($F\approx1$)なら差なし、物差しよりずっと大きいなら差あり! 平方和そのままじゃなく、必ず自由度で割って MS にしてから比べるのを忘れずにね。

5. 数値例:3群の比較

実際に表を完成させてみましょう。3種類の肥料 A・B・C を、それぞれ別の区画 $5$ つに与えたときの収穫量(単位はそろえてあるとします)です。各群 $n_i=5$、群数 $k=3$、総数 $n=15$。有意水準は $\alpha=0.05$ とします。

EXAMPLE(1元配置分散分析)

データと群平均は次のとおりです。

観測値群平均 $\bar{x}_i$
A$20,\ 22,\ 19,\ 24,\ 25$$22$
B$28,\ 30,\ 27,\ 26,\ 29$$28$
C$21,\ 23,\ 20,\ 22,\ 24$$22$

総平均は $\bar{x}=\dfrac{22+28+22}{3}=24$(全データの単純平均でも同じく $24$)。まず群間変動 $SSB$ を、各群平均の総平均からのズレで計算します。 $$ \begin{aligned} SSB &= \sum_{i} n_i(\bar{x}_i-\bar{x})^2 \\[2pt] &= 5(22-24)^2 + 5(28-24)^2 + 5(22-24)^2 \\[2pt] &= 5\cdot 4 + 5\cdot 16 + 5\cdot 4 = 20+80+20 = 120 \end{aligned} $$ 次に群内変動 $SSW$。各点の自分の群平均からのズレを二乗して足します(群Aは $\bar{x}_1=22$ から測ります)。 $$ \begin{aligned} SSW_A &= (20-22)^2+(22-22)^2+(19-22)^2+(24-22)^2+(25-22)^2 \\[2pt] &= 4+0+9+4+9 = 26 \\[2pt] SSW_B &= (28-28)^2+(30-28)^2+(27-28)^2+(26-28)^2+(29-28)^2 = 0+4+1+4+1 = 10 \\[2pt] SSW_C &= (21-22)^2+(23-22)^2+(20-22)^2+(22-22)^2+(24-22)^2 = 1+1+4+0+4 = 10 \end{aligned} $$ 合計して $SSW = 26+10+10 = 46$。総変動は $SST = SSB+SSW = 120+46 = 166$(全点の $\sum(x_{ij}-24)^2$ を直接計算しても $166$ で一致します)。

自由度は群間 $k-1=2$、群内 $n-k=15-3=12$、全体 $n-1=14$。分散分析表は次のとおりです。

変動要因SSdfMSF
群間$120$$2$$60$$15.65$
群内$46$$12$$3.83$
全体$166$$14$

$MSB=120/2=60$、$MSW=46/12\approx 3.83$ なので $$F = \frac{MSB}{MSW} = \frac{60}{3.83} \approx 15.65$$ 自由度 $(2,\ 12)$ の上側 $5\%$ 点は $F_{0.05}(2,12)\approx 3.89$。$F=15.65 > 3.89$ なので $H_0$ を棄却します。「3種類の肥料で収穫量の母平均は等しい」とは言えない、つまり少なくともどれかは違うと判断できます($p$ 値はおよそ $0.0005$)。

6. 多重比較への注意 ─ 「どこが違うか」は別問題

分散分析で $H_0$ を棄却できても、わかるのは「どこかに差がある」までです。上の例なら、群平均から「Bだけ高そう」と当たりはつきますが、それを統計的に主張するには、改めて多重比較法が必要になります。

POINT

多重比較は、§1で見た多重性の問題を制御しながら群のペアを比べる手法の総称です。代表的なものに、有意水準を比較回数で割って厳しくするボンフェローニ法などがあります。分散分析が「全体として差があるか」の入口の検定、多重比較が「具体的にどのペアが違うか」の出口の検定、という二段構えで覚えておきましょう。

なお、群がちょうど2つ($k=2$)のときの1元配置分散分析は、等分散を仮定した2標本 $t$ 検定(4-6)と完全に一致し、$F=t^2$ の関係が成り立ちます。$F$ 検定は2群の $t$ 検定を多群へ自然に拡張したもの、と捉えると腑に落ちます。

まとめ

第5章 5-8、ポイントを整理します。

次回 5-9 2元配置分散分析 では、要因を2つに増やします。要因A・要因Bそれぞれの主効果に加えて、「一方の効果が他方の水準で変わる」という交互作用という新しい考え方が登場します。今日の変動の分解が、そのままもう一段細かくなるだけですよ。

さえちゃん
さえ

分散分析、流れはつかめたかな? 「総変動を群間と群内に分けて、$MS$ の比=$F$ で判定」がぜんぶの骨格だよ。表の空欄埋めは試験の定番だから、SS と df が縦に足し算でつながることを使って検算してね。次は要因を2つにした2元配置! 交互作用がカギになるよ。