Summary

대응 표본(paired)의 차이가 0과 다른지 검정하는 비모수 검정. Paired t-test의 비모수 대안. 차이 점수의 부호와 크기(순위)를 모두 고려한다.

용어 설명

  • 대응 표본 (Paired samples): 같은 대상을 두 번 측정하여 얻은 짝지어진 데이터 (예: 치료 전/후)
  • 차이 점수 (Difference score, D): 각 쌍의 두 측정값의 차이.
  • 부호 (Sign): 차이가 양(+)인지 음(−)인지. 변화의 방향 정보
  • 순위 (Rank): 차이의 절대값()에 매긴 크기 순서. 변화의 크기 정보
  • 정규근사 (Normal approximation): 표본이 클 때 W 통계량의 분포를 정규분포로 근사하여 z-값 계산

Wilcoxon Signed-rank Test

언제 사용하는가?

  • Paired t-test 대안: 차이 점수가 정규분포를 따르지 않을 때
  • 전후 비교: 소표본 + 비정규 분포
  • 순서형 데이터: 차이의 방향과 크기가 의미 있는 순서형

검정 절차

  1. 각 쌍의 차이 계산:
  2. 인 쌍 제외
  3. 에 순위 부여
  4. 양의 순위합()과 음의 순위합() 계산
  5. 검정 통계량:

수식 변수 풀이

  • : 양의 순위합 — 차이가 양수(개선)인 쌍들의 순위를 모두 더한 값
  • : 음의 순위합 — 차이가 음수(악화)인 쌍들의 순위를 모두 더한 값
  • : 각 차이 점수의 절대값에 부여된 순위
  • : 검정 통계량으로 둘 중 작은 값을 사용
  • : H₀ 하에서 W의 기대값
  • : W의 표준편차 — 대표본 정규근사에 사용
  • 대표본: 정규근사

Example

7명의 피험자, 프로그램 전후 점수:

| 피험자 | 전 | 후 | D | |D| | 순위 |
|--------|-----|-----|---|------|------|
| 1 | 72 | 78 | +6 | 6 | 4.5 |
| 2 | 85 | 82 | -3 | 3 | 2 |
| 3 | 60 | 65 | +5 | 5 | 3 |
| 4 | 90 | 91 | +1 | 1 | 1 |
| 5 | 78 | 85 | +7 | 7 | 6 |
| 6 | 65 | 71 | +6 | 6 | 4.5 |
| 7 | 80 | 72 | -8 | 8 | 7 |




가정

가정설명
대응 표본관측치가 쌍으로 연결됨
연속형 또는 순서형차이의 크기 비교가 의미 있어야 함
차이 분포의 대칭성차이가 0을 중심으로 대칭 (엄격한 가정은 아님)

Effect Size: matched-rank biserial correlation

수식 변수 풀이

  • : 효과 크기 — matched-rank biserial correlation
  • : 정규근사 z-값 — W 통계량을 표준화한 값
  • : 쌍의 수 (D = 0인 쌍 제외)
  • Z: 정규근사 z-값
  • N: 총 관측치 수 (쌍의 수)
r 값해석
0.1Small
0.3Medium
0.5Large

Sign Test와의 비교

구분Wilcoxon signed-rankSign test
정보 이용부호 + 순위(크기)부호만
검정력높음낮음
가정차이의 대칭성없음
사용차이 크기 비교 가능 시순위 부여 불가 시

Implementation

from scipy import stats
import pingouin as pg
 
# === scipy ===
w_stat, p = stats.wilcoxon(before, after, alternative='two-sided')
print(f"W={w_stat:.1f}, p={p:.4f}")
 
# effect size
import numpy as np
# z-approximation
n = len(before)
z = (w_stat - n*(n+1)/4) / np.sqrt(n*(n+1)*(2*n+1)/24)
r = z / np.sqrt(n)
print(f"r = {abs(r):.3f}")
 
# === pingouin ===
result = pg.wilcoxon(before, after, alternative='two-sided')
print(result[['W-val', 'p-val', 'RBC', 'CLES']])

관련 문서