ANOVA (Analysis of Variance; 분산분석)
2개 이상 그룹의 평균에 차이가 있는지를 분산을 통해 가설 검정하는 방법.
여러 그룹들이 하나의 분포에서부터 왔다는 가정에서 출발하여 이를 위한 지표 F-statistic(두개의 분산의 비율)로 확인.
ANOVA 테스트를 하는 이유
: 여러개를 하나하나씩 비교 하는 것은 그룹수가 늘어 날 수록 에러의 값도 커진다.(Multiple Comparision problem; 1종오류) 따라서 그 그룹들을 한번에 비교하는 방법이 필요.
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
(추가적으로 공부 해야함)
'Computer Science > 파이썬' 카테고리의 다른 글
[데이터전처리] tidy-wide tabular data -변환-> Pivot Table, Melt (0) | 2021.06.27 |
---|---|
[데이터 전처리] Pandas isin (0) | 2021.06.21 |
[Python] 가설검정1 - Student T-test (0) | 2021.06.20 |
[Python] 데이터 전처리 3 - DataFrame 슬라이스 (인덱서 loc, iloc) (0) | 2021.06.09 |
[Python] Feature Engineering 1 - DataFrame manipulation (단순 합계 column생성, string to numeric with replace def, Concat, Merge, Join) (0) | 2021.06.08 |