15강 / 20강

scipy — t-검정을 한 줄로

논문 SI 「Wilcoxon rank-sum test or t-test were used」

scipy — t-검정을 한 줄로
두 군의 차이가 우연인지를 묻는 도구입니다.

논문의 통계 문단입니다.

Wilcoxon rank-sum test or t-test were used to evaluate differences between groups for continuous variables.

둘 다 "두 군이 다른가" 를 묻습니다. 다만 전제가 다릅니다.

t-검정
값이 정규분포에 가깝다고 본다
평균을 견준다
전제가 맞으면 더 민감하다
Wilcoxon 순위합
분포를 가정하지 않는다
값을 순위로 바꿔 견준다
치우친 자료에 안전하다

발현량은 치우쳐 있으니(14강) 로그를 씌우거나 Wilcoxon 을 씁니다. 논문이 둘 다 적어 둔 이유예요.

p 값과 <b>효과 크기</b>를 함께 봅니다 — p 는 '있나' 를, d 는 '얼마나' 를 말합니다.
Python 브라우저에서 실행
두 군의 차이와 표본 수를 움직여 보세요. p 가 어떻게 되는지.
불러오는 중…

2만 번 검정하면 — 다중검정

유전자 2만 개를 각각 검정하면 어떻게 될까요? 진짜 차이가 하나도 없어도 p < 0.05 가 약 1,000개 나옵니다.

20,000 × 0.05 = 1,000

그래서 보정합니다. 유전체에서 표준은 FDR(거짓발견율) — Benjamini-Hochberg 법이에요.

논문도 GSEA 에서 Adjusted p-values were calculated ... to correct for multiple testing 라고 적었습니다.

돌리는 데 몇 초 걸립니다. 보정 전후의 차이를 보세요.
Python 브라우저에서 실행
🤔 확인 문제
유전자 2만 개를 각각 p<0.05 로 검정하면, 진짜 차이가 없어도 몇 개쯤 '유의'하게 나올까요?