Permutation Test

Nov 3, 2022·
Chaehyeon Lee
· 2 min read
blog

Permutation Test

Permutation test는 비모수(nonparametric) 가설 검정 방법이다. 표본 크기가 작거나 데이터가 정규분포를 따르지 않을 때 사용한다. 특히 표본 수가 제한적인 genomic 데이터 분석 등에서 유용하다.

핵심 아이디어

가정. 두 표본이 같은 모집단 분포에서 왔다.

논리. 만약 이 가정이 맞다면, 데이터를 무작위로 섞어도 분포는 같아야 한다. 즉, 라벨(어느 그룹 소속인지)은 사실상 의미가 없다.

→ 그래서 라벨을 섞어서 검정 통계량을 다시 계산해도, 원래 관측한 값과 비슷한 분포가 나와야 한다. 이 분포로부터 멀리 떨어져 있다면 가정이 틀렸다고(=두 그룹이 다른 분포에서 왔다고) 결론낼 수 있다.

절차

두 그룹의 평균 차 (test statistic) 가 $T_{\text{obs}} = 9.33$ 으로 관측되었다고 하자. 표본이 작고 비정규라 모수 검정은 못 쓰는 상황이다.

  1. 두 그룹 데이터를 합친 뒤 무작위로 섞는다 (약 1,000회 반복).

  2. 각 permutation마다 평균 차 $T^{(b)}$ 를 계산한다 ($b = 1, \dots, B$).

  3. $\{T^{(b)}\}$ 의 히스토그램을 그린다 — 이게 귀무가설 하의 경험적 분포다.

  4. 관측값보다 더 극단적인 permutation 개수를 센다.

  5. p-value 계산:

    $$p = \frac{\#\{b : T^{(b)} \ge T_{\text{obs}}\}}{B}$$

    (단측 검정의 경우. 양측이면 절댓값 기준으로 비교)

해석

  • 관측값 $T_{\text{obs}}$ 가 permutation 분포의 꼬리 끝에 있으면 → 두 그룹이 다른 분포에서 왔다는 강력한 증거.
  • 관측값이 분포의 중앙 근처에 있으면 → 두 그룹이 같은 모집단에서 왔다고 봐도 무방.
  • “더 작은지"를 검정하는 단측 검정이라면 부등호 방향만 뒤집어 카운트.

왜 좋은가

  • 모수 가정 (정규성, 등분산 등) 없이 동작한다.
  • 표본 수가 작아서 점근 이론을 못 쓰는 상황에서도 유효하다.
  • 검정 통계량을 자유롭게 정의할 수 있다 (평균 차, 중앙값 차, 상관 계수 등 무엇이든).

대신 계산량이 크다 — $B$ 를 충분히 크게 해야 p-value의 정밀도이 나온다 (예: $B=1{,}000$ 이면 p-value 정밀도은 0.001).


원문: https://chaeniverse.tistory.com/4

참고: 순열 검정법(permutation test) - 공돌이의 수학정리노트

Authors
Data Scientist
Data Scientist at PIPET, The Catholic University of Korea. Healthcare big data · generative AI evaluation · K-pop virtual idol app (chatbot persona design, prompt engineering, LLM model comparison, image generation). Python · R · SQL · LLMs.