統計 15 · 分散分析 (ANOVA) — 変動を分解して 3 群以上を比べる

Chapter 15

分散分析 (ANOVA) — 変動を分解して 3 群以上を比べる

この章がなぜ必要なのか——「t 検定を繰り返せばいい」が通用しない.

3 つの薬 A・B・C を比べたい。「A vs B」「B vs C」「A vs C」と t 検定を 3 回やればよさそうだ。 これは間違いである。

各検定の第 1 種の誤り率が 5% でも、3 回やれば全体で \(1-0.95^3 = 14.3\%\) になる。群が 5 つなら 10 通りの比較で 40%。 「どこかで有意」がほぼ確実に起きてしまう。

分散分析は、まず「どこかに差があるか」を 1 回の検定で判定する。 そしてその原理は、02 章から積み上げてきた「変動を二乗和で測る」という考えの、 最も美しい応用である。

この章で使う既出の用語(定義は各リンク先). 標本・統計量(01 章 2 節)、「偏差の和は 0」(02 章 2 節)、i.i.d.(04 章 5 節)、 条件付き期待値 \(E[Y\mid X]\)・条件付き分散と分散分解の公式(06 章 8 節)、正規分布 \(N(\mu,\sigma^2)\)(08 章 4 節)、 χ² 分布・標本分散との関係・直交分解(08 章 7 節)、F 分布(08 章 9 節)、 有意水準 \(\alpha\)・第 1 種の誤り(12 章 4 節)、検出力・効果量(12 章 5 節)、 t 検定・ウェルチの t 検定・対応あり t 検定(13 章)、ブラウン・フォーサイス検定(14 章 7 節)、Q-Q プロット(14 章 8 節)。 本章で残差と言えば、各データの群平均からのずれ \(x_{ij}-\bar x_{i\cdot}\) を指す。

1. 多重比較問題(この章の動機)

\(k\) 群のペアは \(\binom{k}{2}\) 通り。各検定が独立なら、少なくとも 1 回誤る確率(ファミリーワイズ誤り率)は

\[ \text{FWER} = 1-(1-\alpha)^m, \qquad m=\binom{k}{2} \]
群数 \(k\)比較数 \(m\)FWER
215.0%
3314.3%
4626.5%
51040.1%
104590.1%

10 群あれば、真の差が 1 つもなくても 9 割の確率でどこかが「有意」になる。 これを制御するのが分散分析(と 17 章の多重比較法)である。

2. 一元配置分散分析

設定

\(k\) 群、第 \(i\) 群のデータは \(x_{i1},\dots,x_{in_i}\)、全体で \(N=\sum n_i\)。

\[ H_0: \mu_1=\mu_2=\cdots=\mu_k, \qquad H_1: \text{どれかが異なる} \]

モデル

\[ x_{ij} = \mu + \alpha_i + \varepsilon_{ij}, \qquad \varepsilon_{ij}\sim N(0,\sigma^2) \text{ i.i.d.} \]

\(\mu\) は全体の平均水準、\(\alpha_i\) は第 \(i\) 群の効果(全体からのずれ)、\(\varepsilon_{ij}\) は偶然誤差で、互いに独立に平均 0・分散 \(\sigma^2\) の正規分布に従う(すべての群で同じ \(\sigma^2\))。 \(\mu\) と \(\alpha_i\) の分け方には自由度がある(\(\mu\) を 1 増やして全部の \(\alpha_i\) を 1 減らしても同じモデル)ので、条件を 1 本置いて決める。 \(\sum n_i\alpha_i=0\) と置くと、全データの平均の期待値がちょうど \(\mu\) になり、\(\alpha_i\) は「群 \(i\) が全体平均からどれだけずれるか」と読める。 \(H_0\) は「すべての \(\alpha_i=0\)」と同じ。

平方和の分解(この章の核心)

各データ点について、恒等式を書く。

