내일배움캠프

[내일배움캠프] TIL 30일차 26.02.11(수)

nom_de_plume 2026. 2. 11. 21:19

정규성 검정: stats.shapiro()

데이터가 정규분포를 따르는지 확인하는 가장 대표적인 방법.

  • 기본 형태: stats.shapiro(x)
  • 특징:
    • 귀무가설(H_0): 데이터가 정규분포를 따른다.
    • 해석: p-value가 0.05보다 크면 정규성을 만족.
    • 주의: 표본 크기가 너무 크면(약 5,000개 이상) 아주 미세한 차이에도 p-value가 낮게 나와 정규성이 없다고 판단하는 경향 존재

 

등분산 검정: stats.levene()

두 집단 이상의 분산(퍼진 정도)이 같은지 확인합니다. t-test 전 필수.

  • 기본 형태: stats.levene(sample1, sample2, ...)
  • 특징:
    • 귀무가설(H_0): 집단 간 분산이 동일.
    • 해석: p-value > 0.05면 '등분산성 만족'.
    • 장점: stats.bartlett()보다 이상치(outlier)에 강건(robust)하여 실무에서 더 자주 사용.

 

독립표본 t-검정: stats.ttest_ind()

서로 다른 두 집단의 평균 차이 비교.

  • 기본 형태: stats.ttest_ind(a, b, equal_var=True)
  • 특징:
    • 조건: 두 집단이 독립적이고, 정규성을 만족.
    • 매개변수: 위에서 진행한 levene 검정 결과 분산이 다르다면 equal_var=False (Welch's t-test)로 설정

 

맨-휘트니 U 검정: stats.mannwhitneyu()

t-test를 쓰고 싶은데, 데이터가 정규분포를 따르지 않을 때 사용하는 비모수 검정.

  • 기본 형태: stats.mannwhitneyu(x, y, alternative='two-sided')
  • 특징:
    • 평균값이 아닌 **순위(rank)**의 합을 비교.
    • 표본 크기가 작거나 데이터에 이상치가 많을 때 유용

 

Pingouin 라이브러리: pg.mwu()

scipy.stats보다 훨씬 친절하고 상세한 결과를 제공하는 pingouin 라이브러리의 MWU 검정.

  • 기본 형태: pg.mwu(x, y)
  • 특징:
    • 압도적 가독성: 단순히 p-value만 주는 게 아니라, 효과 크기(Effect size, CLES 등)와 신뢰구간을 표(DataFrame) 형태로 한 번에 출력