분산분석(ANOVA)이란?
3개 이상의 다수 집단 간 평균 차이를 비교할 때 사용
독립변수 X : 범주형 변수 (성별, 종교, 부서)
종속변수 y : 연속형 변수
일원배치 분산분석
하나의 요인(성별, 종교, 부서)에 따른 3개 이상의 집단 평균을 비교할 때 사용
F 검정통계량을 이용함
각 집단의 측정치는 서로 독립적이라고 가정함
1. 가설수립
귀무가설 : k개의 집단 간 모평균 간에는 차이가 없다.
대립가설 : k개의 집단 간 두 모평균 간에는 차이가 있다.
2. 유의수준 설정 (0.05)
3. 정규성 검정
귀무가설 : 데이터는 정규성을 만족한다.
대립가설 : 데이터는 정규성을 만족하지 않는다.
from scipy.stats as stats
stats.shapiro(X1)
stats.shapiro(X2)
stats.shapiro(Xn)
=> p-value가 유의수준(0.05)보다 작으면 '데이터는 정규성을 만족하지 않는다'라는 대립가설 채택
=> p-value가 유의수준(0.05)보다 크면 '데이터는 정규성을 만족한다'라는 귀무가설 채택
4. 등분산성 검정
귀무가설 : 데이터는 등분산성을 만족한다.
대립가설 : 데이터는 등분산성을 만족하지 않는다.
from scipy.stats as stats
stats.levene(X1, X2, ..., Xn)
=> p-value가 유의수준(0.05)보다 작으면 '데이터는 등분산성을 만족하지 않는다'라는 대립가설 채택
=> p-value가 유의수준(0.05)보다 크면 '데이터는 등분산성을 만족한다'라는 귀무가설 채택
5. 검정통계량 값 및 유의확률(p-value) 계산
1. 데이터가 주어진 경우
1-1. 데이터가 정규성과 등분산성을 만족하는 경우
stats.f_oneway(X1, X2, ..., Xn)
1-2. 데이터가 정규성만 만족하고 등분산성은 만족하지 않는 경우
pip install pingouin
import pingouin as pg
pg.welck_anova(dv='종속변수의 열 이름', Between='독립변수의 열 이름', data=전체 데이터)
1-3. 데이터가 정규성을 만족하지 않는 경우
stats.kruskal(X1, X2, ..., Xn)
=> p-value가 유의수준(0.05)보다 작으면 ‘k개의 집단 간 모평균 간에는 차이가 있다’라는 대립가설 채택
=> p-value가 유의수준(0.05)보다 크면 ‘k개의 집단 간 모평균 간에는 차이가 없다’라는 귀무가설 채택
2. 데이터가 주어지지 않은 경우
2-1. 검정통계량 F 계산 후 p-value 계산
# ‘k개의 집단 간 모평균 간에는 차이가 있다’라는 대립가설을 검정 (양측검정)
p-value = 2 * (1-stats.f.cdf(F_stat, dfB, dfW))
=> p-value가 유의수준(0.05)보다 작으면 ‘k개의 집단 간 모평균 간에는 차이가 있다’라는 대립가설 채택
=> p-value가 유의수준(0.05)보다 크면 ‘k개의 집단 간 모평균 간에는 차이가 없다’라는 귀무가설 채택
6. 사후검정
분산분석 결과, p-value가 유의수준(0.05)보다 작아 'k개의 집단 간 모평균 간에는 차이가 있다'라는 대립가설이 채택된 경우 어떤 집단들에 대해서 평균의 차이가 존재하는지 알아볼 수 있음
귀무가설 : 두 집단 사이의 평균은 차이가 없다.
대립가설 : 두 집단 사이의 평균은 차이가 있다.
# 각 집단간 평균을 그래프로 표시
from statsmodels.stats.multicomp import pairwise_tukeyhsd
from statsmodels.stats.multicomp import MultiComparison
mc = MultiComparison(data=종속변수, groups=독립변수)
tuekeyhsd = mc.tukeyhsd(alpha=0.05)
fig = tuekeyhsd.plot_simultaneous()
# 두 집단씩 짝을 지어 각각 다중비교를 수행
tuekeyhsd.summary()
=> p-value가 유의수준(0.05)보다 작으면 ‘두 집단 사이의 평균은 차이가 있다’라는 대립가설 채택
=> p-value가 유의수준(0.05)보다 크면 ‘두 집단 사이의 평균은 차이가 없다’라는 귀무가설 채택
'ADP > 통계분석' 카테고리의 다른 글
[통계분석] 교차분석(카이제곱검정) - 적합성 검정 (0) | 2024.10.10 |
---|---|
[통계분석] 분산분석(ANOVA) - 이원배치 분산분석 (1) | 2024.10.10 |
[통계분석] 부호 검정 (0) | 2024.10.10 |
[통계분석] t-검정 (독립표본 t-검정) (0) | 2024.10.10 |
[통계분석] t-검정 (대응표본 t-검정) (0) | 2024.10.10 |