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 |