検定の知識整理(2) 独立多群間の比較2 一元配置分散分析(one-way ANOVA)

以前、独立多群間の比較について勉強したが、それを問題に対して適用してみる。

----------------------------------------------------------------------------------------------------------------------------------

3群に正規分布が想定できるとき、その平均値に差があるかどうかの検定をします。3つの群が次の場合に、どちらがANOVA的に強く帰無仮説を棄却するか答えなさい。

Q1

(case 1) mean=8,10,10, variance =5,5,5,no.samples = 100,100,100

(case 2) mean=8,10,10,variance=5,5,5,no.samples = 200,100,100

Q2

(case 1) mean=8,10,12, variance =5,5,5,no.samples = 100,100,100

(case 2) mean=10,12,12,variance=5,5,5,no.samples = 100,100,100

Q3

(case 1) mean=8,10,12, variance =5,5,5,no.samples = 100,100,100

(case 2) mean=10,12,14,variance=5,5,5,no.samples = 100,100,100

Q4

(case 1) mean=10,10,14, variance =5,5,5,no.samples = 100,100,100

(case 2) mean=10,13,13,variance=5,5,5,no.samples = 100,100,100

Q5

(case 1) mean=8,10,10, variance =5,5,5,no.samples = 200,100,100

(case 2) mean=8,10,10,variance=5,5,5,no.samples = 150,150,100

----------------------------------------------------------------------------------------------------------------------------------

3群を一度に比較したいので、one-way ANOVA(F検定)を行う。以下のようなものであった。

----------------------------------------------------------------------------------------------------------------------------------

2-1. 一元配置分散分析(one-way ANOVA)

各群が同じ母集団から抽出されたものであれば、(各群の分散は同程度なので)各群の平均の散らばりと各群内の散らばりは同程度であろう、つまり、

F = \frac {S_{between}}{S_{within}}

が1に近いと考え、F検定で判断する。S_{between}は群間分散、S_{within}は群内分散。

なお、前提となっている各群の分散の均一性は Bartlett検定 によって行う。

Q1-Q5いずれも等分散性が保証されているのでBartlett検定は省略。F検定を行う。つまり、群間分散と群内分散を各々で計算。ただし、計算が面倒なので、ある程度考えて判断する。

----------------------------------------------------------------------------------------------------------------------------------

Q1

(case 1) mean=8,10,10, variance =5,5,5,no.samples = 100,100,100

(case 2) mean=8,10,10,variance=5,5,5,no.samples = 200,100,100

第1群を比較したとき、case2の方が、case1よりもサンプル数が大きいにも関わらずvarianceが等しい。このことから、case1とcase2で群間分散はほぼ変わらないが、群内分散はcase2の方が大きくなる。したがって、「バラつき」が大きいと言えるため、case2の方がより強く帰無仮説を棄却する。

--------------------------------------------------------------------------------------------------------

Q2

(case 1) mean=8,10,12, variance =5,5,5,no.samples = 100,100,100

(case 2) mean=10,12,12,variance=5,5,5,no.samples = 100,100,100

両者で異なるのは群内の平均のみである。case1の方が群内平均のバラつきが大きいため、case1の方が帰無仮説をより強く棄却する。

----------------------------------------------------------------------------------------------------------------------------------

Q3

(case 1) mean=8,10,12, variance =5,5,5,no.samples = 100,100,100

(case 2) mean=10,12,14,variance=5,5,5,no.samples = 100,100,100

両者は集団として「平行移動」の関係と見なすことが出来る。よって、両者は同程度である。

----------------------------------------------------------------------------------------------------------------------------------

Q4

(case 1) mean=10,10,14, variance =5,5,5,no.samples = 100,100,100

(case 2) mean=10,13,13,variance=5,5,5,no.samples = 100,100,100

両者で異なるのは、各群の平均値である。case2の方が群間のバラつきが小さい。したがって、case1の方がより強く帰無仮説を棄却する。

【追記】

Q4は3群のうちの2群の平均値が等しいので、実質的に2群の比較。2群の比較として見たときに、標本数が等しくて平均値の差が違えば、平均値の差が大きい方が差が大きいとみなされる。

----------------------------------------------------------------------------------------------------------------------------------

Q5

(case 1) mean=8,10,10, variance =5,5,5,no.samples = 200,100,100

(case 2) mean=8,10,10,variance=5,5,5,no.samples = 150,150,100

両者で異なるのは、各群のサンプル数である。平均が8である第一群の方のサンプル数を増加させた方が、群間の分散を増加させる寄与が大きいと考えられるため、case1の方がより強く帰無仮説を棄却する。

【追記】

実質的に2群の平均値の差の検定のようになっている。そうすると、サンプルが200:200か150:250。総サンプル数が同じでエフェクトサイズが同じなら、サンプルは均等分配しておく方がパワーが大きいから、と説明すればよい。したがって、上記は間違いと考えられる(?)

----------------------------------------------------------------------------------------------------------------------------------

【追記】

なお、Rにおけるanova検定のコード例は次の通り。(Q1の例)

x1 <- rnorm(100,8,sqrt(5))
y1 <- rnorm(100,10,sqrt(5))
z1 <- rnorm(100,10,sqrt(5))
test1 <- factor(c(rep("x1",length(x1)),
                 rep("y1",length(y1)),
                 rep("z1",length(z1))))
summary(aov(c(x1,y1,z1)~test1))

x2 <- rnorm(200,8,sqrt(5))
y2 <- rnorm(100,10,sqrt(5))
z2 <- rnorm(100,10,sqrt(5))
test2 <- factor(c(rep("x2",length(x2)),
                  rep("y2",length(y2)),
                  rep("z2",length(z2))))
summary(aov(c(x2,y2,z2)~test2))