기초통계

[기초통계] 집단 비교 : 분산분석 - 다중비교, 사후검정, 카이제곱검정

2022. 8. 19. 15:39

분산분석


 

다중비교 multiple comparison

•  분산 분석은 한 번에 여러 집단 비교 가능
•  독립표본 t-검정은 한 번에 두 집단만 비교 가능
•  집단이 여러 개 있을 경우 독립표본 t-검정은 집단 간의 모든 짝을 비교해야 함.

   - 집단이 k개일 경우 필요한 비교 횟수 = k(k-1) / 2

 

 

FWER  Familywise Error Rate

다중 비교를 할 경우 적어도 한 번 1종 오류가 발생할 확률

•  세 집단이 모집단에서 평균이 모두 같은 경우 유의수준 5%인 비교를 3번해서,  3번 모두 1종 오류를 피할 확률(독립적이라고 가정할 경우):  95%   ×   95%   ×   95 %    ≈   86%

•  바꿔 말하면 적어도 한 번 1종 오류가 발생할 확률(FWER)은 14%
•  비교를 많이 할 수록 FWER은 증가

 
예)

at_home 과 health 의 평균이 같을 확률 A
at_home 과 other 의 평균이 같을 확률 B

사후 검정 post hoc test

•  FWER을 통제하기 위해 분산 분석을 먼저 실시
• 분산 분석 결과가 통계적으로 유의하면(𝑝 < 𝛼) 사후 검정을 실시
•  여러 집단 중 통계적으로 유의한 차이가 나는 집단을 식별
•  사후 검정에서도 𝛼를 조절하여 FWER이 커지지 않도록 제어

•  각 집단의 분산이 같은 경우: Tukey HSD
•  각 집단의 분산이 다른 경우: Games-Howell 검정

 

등분산성 homoscedasticity

집단간 분산이 같음은 Levene  검정으로 확인할 수 있음.
homoscedasticity < 변산성

pg.homoscedasticity(dv='rating', group='job_level', data=hr)

 

분산분석

분산분석 순서도

사후 검정 post hoc test

 
•  각 집단의 분산이 같은 경우: Tukey HSD
pg.pairwise_tukey(dv='rating', between='job_level', data=hr)

•  각 집단의 분산이 다른 경우: Games-Howell 검정
pg.pairwise_gameshowell(dv='rating', between='job_level', data=hr)
 
사후검정의 역할 - t-test를 자동으로 모든 조합에 대해서 반복하고 덜 틀리게 보정해줌


 
등분산성 검정 (pg.homoscedasticity)

at_home 과 health 의 평균이 같을 확률 A
at_home 과 other 의 평균이 같을 확률 B

 

분할표 contingency table

•  행과 열이 서로 다른 범주형 변수의 값을 나타내는 표.
•  표의 각 칸에는 사례 수를 표기
 
hr.pivot_table(index=' ', columns=' ', aggfunc=' ')

hr.pivot_table(index='marriage', columns='department', aggfunc='size')

카이제곱 검정

두 범주형 변수가 독립적이라는 귀무가설을 검정

 
   H0: 부서별 결혼 비율이 같다
   H1: 부서별 결혼 비율이 다르다

 
•  데이터가 적으면 p-value가 부정확할 수 있음
•   기대 빈도(expected)가  5 이하인 경우가 20% 이하를 권장

Cramér's V
두 변수의 관계를 0~1로 표시
  -  0: 전혀 관련이 없음
  -  1: 완전히 일치

 

카이제곱 검정 순서도

 

Python에서 카이제곱검정

expected, observed, stats  = pg.chi2_independence( x='   ', y='   ', data=   )
 

expected, observed, stats 
= pg.chi2_independence( x='marriage', y='department', data=hr)
expected observed
stats