分散分析で有意にならないが、多重比較検定で有意となるようなデータの例

Contents

母集団

下の図で表わされている5つの正規母集団からサンプリングをしてみます。

平均値分散標準偏差
A5.0800.01890.138
B5.18590.00290.054
C5.18610.00260.051
D5.18640.00430.066
E5.2380.00620.078

群Cと群Eの母平均の差の効果量は\(\frac{|5.238295-5.080351|}{\sqrt{\frac{0.07842281^2+0.1375497^2}{2}}} \fallingdotseq 1.41\)であり、少なくともこの効果を検出したい。ランダムサンプリング(10,0000回)を繰り返した時の5%水準棄却率を下の表に示します。

5%水準棄却率
n分散分析(等分散)Tukey HSD検定
(群A vs. 群E)
分散分析(不等分散)Games–Howell法
(群A vs. 群E)
20.20010.177440.137151
30.325220.306330.171870.06232
40.430860.41940.222750.11431
50.523560.517940.287770.17495
60.608930.607630.354480.24316
70.679010.684530.425310.31413
80.741350.746730.496720.38871
90.794990.803560.56240.46233
100.835220.844780.626890.53158
150.953550.959650.847630.8014
200.988220.990060.946680.92978

等分散を仮定した検定法では\(n = 9\)、不等分散を仮定した検定法では\(n = 15\)で検出力80%に達しています。

次に、有意水準5%で検定した時に分散分析(等分散)で有意差が出ず、Tukey HSD検定でA群とE群の間で有意差が出る確率を10,000回のランダムサンプリングから出してみたところ、0.971%でした。

 n = 15Tukey \(p < 0.05\) (群A vs. 群E)Tukey \(p \ge 0.05\) (群A vs. 群E)
分散分析 (等分散) \(p < 0.05\) 94.975%0.468%
分散分析 (等分散) \(p \ge 0.05\) 0.971%3.586%

分散分析(不等分散)では有意差が出ず、Games–Howell法でA群とE群の間で有意差が出る確率は2.012%でした。

 n = 15Games–Howell \(p < 0.05\) (群A vs. 群E)Games–Howell \(p \ge 0.05\) (群A vs. 群E)
分散分析 (不等分散) \(p < 0.05\) 78.11%6.654%
分散分析 (不等分散) \(p \ge 0.05\) 2.012%13.224%

具体的なデータの例 (n = 15) 

ランダムサンプリングしたあるデータ(各群n = 15)を解析してみます。

n平均値不偏分散不偏標準偏差
A155.11200.01930.1390
B155.18310.00310.0560
C155.19650.00260.0508
D155.19840.00590.0771
E155.24090.00730.0856
#R内での上のデータの生成
N=15
set.seed(-6152847)
a <- rnorm(N, mean=5.080351, sd=0.1375497)
set.seed(3448258)
b <- rnorm(N, mean=5.185921, sd=0.05358547)
set.seed(-9846648)
c <- rnorm(N, mean=5.186056, sd=0.05089308)
set.seed(-1377657)
d <- rnorm(N, mean=5.186409, sd=0.06550713)
set.seed(7612155)
e <- rnorm(N, mean=5.238295, sd=0.07842281)
set.seed(NULL)
value <- c(a, b, c, d, e)
group <- factor(c(rep("A", N), rep("B", N), rep("C", N), rep("D", N), rep("E", N)))
df <- data.frame(group, value)

Rを使った解析

すべて有意水準5%で検定します。

Welchのt検定を使った対比較

Welchのt検定

> pairwise.t.test(value, group, pool.sd=FALSE, p.adj="none")

	Pairwise comparisons using t tests with non-pooled SD 

data:  value and group 

  A      B      C      D     
B 0.0826 -      -      -     
C 0.0404 0.4960 -      -     
D 0.0470 0.5377 0.9369 -     
E 0.0055 0.0383 0.0974 0.1642

P value adjustment method: none 

群A vs. 群Eが\(p = 0.0055\)なので、有意水準5%で帰無仮説を棄却できそうですが、検定の多重性が考慮されていません。

分散分析(等分散を仮定)

> oneway.test(value ~ group, var.equal=TRUE)

	One-way analysis of means

data:  value and group
F = 4.2896, num df = 4, denom df = 70, p-value = 0.00367

\(p = 0.00367 >= 0.05\)なので、「全ての群の母平均に差はない」という帰無仮説は棄却されました。

TukeyのHSD検定(等分散を仮定)で対比較

