統計学第10回

多群の差を調べる～

一元配置分散分析と多重比較

中澤 港

http://phi.ypu.jp/stat.html

<minato@ypu.jp>

３群以上の差を比べるには？

単純にt検定や順位和検定を繰り返してはいけない。個々の検定についての有意水準を例えば5%にすると，何度も検定する中で１つくらい間違って帰無仮説を棄却してしまう確率（第1種の過誤）が5%よりずっと大きくなってしまうから。

２つの解決法

一元配置分散分析またはクラスカル＝ウォリスの検定（群分け変数が量的変数に与える効果という捉え方にする）

２群ずつのペアを作って検定を繰り返すが，その際，個々の検定について第1種の過誤を調整する多重比較

一元配置分散分析の考え方

群１

群2

群3

全体でのデータのばらつき（総変動）は，各データと平均の差の２乗の和（平方和）で表される

群１

群2

群3

このばらつき（総変動）は，各群平均の総平均からのばらつき（群間変動）と各データと各群平均の差の２乗の和（誤差変動）に分解できる

一元配置分散分析

総変動を群間変動と誤差変動に分解し，群間変動／誤差変動という比がF分布に従うことを利用して検定。

群数a，第i群の第j番目のデータをxij，第i群のサンプルサイズをNiと書くと，総変動STは，

群間変動SAと誤差変動SEは，

自由度は，PA=a-1，PE=N-aであり，VA=SA/PA，VE=SE/PE
より，F0=VA/VEが第１自由度PA，第2自由度PEのF分布に従うとして検定。

Rでは，summary(aov(量的変数 ~ 群分け変数))で実行

一元配置分散分析の例

次のデータについて群(G)の変数値(X)への効果をみるには，aov(X~G)とすればいい。

G <- c('X','X','X','Y','Y','Y','Z','Z','Z')
X <- c(1.0, 3.0, 5.0, 1.5, 3.6, 5.7, 1.2, 2.4, 3.6)
summary(aov(X~G))
の結果は，
Df Sum Sq Mean Sq F value Pr(>F)
G 2 2.1600 1.0800 0.3289 0.7319
Residuals 6 19.7000 3.2833

と得られる。Sum Sqの列が群間変動と誤差変動を，Mean Sqの列はそれをDfで割ったもので群間分散と誤差分散を示し，F valueはその比を示し，Pr(>F)は1-pf(0.3289,2,6)である。

クラスカル＝ウォリスの検定

「少なくともどれか１組の群間で大小の差がある」という対立仮説に対して帰無仮説「すべての群の間で大小の差がない」を検定。

２群の比較の場合の順位和検定と同じく全データを込みにし，小さい方から順に（同順位がある場合は平均順位）順位をつける。

各群ごとに順位を足し合わせ，順位和Ri(i = 1,2,...,k; k は群数) を求める

各群のオブザーベーションの数をそれぞれni，全オブザーベーション数をN としたとき，各群について統計量Bi を
Bi=ni{Ri/ni-(N+1)/2}2 として計算し，Biの総和Bを求め，
H=12B/{N(N+1)}とし（同順位があるときはさらに補正），
表から，または自由度k-1のカイ二乗検定で検定。

Rではkruskal.test(量的変数 ~ 群分け変数)で実行。

対応のある多群なら，friedman.test(量的変数, 群分け変数, ブロック変数)またはfriedman.test(量的変数 ~ 群分け変数 | ブロック変数)で帰無仮説「ブロックによらず群間で量的変数の大きさは同じ」とするノンパラメトリックな検定である，Friedmanの検定を行う。

多重比較の概要

３つ以上の群があるときに，群間に差があるかどうかを調べるには，単純に２群間の比較を繰り返すのでは第１種の過誤が大きくなるのでそこを調整しなくてはならない。

「帰無仮説族」という考え方をする

たくさんの方法が提案されているが，現在では使わない方が無難な方法もある。例えば，無制約LSD法とか，ダンカンの方法は第１種の過誤を正しく調整できないので使ってはいけない。

対照群がなければ，ボンフェローニかホルムまたはTukeyのHSDを用いる。対照群があればダネットかウィリアムズの方法を用いる。

ボンフェローニの方法

ボンフェローニの不等式「正しい帰無仮説のうちの少なくとも１つが誤って棄却されてしまう確率は，個々の正しい帰無仮説が誤って棄却されてしまう確率の和以下になる」を利用する。

k個の帰無仮説からなる帰無仮説族全体の有意水準をαにするために，個々の帰無仮説の有意水準をα/kにして棄却か保留かを判断する。

Rではpairwise.t.test(量的変数, 群分け変数, p.adjust.method=”bonferroni”)かpairwise.wilcox.test(量的変数, 群分け変数, p.adjust.method=”bonferroni”)で，個々の帰無仮説の有意確率をk倍した値が表示される。

ホルムの方法

ボンフェローニの方法は明らかに第１種の過誤を小さくしすぎなので，もうちょっと工夫が必要。

帰無仮説族全体の有意水準をαにするため，k個の帰無仮説の個々の有意確率を計算して小さい順に，i番目を有意水準α/(k-i+1) で棄却か保留か判断する。１つでも保留になったら，それ以後は全部保留。

Rではpairwise.t.test(量的変数, 群分け変数)か pairwise.wilcox.test(量的変数, 群分け変数) で，個々の帰無仮説についての確率を(k-i+1) 倍した値が表示される。

テューキーのHSD

母集団の分布の正規性と各群の等分散性を仮定。

すべての群間の比較について，誤差分散を使った t0=|ti-tj|/√VE(1/ni+1/nj) を計算し，ステューデント化された範囲の分布(Studentized range distribution) と呼ばれる分布の(1-α)×100%点を で割った値との大小で有意水準αの検定をする方法である。

Rでは，TukeyHSD(aov(量的変数~群分け変数))ですべての２群間の比較について，差の95%信頼区間が表示される。

Minato Nakazawa

2002-06-09T20:09:15

Minato Nakazawa