\[ x_{ij}-\bar{x}_{\cdot\cdot} = \underbrace{(\bar{x}_{i\cdot}-\bar{x}_{\cdot\cdot})}_{\text{群の効果}} + \underbrace{(x_{ij}-\bar{x}_{i\cdot})}_{\text{群内のばらつき}} \]

(添字の位置に \(\cdot\) を書いたら「その添字について平均した」という記法。\(\bar x_{i\cdot} = \frac{1}{n_i}\sum_j x_{ij}\) = 第 \(i\) 群の平均、\(\bar x_{\cdot\cdot} = \frac1N\sum_i\sum_j x_{ij}\) = 全体平均。)

両辺を二乗して全体で足す。

\[ \sum_i\sum_j (x_{ij}-\bar x_{\cdot\cdot})^2 = \sum_i\sum_j\left[(\bar x_{i\cdot}-\bar x_{\cdot\cdot}) + (x_{ij}-\bar x_{i\cdot})\right]^2 \]
\[ = \sum_i\sum_j (\bar x_{i\cdot}-\bar x_{\cdot\cdot})^2 + 2\sum_i\sum_j(\bar x_{i\cdot}-\bar x_{\cdot\cdot})(x_{ij}-\bar x_{i\cdot}) + \sum_i\sum_j (x_{ij}-\bar x_{i\cdot})^2 \]

交差項が消える: \(i\) を固定すると \((\bar x_{i\cdot}-\bar x_{\cdot\cdot})\) は定数なので外に出せて、

\[ \sum_j (x_{ij}-\bar x_{i\cdot}) = 0 \]

(02 章の「偏差の和は 0」)。よって交差項は 0。したがって

\[ \boxed{SS_T = SS_{\text{群間}} + SS_{\text{群内}}} \]
記号名前式自由度
\(SS_T\)全平方和\(\sum\sum(x_{ij}-\bar x_{\cdot\cdot})^2\)\(N-1\)
\(SS_{\text{群間}}\)群間平方和\(\sum_i n_i(\bar x_{i\cdot}-\bar x_{\cdot\cdot})^2\)\(k-1\)
\(SS_{\text{群内}}\)群内平方和\(\sum_i\sum_j(x_{ij}-\bar x_{i\cdot})^2\)\(N-k\)

自由度も足し算になる: \((N-1) = (k-1)+(N-k)\)。

これは幾何学的にはピタゴラスの定理である. \(N\) 個のデータを並べた \(N\) 次元のベクトルを、「各成分を自分の群平均に置き換えたベクトル」(群の効果)と「残差 \(x_{ij}-\bar x_{i\cdot}\) のベクトル」に分解している。 上で示した「群内の偏差の和は 0」は、この 2 つのベクトルの内積が 0(直交する)ということを式で書いたものであり、同じ事実の 2 つの言い方である。 直交するベクトルの和の長さの二乗は、各長さの二乗の和になる(ピタゴラスの定理)——それが \(SS_T = SS_{\text{群間}} + SS_{\text{群内}}\) である。08 章 7 節で標本分散を扱ったときと同じ構造である。

06 章の分散分解の公式 \(V[Y]=E[V[Y|X]]+V[E[Y|X]]\) が、標本版として現れたものでもある。 \(X\) を「群番号」、\(Y\) を測定値と読めば、\(E[V[Y|X]]\)(群内分散の平均)が \(SS_{\text{群内}}/N\)、\(V[E[Y|X]]\)(群平均のばらつき)が \(SS_{\text{群間}}/N\) に対応する。

平均平方と F 統計量

平方和を自由度で割る(平均平方)。

\[ MS_{\text{群間}} = \frac{SS_{\text{群間}}}{k-1}, \qquad MS_{\text{群内}} = \frac{SS_{\text{群内}}}{N-k} \]
\[ \boxed{F = \frac{MS_{\text{群間}}}{MS_{\text{群内}}} \sim F(k-1,\ N-k) \quad (H_0 \text{ のもとで})} \]