> TukeyHSD(aov(value ~ group))
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = value ~ group)

$group
           diff          lwr        upr     p adj
B-A 0.071052607 -0.018456070 0.16056128 0.1834851
C-A 0.084519419 -0.004989258 0.17402810 0.0732990
D-A 0.086425114 -0.003083563 0.17593379 0.0634977
E-A 0.128924820  0.039416143 0.21843350 0.0012702
C-B 0.013466812 -0.076041866 0.10297549 0.9932698
D-B 0.015372507 -0.074136171 0.10488118 0.9888662
E-B 0.057872213 -0.031636465 0.14738089 0.3758897
D-C 0.001905695 -0.087602983 0.09141437 0.9999971
E-C 0.044405401 -0.045103276 0.13391408 0.6365763
E-D 0.042499706 -0.047008971 0.13200838 0.6738995

群A vs. 群Eで\(p = 0.0012702 < 0.05\)なので、「群Aと群Eの母平均に差はない」という帰無仮説は棄却されました。

分散分析(不等分散を仮定)

> oneway.test(value ~ group, var.equal = FALSE)

	One-way analysis of means (not assuming equal variances)

data:  value and group
F = 2.4529, num df = 4.000, denom df = 34.283, p-value = 0.06439

\(p = 0.06439 >= 0.05\)なので、「全ての群の母平均に差はない」という帰無仮説は保留されました。

Games–Howell法(不等分散を仮定)で対比較

tukey関数はShigenobu AOKI (2009-08-03) テューキーの方法による多重比較から読み込みました。

> tukey(value, group, method="Games-Howell")
$result1
        n     Mean    Variance
Group1 15 5.112008 0.019333908
Group2 15 5.183060 0.003138345
Group3 15 5.196527 0.002576593
Group4 15 5.198433 0.005945748
Group5 15 5.240933 0.007322983

$Games.Howell
             t       df          p
1:2 1.83570268 18.42837 0.38416403
1:3 2.21144418 17.66639 0.22075686
1:4 2.10523223 21.86683 0.25336137
1:5 3.05828117 23.27480 0.03988291
2:3 0.68992946 27.73205 0.95700608
2:4 0.62466841 25.55888 0.96971279
2:5 2.19140328 24.13776 0.21669158
3:4 0.07995019 24.21543 0.99999001
3:5 1.72851490 22.76652 0.43735024
4:5 1.42894943 27.70156 0.61494734

群A vs. 群Eで\(p = 0.03988291 < 0.05\)なので、「群Aと群Eの母平均に差はない」という帰無仮説は棄却されました。

Welchのt検定(不等分散を仮定)+ Bonferroni補正

> pairwise.t.test(value, group, pool.sd=FALSE, p.adj="bonferroni")

	Pairwise comparisons using t tests with non-pooled SD 

data:  value and group 

  A     B     C     D    
B 0.826 -     -     -    
C 0.404 1.000 -     -    
D 0.470 1.000 1.000 -    
E 0.055 0.383 0.974 1.000

P value adjustment method: bonferroni

Bonferroniの補正では検定の数\(m = 10\)で有意水準αを割るので、α = 0.05/10 = 0.005で検定します。上の出力では計算されたp値が10倍されています。群A vs. 群Eで\(p = 0.055 >= 0.005\)なので、「群Aと群Eの母平均に差はない」という帰無仮説は保留されました。

Welchのt検定(不等分散を仮定)+ Holm-Bonferroni補正

> pairwise.t.test(value, group, pool.sd=FALSE, p.adj="holm")

	Pairwise comparisons using t tests with non-pooled SD 

data:  value and group 

  A     B     C     D    
B 0.496 -     -     -    
C 0.345 1.000 -     -    
D 0.345 1.000 1.000 -    
E 0.055 0.345 0.496 0.657

P value adjustment method: holm 

Holm–Bonferroni補正はステップダウン法と呼ばれる方法の一つで、検定の数\(m = 10\)とすると一番小さなp値を有意水準\(\alpha/m\)で検定して、次に小さなp値を有意水準\(\alpha/(m-1)\)で検定して、を繰り返して棄却されなかったところで打ち切ります。上の出力では割るのではなくp値が整数倍されています。今回は結果としてBonferroni補正と同じで、群A vs. 群Eで\(p = 0.055 >= 0.005\)なので帰無仮説は保留されました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


This site uses Akismet to reduce spam. Learn how your comment data is processed.