본문 바로가기

Computer Science/파이썬

[통계/python] 가설검정3 - ANOVA test

ANOVA (Analysis of Variance; 분산분석)
2개 이상 그룹의 평균에 차이가 있는지를 분산을 통해 가설 검정하는 방법.
여러 그룹들이 하나의 분포에서부터 왔다는 가정에서 출발하여 이를 위한 지표 F-statistic(두개의 분산의 비율)로 확인.
ANOVA 테스트를 하는 이유
: 여러개를 하나하나씩 비교 하는 것은 그룹수가 늘어 날 수록 에러의 값도 커진다.(Multiple Comparision problem; 1종오류) 따라서 그 그룹들을 한번에 비교하는 방법이 필요. 

 

F= Variance between group / Variance with in group

 

F 값이 높다는 의미

1. 분자(다른그룹간의 분산)는 크고 분모(전체 그룹의 분산)는 작다

2. 다른 그룹끼리의 분포가 다를 것이다. 

3. 따라서 적어도 어떠한 그룹의 평균은 전체 그룹의 평균값과 다르다. 

 

1. One-way ANOVA

사용되는 변수의 종류
Dependent variable(종속변수): Continous(연속형)변수만 가능
Independent variable(독립변수): Discrete(이산형)/Categorical(범주형) 변수만 가능

예) 아이들을 3그룹으로 나누어 영상을 나누어(폭력영화/드라마/공익광고) 각각 보여주고 아이들의 폭력성을 측정한다고 할때, 종속변수 = 아이들의 폭력행동 점수 / 독립 변수 = 영상 (독립변수의 레벨 = 3가지 영상의 종류 == 1의 컬럼에 다른 3개의 데이터 값들)

 

H0(귀무가설) : 모든 그룹의 평균은 같다. 
Ha(대안가설):  적어도 한그룹의 평균은 다르다(NOT all means are equal).

F-value 로 확인하고 p-value값으로는 f값의 유의미함(적어도 한그룹의 평균은 다르다)을 측정해줌. 이후 바로 사후 검정을 실행해줌 

## 만약 2개의 그룹을 이용해서 ANOVA를 진행하면 F-value=(T-value)²

 

from scipy.stats import f_oneway

f_oneway(g1, g2, g3) # pvalue = 0.11
F_onewayResult(statistic=2.6009238802972483, pvalue=0.11524892355706169)

 

2. Two-way ANOVA

사용되는 변수의 종류
Dependent variable(종속변수): Continous(연속형)변수만 가능
Independent variable(독립변수): Discrete(이산형)/Categorical(범주형) 변수만 가능
독립변수의 그룹이 2개 +α 임. 여기서 독립변수는 Main effect가 있다고함. 
α  = interaction(상호작용) 한독립변수의 main effect가 다른 독립변수의 level에 따라 원래의 linear relationship이 non-linear로 변함. 

독립변수가 2개, 따라서 F값이 2개 또한 interaction도 유의한지 확인하기위한 F값이 추가적으로 필요 = 3개의 F값

--> 3개의 between variance가 필요 

F= Variance between group(1) / Variance with in group

 

(추가적으로 공부 해야함)