なぜこれが F 分布になるのか: \(H_0\) のもとでは

\[ \frac{SS_{\text{群内}}}{\sigma^2}\sim\chi^2_{N-k}, \qquad \frac{SS_{\text{群間}}}{\sigma^2}\sim\chi^2_{k-1} \]

で、しかもこの 2 つは独立である。理由は次のとおり。

F 分布の定義(08 章 9 節)より

\[ F = \frac{(SS_{\text{群間}}/\sigma^2)/(k-1)}{(SS_{\text{群内}}/\sigma^2)/(N-k)} = \frac{MS_{\text{群間}}}{MS_{\text{群内}}}\sim F(k-1,N-k) \]

∎

F 統計量の意味を言葉で.

$$F = \frac{\text{群による差}}{\text{群内の偶然のばらつき}}$$

\(H_0\) が真(群に差がない)なら、群間のばらつきも群内のばらつきも 同じ \(\sigma^2\) を測っているので、比は 1 前後になる。 群に本当に差があれば分子だけが膨らみ、F が大きくなる。

「分散分析」という名前は、平均を比べるのに分散を使うことから来ている。 名前だけ見ると分散の検定に見えるが、実際には平均の検定である。

分散分析表

要因平方和自由度平均平方F
群間\(SS_{\text{群間}}\)\(k-1\)\(MS_{\text{群間}}\)\(MS_{\text{群間}}/MS_{\text{群内}}\)
群内(誤差)\(SS_{\text{群内}}\)\(N-k\)\(MS_{\text{群内}}\)
全体\(SS_T\)\(N-1\)

例題

3 群、各 5 個。

群データ平均
A12, 14, 11, 13, 1513
B16, 18, 15, 17, 1917
C13, 12, 14, 15, 1113

全体平均 \(\bar x_{\cdot\cdot} = 14.33\)。

\[ SS_{\text{群間}} = 5\left[(13-14.33)^2+(17-14.33)^2+(13-14.33)^2\right] = 5[1.769+7.129+1.769]=53.33 \]
\[ SS_{\text{群内}} = \underbrace{10}_{A}+\underbrace{10}_{B}+\underbrace{10}_{C}=30 \]
\[ SS_T = SS_{\text{群間}} + SS_{\text{群内}} = 53.33 + 30 = 83.33 \]
\[ MS_{\text{群間}} = \frac{53.33}{2}=26.67, \qquad MS_{\text{群内}}=\frac{30}{12}=2.5, \qquad F = \frac{26.67}{2.5}=10.67 \]

\(F(2,12)\) の上側 5% 点は 3.89(F 分布表)。\(10.67 > 3.89\) なので棄却(p ≈ 0.002)。どこかに差がある。

3. 効果量

指標式意味
\(\eta^2\)(イータ二乗)\(SS_{\text{群間}}/SS_T\)全変動のうち群で説明できる割合
\(\omega^2\)(オメガ二乗)\(\dfrac{SS_{\text{群間}}-(k-1)MS_{\text{群内}}}{SS_T+MS_{\text{群内}}}\)\(\eta^2\) のバイアスを補正した版

上の例では \(\eta^2 = 53.33/83.33 = 0.64\)(64% を群が説明)。

\(\omega^2\) の式の出所: モデルのもとで \(E[SS_{\text{群内}}] = (N-k)\sigma^2\)、\(E[SS_{\text{群間}}] = (k-1)\sigma^2 + \sum_i n_i\alpha_i^2\) である(群間平方和は、群に差がなくても偶然のばらつきで \((k-1)\sigma^2\) ぶん正になる)。 だから \(\eta^2\) は真の割合 \(\dfrac{\sum n_i\alpha_i^2}{\sum n_i\alpha_i^2 + N\sigma^2}\) を過大に見積もる。 分子から偶然のぶん \((k-1)\hat\sigma^2 = (k-1)MS_{\text{群内}}\) を引き、分母は \(E[SS_T] = \sum n_i\alpha_i^2 + (N-1)\sigma^2\) に \(\hat\sigma^2 = MS_{\text{群内}}\) を足して \(N\sigma^2\) ぶんに合わせたのが \(\omega^2\) である。

