분산분석
분산분석 (ANOVA) : 3개 이상의 모집단 평균이 서로 같은지 여부를 검증할 수 있는 통계적 분석 방법. 주어진 유의 수준에서 모집단 간 평균 차이가 우연에 의해 발생했는지, 아니면 실질적인 차이가 있는지를 평가할 수 있다
분산분석의 기본 가정
일원분산분석
일원분산분석 (one-way ANOVA) : 하나의 요인이 여러 개의 수준으로 나누어져 있고, 각 수준에 해당되는 집단마다 여러 관찰값들이 포함되어 있는 경우, 수준별 평균의 차이를 분석한다.
예시 귀무가설 :
관찰값 : j번째 집단의 i번째 관찰값
관찰값의 모형은 아래와 같이 표현할 수 있다
관찰값의 모형을 표본 통계량으로 표현하면 아래와 같다
를 좌변으로 옮긴 후 양변에 제곱을 취하여 전체 관찰 수만큼 합하면 변동성을 분해할 수 있다
총제곱합 (total sum of squares, SST) : 전체 변동성
집단 간 제곱합 (sum of squares between gropus, SSB) : 요인에 의해 설명되는 변동성
집단 내 제곱합 (sum of suares within group, SSW) : 요인에 의해 설명되지 않는, 각 집단 내 개별 관찰값의 우연적 오차
SSB와 SSW를 자유도로 나눠주어 변동성의 정도에 대해 표준화된 수치를 구할 수 있다. 이때, 표준화된 변동성은 분산과 같은 의미를 갖게된다
일원분산분석과 F분포와의 연관성
집단 간 분산(MSB)이 집단 내 분산(MSW)에 비해 그 비율이 크다면, 집단에 따른 차이가 크다는 것을 의미한다
분산분석의 가정에 의해 모집단이 정규분포이다. 이때, 표본 분산의 표집분포(MSB와 MSW)는 카이제곱 분포를 따른다.
두 개의 독립적인 카이제곱 분포를 따르는 확률변수의 비율을 모델링하는 분포가 F분포이다. 따라서, F-검정을 통해 집단에 따른 차이가 통계적으로 유의미한지 확인할 수 있다.
이때, 검정통계량(F값)은 다음과 같다
분산분석표 (ANOVA table)
| 분산원 | 제곱합 | 자유도 | 평균제곱 | F값 |
|---|---|---|---|---|
| 집단 간 | SSB | J-1 | MSB | MSB / MSW |
| 집단 내(오차) | SSW(SSE) | N-J | MSW(MSE) | - |
| 합계 | SST | N-1 | - | - |
관계에 대한 설명력 : F값이 유의하다는 것은 집단 간의 차이가 오차의 정도를 넘어설 만큼 크다는 것을 의미한다. 이때, 집단 간 차이 때문에 생기는 변동성(독립변수의 영향)이 전체 변동성(종속변수)을 얼마나 설명하는지 알기 위해 에타 제곱을 사용한다.
에타 제곱(상관비, correlation ratio) : 분산분석에서 요인에 의해 설명될 수 있는 변동성과 총 변동성 간의 비율. 각 요인의 상대적 중요성을 파악할 수 있다.
이원분산분석
상호작용효과 (interaction effect) : 한 요인의 효과가 다른 요인의 수준에 따라 달라지는 현상. 즉, 두 요인이 독립적으로 종속 변수에 영향을 미치는 것이 아니라, 두 요인이 함께 작용할 때 그 효과가 달라질 수 있는 효과를 의미한다.
상호작용 효과가 유의미한 경우 : 단순히 요인 A와 B의 주효과를 더하는 것이 아니라 그 이상의 효과가 존재함을 의미한다.
상호작용이 없는 경우 : 각 요인의 주효과는 서로 독립적이며 한 요인의 효과는 다른 요인의 수준에 상관없이 일정하다.
공분산, 상관계수와의 차이점 : 공분산은 두 연속형 변수 간의 단순한 관계를 나타내지만, 상호작용 효과는 요인이 여러 수준으로 나뉘어 있을 때, 각 수준이 종속 변수에 미치는 영향을 평가하는 데 사용한다.
상호작용효과 확인
시각화 (interaction plot) : 분할표(contingency table)를 사용하여 interaction plot을 만든다
상호작용 효과가 없는 경우

상호작용 효과가 있는 경우

상호작용이 없다고 판단된 경우에는 복잡한 이원분산분석 대신 일원분산분석을 사용하여 각 요인의 주효과만 확인하는 것이 적절하다.
이원분산분석의 전개과정 : 두 요인을 각자 A, B라고 하자. 이때, A의 수준을 J, B의 수준을 K로 표현한다.
관찰값 : 요인 A의 j번째 수준과 요인 B의 k번째 수준에 해당되는 집단에서 i번째 관찰값. 각 집단의 관찰값 개수를 n인 경우 전체 관찰값의 개수 N은 JKn과 같다.
자유도 :
관찰값의 모형은 아래와 같이 표현할 수 있다
관찰값의 모형을 표본 통계량으로 표현하면 아래와 같다
를 좌변으로 옮긴 후 양변에 제곱을 취하여 전체 관찰 수만큼 합하면 변동성을 분해할 수 있다
SST(전체 변동성) =
SSA(A의 변동성) =
SSB(B의 변동성) =
SSAB(상호작용의 변동성) =
SSW(개별 관측값의 변동성) =
변동성을 자유도로 나누어 평균제곱을 구할 수 있으며, 평균제곱은 분산과 같은 의미를 갖는다.
MSA =
MSB =
MSAB =
MSW =
이원분산분석표 (two-way ANOVA table) :
| 분산원 | 제곱합 | 자유도 | 평균제곱 | F값 |
|---|---|---|---|---|
| A 효과 | SSA | J-1 | SSB / (J-1) | MSA / MSW |
| B 효과 | SSB | K-1 | SSB / (K-1) | MSB / MSW |
| 상호작용 효과 | SSAB | (J-1)(K-1) | SSAB / (J-1)(K-1) | MSAB / MSW |
| 집단 내(오차) | SSW | N-JK | SSW / JK(n-1) | - |
| 합계 | SST | N-1 | - | - |
F-검정을 사용하여 [A의 주효과, B의 주효과, 상호작용 효과]가 각각 종속 변수에 미치는 영향이 통계적으로 유의미한지 판단할 수 있다.
관계에 대한 설명력 평가 : 총 네가지 에타 제곱을 확인할 수 있다.
요인 A의 주효과 :
요인 B의 주효과 :
상호작용효과 :
모든 효과 :
사후검정
일원분산분석
scipy.stats에서 사용 가능한 사후검정은 아래와 같다.
Turkey 검정 : 가능한 모든 조합의 평균을 비교한다
양측/단측 검정 : 양측검정만 가능하다
한계점 : 샘플 사이즈가 균일해야 사용 가능하다
Dunnett 검정 : 하나의 기준 집단(control group)과 다른 집단들의 평균을 비교한다.
scipy.stats에는 없지만 보편적으로 사용하는 사후검정은 아래와 같다.
| 사후검정 | 특징 | 장점 | 단점 |
|---|---|---|---|
| Fisher's LSD | 각 그룹 간 평균을 개별적으로 t-검정을 수행하여 비교하는 방법 | 검정력이 높아 실제 차이를 잘 탐지할 수 있음 | 다중 비교 시 오류율(FWER)을 통제하지 않기 때문에 Type I 오류가 증가할 수 있음 |
| Bonferroni | 유의 수준을 비교의 수로 나누어 모든 쌍의 평균을 비교함 | FWER을 효과적으로 통제하여 신뢰성이 높음 | 보수적인 접근법으로 인해 검정력이 낮아질 수 있음 |
| Scheffé | ANOVA 기반으로 모든 가능한 선형 조합을 비교하며, 다중 비교에 매우 보수적임 | 가장 보수적인 사후검정으로, 어떤 비교에서도 FWER을 잘 통제 | 검정력이 매우 낮아 실제 차이가 있어도 발견하기 어려울 수 있음 |
| Games-Howell | 등분산성을 가정하지 않으며, 모든 그룹 간 평균 차이를 비교하는 비모수적 방법 | 등분산성 가정이 위배된 경우에도 사용 가능, 비교적 높은 검정력 | 복잡한 계산이 필요하며, 큰 샘플 크기가 요구될 수 있음 |
| Tamhane T2 | 등분산성을 가정하지 않으며, 비모수적 방법으로 그룹 간 평균을 비교 | FWER을 잘 통제하며, 등분산성 가정이 위배된 경우에도 사용 가능 | 매우 보수적이며, 따라서 실제 차이가 있어도 검정력을 잃을 수 있음 |
| Dunnett T3 | 등분산성을 가정하지 않으며, 각 그룹을 대조군과 비교하여 FWER을 통제 | 보수적이면서도 검정력을 유지하여, 특정 비교에 유리 | 모든 비교가 아닌 대조군과의 비교만 수행하므로 특정 상황에서만 적합할 수 있음 |
이원분산분석
일원분산분석에서는 위에서 작성한 모든 사후검정을 사용할 수 있지만, 이원분산분석(혹은 다원분산분석)의 경우는 요인 간의 상호작용을 평가할 수 있는 사후검정을 진행해야 한다.