데이터분석

비모수검정

DEDS 2025. 4. 8. 16:07
728x90

정규성 가정을 만족하지 않을 때 사용하는 것이 바로 비모수 검정 (Non-parametric test)입니다.
대표적으로 Wilcoxon과 Mann–Whitney U 검정이 있고, 각각 다음과 같은 상황에서 사용됩니다.

 

1. Wilcoxon Signed-Rank Test (윌콕슨 부호 순위 검정)

  • 대응표본(같은 그룹의 사전-사후) 비교: Wilcoxon Signed-Rank Test
  • 정규성 없을 때 paired T-test 대신 사용
from scipy.stats import wilcoxon

before = [60, 65, 70, 66, 72, 68, 75, 70, 64, 69]
after  = [63, 67, 74, 69, 76, 70, 78, 72, 66, 71]

stat, p = wilcoxon(before, after)

print(f"Wilcoxon 결과: 통계량={stat}, p-value={p:.4f}")

if p < 0.05:
    print("유의미한 차이 있음 (정규성 없어도)")
else:
    print("유의미한 차이 없음")

 

2. Mann–Whitney U Test (만-휘트니 U 검정)

  • 독립된 두 집단의 비교
  • 정규성 없을 때 독립표본 T-test 대신 사용
from scipy.stats import mannwhitneyu

group1 = [80, 85, 78, 90, 88]   # 남학생 점수
group2 = [70, 75, 72, 69, 65]   # 여학생 점수

stat, p = mannwhitneyu(group1, group2, alternative='two-sided')

print(f"Mann–Whitney U 결과: 통계량={stat}, p-value={p:.4f}")

if p < 0.05:
    print("두 그룹 간 차이 있음 (정규성 필요 없음)")
else:
    print("통계적으로 차이 없음")

Mann–Whitney U 결과: 통계량=25.0, p-value=0.0079

두 그룹 간 차이 있음 (정규성 필요 없음)

 

T-검정 vs 비모수 검정

정규성 만족 비모수(정규성 만족 못)
한 그룹 평균 vs 기준값 One Sample T-test -
두 그룹 평균 비교 student/Welch T-test Mann–Whitney U Test
대응 전후 비교 Paired T-test Wilcoxon Signed-Rank Test

 

  • 데이터가 정규분포를 따르지 않을 때, 비모수 검정을 사용
  • T-검정보다 덜 민감하지만 더 안전한 선택

 

728x90

'데이터분석' 카테고리의 다른 글

DuckDB-1 (파일SQL)  (0) 2025.04.08
pandas 컬럼명 변경  (0) 2025.04.08
정규성 검정(Normality Tests)  (0) 2025.04.08
T-Test(T-검정)  (0) 2025.04.08
dfSummary vs skim  (0) 2025.04.02