\(\eta^2\) は 18 章の決定係数 \(R^2\)(回帰で「全変動のうちモデルで説明できる割合」)とまったく同じものである. 実際、分散分析は「群 \(i\) に属せば 1、でなければ 0」というダミー変数を説明変数にした重回帰(説明変数が複数の回帰。19 章)と数学的に同一であり、 \(\eta^2 = R^2\) になる。別々の手法に見えて、中身は同じなのである。

4. 事後検定 (post-hoc test)

分散分析で有意になっても、「どの群とどの群が違うか」は分からない。そこで事後検定を行う。

方法特徴
テューキーの HSDすべてのペア比較。FWER を厳密に制御。最も標準的
ボンフェローニ\(\alpha/m\) で判定。単純だが保守的
ホルム法ボンフェローニの改良。常により良い。推奨
ダネット検定対照群 vs 各処置群だけを比較。比較数が少ないぶん強力
シェフェ法任意の対比に対応。最も保守的

テューキーの HSD

各群のサイズが等しく \(n\) のとき、スチューデント化された範囲分布を使う。これは「\(H_0\) のもとで \(k\) 個の群平均の(最大 − 最小)を \(\sqrt{MS_{\text{群内}}/n}\) で割った統計量」の分布で、上側 \(\alpha\) 点 \(q_\alpha(k, N-k)\) は表または統計ソフトで求める。

\[ \text{HSD} = q_{\alpha}(k,\ N-k)\sqrt{\frac{MS_{\text{群内}}}{n}} \]

群平均の差がこれを超えたら有意。「最大と最小の差」の分布で判定するので、どのペアを見ても FWER が \(\alpha\) に収まる。 群サイズが不揃いなら \(n\) の代わりに 2 群のサイズの調和平均 \(2/(1/n_i+1/n_j)\) を使う(テューキー・クレーマー法)。

「まず ANOVA、有意なら事後検定」が伝統的な手順だが、 現代ではテューキー法を直接使ってもよいとされる(テューキー自体が FWER を制御しているため)。 ただし報告の慣例として ANOVA 表を先に示すことは多い。

5. 二元配置分散分析

2 つの要因(A と B)の効果を同時に調べる。要因 A の水準数を \(a\)、要因 B の水準数を \(b\) とし、各セル(A の水準 \(i\) と B の水準 \(j\) の組)で \(n\) 回ずつ測る(つり合い型)。 \(k\) 回目の測定を \(x_{ijk}\) と書く。

\[ x_{ijk} = \mu + \alpha_i + \beta_j + (\alpha\beta)_{ij} + \varepsilon_{ijk} \]
項意味
\(\alpha_i\)要因 A の主効果
\(\beta_j\)要因 B の主効果
\((\alpha\beta)_{ij}\)交互作用

平方和は 4 つに分解される(\(SS_A, SS_B\) は要因 A・B の主効果、\(SS_{AB}\) は交互作用、\(SS_E\) は誤差=セル平均からの残差の平方和。2 節 の群間・群内とは別の記号)。

\[ SS_T = SS_A + SS_B + SS_{AB} + SS_E \]
要因自由度F
A\(a-1\)\(MS_A/MS_E\)
B\(b-1\)\(MS_B/MS_E\)
A×B\((a-1)(b-1)\)\(MS_{AB}/MS_E\)
誤差\(ab(n-1)\)

交互作用が最も重要

交互作用とは「要因 A の効果が、要因 B の水準によって変わる」こと。

例: 薬の効果が男女で違う。肥料の効果が土壌によって違う。 広告の効果が年代によって違う。

