11강 / 20강
NES — 점수를 확신도로 바꾸기
레귤론이 클수록 같은 쏠림이 더 놀랍다
ES 를 얻었습니다. 그런데 이 값만으로는 상사끼리 견줄 수가 없습니다. 왜냐하면 레귤론 크기가 제각각이기 때문입니다.
부하 3명이 전부 한쪽으로 쏠렸습니다. 놀랄 일일까요? 별로요 — 동전 세 번 던져 전부 앞면 나오는 정도입니다. 그런데 부하 300명이 전부 한쪽으로 쏠렸다면? 그건 사건입니다.
그래서 ES 를 레귤론 크기로 보정합니다. 그 결과가 NES (Normalized Enrichment Score, 정규화 농축 점수)입니다.
NES = ES × √( Σ w² ) ( w 는 정규화하지 않은 원래 가중치 )
NES 는 '얼마나 쏠렸나'가 아니라 '그 쏠림이 얼마나 놀라운가'입니다.
Python
브라우저에서 실행
NES 는 곧 z 값입니다
여기가 아름다운 지점입니다. NES 는 표준정규분포를 따르도록 만들어졌습니다. 즉 NES 값 자체가 z 점수이고, p 값이 바로 나옵니다.
| NES | 양측 p 값 | 읽는 법 |
|---|---|---|
| 1.0 | 0.32 | 흔한 일 — 아무 말도 못 한다 |
| 2.0 | 0.046 | 가까스로 유의 |
| 3.0 | 0.0027 | 꽤 유의하다 |
| 5.0 | 6×10⁻⁷ | 강력한 후보 |
| 10.0 | 10⁻²³ | 거의 확실하다 |
실전 논문에서 마스터 레귤레이터의 NES 가 5 를 넘는 일은 흔합니다. 전사인자 6,000개를 한꺼번에 검사하므로 그 정도는 되어야 다중검정을 뚫습니다 (17강).
🎮 크기가 확신도를 바꾸는 것을 보세요
레귤론 크기와 가중치 쏠림을 조절해 보세요. ES 는 고정인데 NES 와 p 값이 어떻게 변하는지 보십시오. 부하를 100개로 늘렸다가, 그중 하나의 신뢰도만 확 키워 보세요 — 부하 수는 그대로인데 확신도가 무너집니다.
aREA 의 '해석적(analytic)'이라는 말은 바로 이 뜻입니다.
Python
브라우저에서 실행
🤔 확인 문제
ES 는 같은데 레귤론 크기가 다른 두 전사인자가 있습니다. NES 는 어떻게 됩니까?
해설 같은 정도의 쏠림이라도 증인이 많을수록 놀랍습니다. NES 는 ES 에
√(Σw²) 를 곱하므로 부하가 많을수록 커집니다.🤔 확인 문제
부하가 100개인 레귤론에서 한 부하의 likelihood 만 1.0 이고 나머지 99개가 0.02 입니다. NES 배율
√(Σw²) 는?해설
Σw² ≈ 1² + 99×0.02² ≈ 1.04 이므로 배율은 약 1.02 입니다. 부하 수 100 은 겉보기일 뿐, NES 는 유효 크기를 정직하게 반영합니다.🤔 확인 문제
NES 가 표준정규분포를 따르도록 설계된 덕분에 얻는 실질적 이득은?
해설 GSEA 라면 p 값 하나에 순열을 수천 번 돌려야 합니다. NES 가 z 값이면
p = 2(1 − Φ(|NES|)) 한 줄이면 끝나요. 이것이 VIPER 를 환자 수백 명에게 쓸 수 있게 만든 속도의 원천입니다.