분산분석 (ANOVA)
간단하게 분산분석(ANOVA)을 소개하면 3개 이상의 집단들의 평균 차이를 검정할 때 사용한다. 3개 이상일 때 사용하는 2개 집단을 비교할 때는 $t$-검정을 이용하면 되기 때문이다. 그러나 3개 이상 집단에서 $t$-검정이 아니라 분산분석을 사용하는 이유는 $t$-검정을 $k $ 개 집단에 대해 사용하려면 $ \binom{k}{2} $ 번의 $ t $-검정이 필요하기 때문이다.
단 분산분석을 통해 나오는 결과는 집단간 평균이 차이가 있는지 여부이지 어느 집단이 어떻게 차이가 나는지를 보여주지는 않는다. 즉 분산분석을 통해 집단간 평균 차이가 존재한다고 결론 내리더라도 그것은 두 개 이상의 집단에서 차이가 있다는 것이지 모든 집단이 서로 차이가 있다는 것은 아니다.
분산분석의 조건은 다음과 같다.
- 정규성(normality)
각 모집단에서 독립변수는 정규분포를 따른다고 가정한다.
- 등분산성(homoscedasticity)
각 모집단에서의 분산은 모두 동일하다고 가정한다.
- 관찰의 독립성(independence of observations)
각 모집단에서 크기가 $ n_i $ 인 표본들이 독립적으로 표집되었다고 가정한다. 만약 독립성이 의심된다면 동일 클래스(intraclass) 상관계수를 사용하여 검증할 수 있다.
만약 위 조건이 부합하지 않는다면 분산분석 해석에 문제가 발생한다. 단 정규성은 중심극한정리(CLT)에 따라 표본의 수가 크다면 큰 문제없이 사용 가능하다.
또한 중요한 것은 설명변수, 즉 독립변수가 집단으로 이산형이어야 하고, 반응변수, 즉 종속변수가 연속형이어야 한다는 것이다. 왜냐하면 분산분석이 서로 다른 집단 간에 측정값의 평균이 통계적으로 유의미하게 다른지를 판단하는 기법이기 때문이다.
인자(factor) 수, 즉 설명변수가 한 개인지, 두 개인지에 따라 일원분산분석(one-way ANOVA), 이원분산분석(two-way ANOVA)으로 나뉘고, 반응변수가 한 개인지, 두 개 이상인지에 따라 일변량분산분석(univariate ANOVA)과 다변량분산분석(MANOVA)으로 나뉜다.
예를 들어서 약 종류에 따른 효과를 확인한다면 일원분산분석, 약 종류와 성별에 따른 효과를 확인한다면 이원분산분석이다. 또 집단간 시험 점수 평균을 비교한다면 일변량분산분석, 집단간 시험 점수와 과제 점수를 동시에 비교한다면 다변량분산분석이다.
쉽게 독립변수가 되는 그룹 구분을 처치(treatment)로 생각하고, 종속변수가 되는 것을 반응(response)로 생각하여 처치에 따른 반응 차이가 있는지로 생각해도 된다.
일원분산분석 (One-way ANOVA)
일원분산분석은 분산분석에서 가장 간단한 모델로 종속변수와 독립변수 모두 하나인 경우에 사용한다. 즉 모델이 다음과 같다.
$$ y_{ij} = \mu + \alpha_i + \epsilon_{ij} $$
여기서 $ y_{ij} $ 가 측정변수, $ \mu_i = \mu + \alpha_i $ 는 $ i $ 번째 모집단의 평균, $ \alpha_i $ 는 처치효과(treatment effect)로서 $ \sum n_i \alpha_i = 0 $, $ \epsilon_{ij} $ 는 서로 독립인 $ N(0, \sigma^2) $ 을 따르는 오차항이다. 즉 선형모델로 표현된다.
독립변수에 해당하는 그룹이 $ k $ 개 있다고 할 때 다음과 같이 평균과 제곱합을 구한다.
$$ \begin{array}{c|cccc} \hline & T_1 & T_2 & \cdots & T_k \\ \hline & y_{11} & y_{21} & \cdots & y_{k1} \\ & y_{12} & y_{22} & \cdots & y_{k2} \\ & \vdots & \vdots & \cdots & \vdots \\ & y_{1n_1} & y_{2n_2} & \cdots & y_{kn_k} \\ \hline \text{mean} & \bar{y}_1 & \bar{y}_2 & \cdots & \bar{y}_k \\ \hline \text{sum of squares} & \sum_{j=1}^{n_1} (y_{1j} - \bar{y}_1)^2 & \sum_{j=1}^{n_2} (y_{2j} - \bar{y}_2)^2 & \cdots & \sum_{j=1}^{n_k} (y_{kj} - \bar{y}_k)^2 \\ \hline \end{array} $$
여기서 구한 제곱합들은 집단 내 제곱합으로 이 제곱합들을 모두 더해 다음과 같이 만들 수 있다.
$$ \sum_{i=1}^k \sum_{j=1}^{n_i} (y_{ij} - \bar{y}_i)^2 $$
이를 집단 내 제곱합(SSW, sum of squares within groups) 혹은 오차제곱합(SSE, sum of squares error)이라 한다.
집단 간 제곱합(SSB, sum of squares between groups)은 다음과 같다.
$$ \sum_{i=1}^k n_i (\bar{y}_i - \bar{y})^2 $$
여기서 $ \bar{y} = \frac{1}{n} \sum_{i=1}^k \sum_{j=1}^{n_i} y_{ij} $ 이다.
그렇다면 전체제곱합(SST, total sum of squares)은 다음과 같이 나타낼 수 있다.
$$ \sum_{i=1}^k \sum_{j=1}^{n_i} (y_{ij} - \bar{y})^2 = \sum_{i=1}^k n_i (\bar{y}_i - \bar{y})^2 + \sum_{i=1}^k \sum_{j=1}^{n_i} (y_{ij} - \bar{y}_i)^2 $$
즉 다음과 같다.
$$ SST = SSB + SSW $$
이를 이용하여 $ H_0 : \alpha_1 = \alpha_2 = \cdots = \alpha_k $ 라는 귀무가설에 대해 $ H_1 : \text{not} H_0 $ 라는 대립가설을 검정할 수 있다. 다음과 같이 표를 만들자.
Sum of Squares | Degree of Freedom | Mean Squares | Test Statistic | |
Between | $ SSB $ | $ k - 1 $ | $ MSB = SSB / (k - 1) $ | $ F_0 = \dfrac{MSB}{MSE} $ |
Residual | $ SSW $ | $ n - k $ | $ MSE = SSW / (n - k) $ | |
Total | $ SST $ | $ n - 1 $ |
검정통계량은 $ F_0 $ 로 $ p $-값은 $ \mathrm{Pr}(F > F_0) $ 이다.