분산분석 :: Python 기초 통계 - mindscale
Skip to content

분산분석

ANOVA란?

  • ANalysis Of VAriance의 약자
  • 우리말로 "분산분석", 혹은 "변량분석"이라고 함

ANOVA가 필요한 이유

  • 두 개 이상의 집단에 대해 평균비교를 하고자 할 때 기존의 t-test를 사용한다면, 두 집단씩 짝을 지어 t-test를 진행해야 함
    • 세 개의 집단이 있을 때, 둘씩 짝을 짓는 경우의 수: 3가지
    • 네 개의 집단이 있을 때, 둘씩 짝을 짓는 경우의 수: 6가지
    • 다섯 개의 집단이 있을 때, 둘씩 짝을 짓는 경우의 수: 10가지
    • 여섯 개의 집단이 있을 때, 둘씩 짝을 짓는 경우의 수: 15가지
    • t-test로만 진행한다면, 분석횟수가 기하급수적으로 증가함 $\Rightarrow$ 과잉검증의 문제가 발생함
  • 과잉검증 문제(overtesting problem)란?
    • 통계적 검증 절차를 남용하여, 확률적 의사 결정에서 발생할 수 있는 오류의 확률이 필요 이상으로 증가하는 문제
    • 예) 여섯 개 집단에 대한 평균비교를 시행할 때, 한 번이라도 1종 오류가 발생할 확률: $1 - (1 - \alpha)^{15}$
      • 한 번의 시행에서의 유의수준($\alpha$)을 0.05라고 잡아도, 전체 유의수준은 급격하게 증가함
    • 따라서, 이러한 오류의 확률을 통제한 상황에서 통계 분석을 진행하기 위해서 ANOVA를 실시함
  • 오류의 확률을 통제한 상태에서 전체적인 결과에 대한 진술/서술이 용이함
  • 집단을 구별하는 변수가 두 개 이상인 경우, 상호작용을 파악하기 용이함

ANOVA에서 사용되는 용어

  • 요인(factor): 집단을 구별하는 (독립)변수를 분산분석의 맥락에서는 "요인"이라고 칭함. 예) 성별, 국가
  • 수준(level): 요인의 수준. 즉, 각 집단을 의미함. 예) 요인이 "성별"일 때, 수준은 "남", "여"
  • 상호작용: 한 요인의 수준에 따른 종속변수의 차이가 또 다른 요인의 수준에 따라 달라질 때, "요인들 간 상호작용이 존재한다"고 함

  • n원분산분석

  • 요인이 n개인 분산분석을 의미
  • 예) 일원분산분석: 요인이 1개인 분산분석
  • 예) 이원분산분석: 요인이 2개인 분산분석