<<目次へ


共分散分析



 例えばA群にはXとYという2変量のデータがあったとする(B群も同様)。ここでそれぞれの群の散布図を描き,それに直線を当てはめてみる(図1と図2)。

表1 A群のデータ 表2 B群のデータ
X Y
1.2 5.4
2.1 4.8
3.7 4.5
4.2 3.6
5.6 3.1
X Y
1.3 3.6
2.2 3
3.4 2.6
3.9 2.4
4.5 1.8

図1 表1の散布図と回帰直線

図2 表2の散布図と回帰直線


 このように2本の回帰直線が得られたとき,それぞれの直線を比較する方法の1つとして共分散分析というものがある。共分散分析といっても,実際にやることはダミー変数を用いた重回帰分析にすぎないので安心してもらいたい。


群を表すダミー変数を取り入れる

 表1と表2のデータに群を表すダミー変数を取り入れて表3のようにします。

表3

 実際に分析するときはどちらかのダミー変数を取り除きます。今回はA群の列のデータを取り除いて分析しました(以下はRでの実行結果)。

> dat
      [,1] [,2] [,3]
 [1,]    0  1.2  5.4
 [2,]    0  2.1  4.8
 [3,]    0  3.7  4.5
 [4,]    0  4.2  3.6
 [5,]    0  5.6  3.1
 [6,]    1  1.3  3.6
 [7,]    1  2.2  3.0
 [8,]    1  3.4  2.6
 [9,]    1  3.9  2.4
[10,]    1  4.5  1.8
> summary(lm(dat[,3] ~ dat[,1] + dat[,2]))

Call:
lm(formula = dat[, 3] ~ dat[, 1] + dat[, 2])

Residuals:
     Min       1Q   Median       3Q      Max 
-0.24992 -0.12393 -0.00952  0.07528  0.39408 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  6.00034    0.18553   32.34 6.99e-09 ***
dat[, 1]    -1.75360    0.13199  -13.29 3.20e-06 ***
dat[, 2]    -0.51201    0.04782  -10.71 1.36e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Residual standard error: 0.2075 on 7 degrees of freedom
Multiple R-Squared: 0.9741,     Adjusted R-squared: 0.9667 
F-statistic: 131.7 on 2 and 7 DF,  p-value: 2.793e-06

 この結果から得られた回帰方程式は

y = 6.00 - 1.75 * z - 0.51 * x

です。zは群を表す変数(0 = A群, 1 = B群)ですから,

z = 0のとき, y = 6.00 - 0.51 * x
z = 1のとき, y = 4.25 - 0.51 * x

となり,これは図1と図2に描かれている直線の方程式とほぼ一致します。図3が図1に上の直線(ピンク色の線)を上書きしたもので,図4が図2に直線を当てはめたものです。

図3 図4


〜数学的な説明〜

 y = a + b * z + c * x というモデルを考える。

 偏回帰係数の検定は

H0 : 偏回帰係数は0である (b = 0)

という帰無仮説のもとで行われるので,

b = 0ならば, y = a + 0 * z + c * x = a + c * x
b ≠ 0ならば, y = (a + b * z) + c * x

といえる。すなわち,H0が採択されたとき

y = a + c * x

なのだから,変数zの影響は全く受けないということになる。つまり群間差は認められないということである。

 H0が棄却された場合,b ≠ 0なので

y = (a + b * z) + c * x

が成り立つ。このとき,z = (0, 1)なのだから,

z = 0のとき, y = a + b * 0 + c * x = a + c * x
z = 1のとき, y = a + b * 1 + c * x = a + b + c * x

となり,係数bの分だけ群間差が認められるといえる。 (b ≠ 0でないことは既に検定済み)

 なお共分散分析は2本の直線の傾きが等しいと仮定していることに注意してほしい。