logo

여러 집단의 평균 비교

여러 집단의 평균 비교

분산 분석 Analysis of Variance

  • 집단 간 차이가 크다면 집단 내 분산에 비해 집단 간 분산이 커질 것
  • 모집단이 정규분포를 따르거나, 각 집단의 표본 크기가 충분히 크면 집단 간 분산/집단 내 분산의 비율은 F 분포를 따름
  • 이를 통해 "모든 집단들의 평균이 같다"는 귀무가설을 검정할 수 있음
  • 귀무가설을 기각할 경우, "적어도 한 집단의 평균은 다르다"라는 대립가설을 채택

등분산성 homoscedasticity

  • 분산분석은 집단간 분산이 같아야 함
  • 등분산성은 Levene 검정으로 확인할 수 있음
    • 귀무가설: 집단 간 분산이 같다
    • p < 유의수준 → 귀무가설 기각 → 집단 간 분산이 다름
  • 집단간 분산이 다를 경우(이분산), 별도의 보정이 필요

등분산성 검정

pg.homoscedasticity(dv='price', group='model', data=df)
  • 귀무가설: 모든 집단의 분산이 같다
equal_var 분산분석 사후검정
True pg.anova pairwise_tukeyhsd
False pg.welch_anova pg.pairwise_gameshowell

Python 분산 분석

  • 분산분석(등분산이면 anova, 이분산이면 welch_anova 사용)
pg.anova(dv='price', between='model', data=df)
Source SS DF MS F p-unc np2
집단 간 model 3.336811e+05 1 333681.127484 3.038673 0.082432 0.011048
집단 내 Within 2.986872e+07 272 109811.457010 NaN NaN NaN
편차제곱합 자유도 편차제곱평균 검정통계량 p-value 에타제곱

Python 분산 분석 (3집단 이상 비교)

  • 데이터
hr = pd.read_excel('hr.xlsx')
  • 등분산성 검정
pg.homoscedasticity(dv= 'rating', group='job_level', data=hr)
  • 분산 분석(등분산이 아닐 경우 welch_anova를 사용)
pg.welch_anova(dv='rating', between='job_level', data=hr)
Source SS DF MS F p-unc np2
0 job_level 309.156693 2 154.578347 164.523041 3.424682e-65 0.183206
1 Within 1378.326300 1467 0.939554 NaN NaN NaN

퀴즈

문제 1 / 7맞음: 0힌트: 0틀림: 0채점중: 0남음: 7

분산 분석(analysis of variance)의 귀무가설은 무엇입니까?

  • 모든 집단의 평균은 같다
  • 모든 집단의 평균은 다르다
  • 적어도 한 집단의 평균은 다르다
  • 모든 집단의 분산은 같다
  • 모든 집단의 분산은 다르다
  • 적어도 한 집단의 분산은 다르다

퀴즈를 풀려면 대화형 기능을 불러와야 합니다.

Previous
효과 크기