例題:
「表 1.に示すような 2 群 3 変数のデータにおいて,2 群の分散共分散行列が同等か,有意水準 $5\%$ で検定しなさい。」
群 | $X_{1}$ | $X_{2}$ | $X_{3}$ |
---|---|---|---|
1 | 2.9 | 161.7 | 120.8 |
1 | 2.3 | 114.8 | 85.2 |
1 | 2.0 | 128.4 | 92.0 |
1 | 3.2 | 149.2 | 97.3 |
1 | 2.7 | 126.0 | 81.1 |
1 | 4.4 | 133.8 | 107.6 |
1 | 4.1 | 161.3 | 114.0 |
1 | 2.1 | 111.5 | 77.3 |
2 | 4.8 | 198.7 | 172.9 |
2 | 3.6 | 199.3 | 157.9 |
2 | 2.0 | 188.4 | 152.7 |
2 | 4.9 | 183.6 | 164.2 |
2 | 3.9 | 173.5 | 172.2 |
2 | 4.4 | 184.9 | 163.2 |
検定手順:
> ( dat <- matrix(c( + 1, 2.9, 161.7, 120.8, + 1, 2.3, 114.8, 85.2, + 1, 2, 128.4, 92, + 1, 3.2, 149.2, 97.3, + 1, 2.7, 126, 81.1, + 1, 4.4, 133.8, 107.6, + 1, 4.1, 161.3, 114, + 1, 2.1, 111.5, 77.3, + 2, 4.8, 198.7, 172.9, + 2, 3.6, 199.3, 157.9, + 2, 2, 188.4, 152.7, + 2, 4.9, 183.6, 164.2, + 2, 3.9, 173.5, 172.2, + 2, 4.4, 184.9, 163.2 + ), byrow=TRUE, ncol=4) ) [,1] [,2] [,3] [,4] [1,] 1 2.9 161.7 120.8 [2,] 1 2.3 114.8 85.2 [3,] 1 2.0 128.4 92.0 [4,] 1 3.2 149.2 97.3 [5,] 1 2.7 126.0 81.1 [6,] 1 4.4 133.8 107.6 [7,] 1 4.1 161.3 114.0 [8,] 1 2.1 111.5 77.3 [9,] 2 4.8 198.7 172.9 [10,] 2 3.6 199.3 157.9 [11,] 2 2.0 188.4 152.7 [12,] 2 4.9 183.6 164.2 [13,] 2 3.9 173.5 172.2 [14,] 2 4.4 184.9 163.2 > ( X1 <- dat[1:8, 2:4] ) # 後述のように var 関数を使うときには平均偏差データ行列でなくてもよい [,1] [,2] [,3] [1,] 2.9 161.7 120.8 [2,] 2.3 114.8 85.2 [3,] 2.0 128.4 92.0 [4,] 3.2 149.2 97.3 [5,] 2.7 126.0 81.1 [6,] 4.4 133.8 107.6 [7,] 4.1 161.3 114.0 [8,] 2.1 111.5 77.3 > ( X2 <- dat[9:14, 2:4] ) [,1] [,2] [,3] [1,] 4.8 198.7 172.9 [2,] 3.6 199.3 157.9 [3,] 2.0 188.4 152.7 [4,] 4.9 183.6 164.2 [5,] 3.9 173.5 172.2 [6,] 4.4 184.9 163.2
例題では,
\[ \begin{align*} \matrix{S}_1 &= \left ( \begin{array}{rrr} 0.799821 & 10.323 & 9.56482 \\ 10.323 & 383.843 & 278.871 \\ 9.56482 & 278.871 & 253.281 \end{array} \right ) \\ \\ \matrix{S}_2 &= \left ( \begin{array}{rrr} 1.15067 & -0.0966667 & 6.228 \\ -0.0966667 & 96.3067 & -19.092 \\ 6.228 & -19.092 & 62.379 \end{array} \right ) \end{align*} \]
> ( S1 <- var(X1) ) [,1] [,2] [,3] [1,] 0.7998214 10.32304 9.564821 [2,] 10.3230357 383.84268 278.870893 [3,] 9.5648214 278.87089 253.281250 > ( S2 <- var(X2) ) [,1] [,2] [,3] [1,] 1.15066667 -0.09666667 6.228 [2,] -0.09666667 96.30666667 -19.092 [3,] 6.22800000 -19.09200000 62.379
\[ \matrix{S}_{*} = \frac{(n_1-1)\matrix{S}_1 + (n_2-1)\matrix{S}_2}{n_1+n_2-2} \] 例題では,
\[ \begin{align*} \matrix{S}_1 &= \left ( \begin{array}{rrr} 0.946007 & 5.98149 & 8.17448 \\ 5.98149 & 264.036 & 154.72 \\ 8.17448 & 154.72 & 173.739 \end{array} \right ) \\ \end{align*} \]
> ( n1 <- nrow(X1) ) [1] 8 > ( n2 <- nrow(X2) ) [1] 6 > ( S <- ((n1-1)*S1+(n2-1)*S2) / (n1+n2-2) ) [,1] [,2] [,3] [1,] 0.9460069 5.981493 8.174479 [2,] 5.9814931 264.036007 154.719688 [3,] 8.1744792 154.719688 173.738646
\[ -2\ln{V} = (\nu_1+\nu_2)\ln|\matrix{S}_{*} | -\nu_1\ln|\matrix{S}_{1} | -\nu_2\ln|\matrix{S}_{2} | \] \[ b = 1-\left ( \frac{1}{\nu_1}+\frac{1}{\nu_2}-\frac{1}{\nu_1+\nu_2} \right ) \cdot \frac{2p^2+3p-1}{6(p+1)} \] とし,次式により $\chi^2_0$ を求める。
\[ \chi_0^2=b\ (-2\ln V) \] 例題では,$| \matrix{S}_{1} | = 8520.68$,$| \matrix{S}_{2} | = 2780.09$,$| \matrix{S}_{*} | = 12021.40$ より $-2 \ln V = 9.73042$,また $b = 0.718849$ となるから,$\chi^2_0 = 6.99471$ である。
> ( nu1 <- n1-1 ) [1] 7 > ( nu2 <- n2-1 ) [1] 5 > ( det.S1 <- det(S1) ) [1] 8520.683 > ( det.S2 <- det(S2) ) [1] 2780.086 > ( det.S <- det(S) ) [1] 12021.45 > ( a <- (nu1+nu2)*log(det(S)) - nu1*log(det(S1)) - nu2*log(det(S2)) ) [1] 9.730422 > ( p <- ncol(X1) ) [1] 3 > ( b <- 1-(1/nu1 + 1/nu2 -1/(nu1+nu2)) * (2*p^2+3*p-1)/6/(p+1) ) [1] 0.7188492 > ( chisq <- b*a ) [1] 6.994706
例題では,自由度は $6$ である。
> ( df <- p*(p+1)/2 ) [1] 6
例題では,自由度 6 の $\chi^2$ 分布において,$\Pr\{\chi^2 \geqq 12.59\}= 0.05$ であるから,$P = \Pr\{\chi^2 \geqq 6.9917\}\gt 0.05$ である(正確な有意確率:$P = 0.3213371$)。
> ( P <- pchisq(chisq, df, lower.tail=FALSE) ) [1] 0.3213371
例題では,有意水準 $5\%$ で検定を行うとすれば($\alpha = 0.05$),$P \gt \alpha$ であるから,帰無仮説は棄却できない。すなわち,「2 群の分散共分散行列は等しくないとはいえない」。
演習問題:
応用問題: