Stats & AI tech blog - '일단 시도함'

[통계] ANCOVA (공분산분석) 본문

Statistics & AI/Comparison

[통계] ANCOVA (공분산분석)

justdoit ok? 2023. 11. 21. 22:46

1. 공분산분석이란?

독립변수가 종속변수에 순수하게 미치는 영향을 파악하기 위해 외생변수를 공변량으로 통제하여 분석

  • 외생 변수 : 종속변수에 영향을 미칠 수 있으나 독립변수가 아닌 변수
  • 공변량 (공변수, 공변인, covariate variable) : 독립변수 이외에 영향을 미칠 수 있는 잡음 변인으로, 연구자가 통제하고자 하는 변인

ANCOVA는 ANOVA에서 설명하지 못하는 집단 내 변동을 설명할 수 있게 한다.

성별, 나이 등 여러 공변량을 사용할 수 있지만, 많은 공변량을 사용할 수록 자유도가 떨어진다.

종속변수와 약한 상관을 가지는 공변량을 추가할 때는 오히려 검정력을 떨어뜨리기 때문에 주의해야한다.

 

 

2. 기본 가정

  1. 독립변수는 범주형 자료이다.
  2. 종속변수와 공변량은 연속형 자료이다.
  3. 공변량과 종속변수는 선형적 연관을 가진다.
  4. 독립변수의 각 항목에 대해 종속변수는 등분산성을 만족한다.
  5. 독립변수와 공변량 사이에 교호작용이 없다.

 

3. 예시

진단 솔루션 도입 후, 진단에 걸리는 시간이 줄었는지 확인하고자 한다.

 

H0 : 솔루션 도입 전,후 진단에 걸리는 시간의 차이가 없다.

H1 : 솔루션 도입 전,후 진단에 걸리는 시간의 차이가 있다.

 

솔루션 도입이외에 진단 시간에 영향을 미치는 요인(성별, 나이, 워킹타임)을 통제하여, 솔루션 도입이 진단 시간에 미치는 순수한 영향을 파악하고자 한다.

 

 

4. 분석 절차

  • one-way ANCOVA (공변량 1개)
library(HH)
library(car)
library(lsmeans)

#교호작용 확인
model1 = lm(time~Group*Sex, data=data)
Anova(model1, type="3")
summary(model1)

#상호작용을 빼고 공분산분석
model2 = lm(time~Group+Sex, data=data)
summary(model2) 
plot(model2$residuals)
Anova(model2, type="3")
  • two-way ANCOVA (공변량 2개 이상)
library(HH)
library(car)
library(lsmeans)

#교호작용 확인
model1 = lm(time~Group+Group*Sex+Group*Age+Group*Work, data=data)
Anova(model1, type="3")
summary(model1)

#상호작용을 빼고 공분산분석
model2 = lm(time~Group+Sex+Age+Work, data=data)
summary(model2) 
plot(model2$residuals)
Anova(model2, type="3")