交互作用があるとき、主効果を単独で解釈してはいけない。 「薬 X は平均的に 5 の効果がある」と言っても、男性で +15、女性で −5(男女同数なら平均 +5)なら、 その「平均 5」は誰にも当てはまらない数字である。

必ず交互作用プロット(横軸に A、縦軸に平均、B ごとに線を引く)を描く。 線が平行なら交互作用なし、交差していれば強い交互作用がある。

6. 分散分析の前提

前提検証法崩れたときの対策
各群が正規分布残差の Q-Q プロット\(n\) が大きければ頑健。小さければクラスカル・ウォリス
等分散性ブラウン・フォーサイス検定、残差プロットウェルチの ANOVA
独立性実験デザインを確認線形混合モデル(混合効果モデルとも)、反復測定 ANOVA

等分散が崩れたときの対処が実務では重要. 群のサイズが等しければ ANOVA は等分散のずれにかなり頑健だが、 サイズが不揃いだと危険である。 特に「小さい群の分散が大きい」場合、第 1 種の誤りが大きく膨らむ。

対策は 13 章と同じで、各群の分散を別々に推定するウェルチの ANOVA(R では oneway.test 関数)を使えばよい。

7. 反復測定分散分析

同じ個体を複数条件で測る場合(13 章の対応あり t 検定の \(k\) 群版)。

個体差を誤差から分離できるので検出力が高い。

\[ SS_T = SS_{\text{条件}} + SS_{\text{個体}} + SS_E \]
\[ F = \frac{MS_{\text{条件}}}{MS_E} \]

個体間のばらつき \(SS_{\text{個体}}\) を誤差から抜き出したぶん、\(MS_E\) が小さくなり F が大きくなる。

追加の前提: 球面性 (sphericity). 「すべての条件ペアの差の分散が等しい」という条件が必要になる。 同じ個体の測定は相関しているので、条件ペアごとに差の分散が違うと、F の分母 \(MS_E\) がそれらをひとまとめに平均してしまい、F 検定の第 1 種の誤り率が \(\alpha\) を超える。 球面性はモークリーの検定(球面性を帰無仮説とする検定)で確認し、崩れていればグリーンハウス・ガイサー補正——F の分子・分母の自由度に係数 \(\epsilon\)(\(0<\epsilon\le 1\)、ずれが大きいほど小さい)を掛けて棄却点を厳しくする——で調整する。 現代では線形混合モデルを使うことでこの問題を回避できるため、そちらが増えている。

8. 共分散分析 (ANCOVA)

連続の共変量 \(z\)(例: 実験前のベースライン値)を調整してから群を比較する。

\[ x_{ij} = \mu+\alpha_i+\gamma(z_{ij}-\bar z)+\varepsilon_{ij} \]

(\(\gamma\) は共変量 \(z\) が \(x\) に効く傾き、\(\bar z\) は全データの \(z\) の平均。)

利点: 共変量が説明する変動を誤差から取り除けるので、検出力が上がる。 また、群間で共変量が偏っている場合の調整にもなる。

前提: 回帰の平行性. 各群で \(z\) と \(x\) の傾き \(\gamma\) が共通であること。 群ごとに傾きが違うなら、それは「群 × 共変量の交互作用」があるということで、 ANCOVA の枠組みではなく交互作用項を入れたモデルにすべきである。

ANCOVA は実質的に重回帰の一形態である(19 章)。 分散分析も回帰も、すべては一般線形モデル——「応答 = 説明変数の線形結合 + 正規誤差」という形のモデル全体の総称——という 1 つの枠組みの中にある。

9. まとめ

手法使う場面
一元配置 ANOVA1 要因、3 群以上
二元配置 ANOVA2 要因、交互作用も見る
反復測定 ANOVA同一個体を複数条件で
ANCOVA共変量で調整
ウェルチの ANOVA等分散が崩れているとき
クラスカル・ウォリス正規性が疑わしいとき(16 章)