12강 / 20강

귀무분포 — 아무 일도 없었다면 어땠을까

무엇을 섞느냐가 무엇을 묻느냐를 정한다

귀무분포 — 아무 일도 없었다면 어땠을까
카드를 섞어 보고, 우연히도 이 정도가 나오나를 확인합니다.

NES 가 5.2 라고 나왔습니다. 큰 값 같은데, 정말 큰 걸까요? 이 질문에 답하는 유일한 방법은 아무 일도 없는 세계를 만들어 보고 거기서도 5.2 가 나오는지 확인하는 것입니다.

그 "아무 일도 없는 세계"를 귀무분포(null distribution)라고 합니다. 만드는 방법은 데이터를 섞는 것이고, 여기에 함정이 하나 있습니다 — 무엇을 섞느냐에 따라 전혀 다른 질문에 답하게 됩니다.

섞는 방법 두 가지

🧬
유전자 섞기
시그니처의 유전자 이름표를
마구 바꿔 붙인다
🧑‍🤝‍🧑
샘플 섞기
종양/정상 딱지를
마구 바꿔 붙인다

유전자 섞기는 이렇게 묻습니다 — "이 레귤론의 부하들이 아무 자리에나 놓였어도 이만큼 쏠렸을까?" 빠르고 간단하지만, 유전자끼리 원래 함께 움직인다는 사실(공발현)을 무시하므로 p 값이 지나치게 작게 나옵니다.

샘플 섞기는 이렇게 묻습니다 — "종양과 정상 딱지가 뒤바뀌었어도 이만큼 쏠렸을까?" 유전자 사이의 상관 구조가 그대로 보존되므로 훨씬 정직합니다. 대신 샘플이 충분해야 합니다 (보통 한 집단에 5개 이상).

귀무분포의 평균과 표준편차로 나누면 그것이 곧 NES 입니다.
Python 브라우저에서 실행

🎮 섞어 보세요

버튼을 누를 때마다 섞기가 한 번 일어나고, 그 결과가 히스토그램에 쌓입니다. 빨간 선이 진짜 점수입니다. 처음에는 종 모양이 잘 안 보이지만 100번쯤 누르면 모양이 드러납니다. 유전자 섞기와 샘플 섞기를 번갈아 써 보고, 귀무분포의 폭이 얼마나 다른지 확인해 보세요.

섞기를 반복하며 귀무분포가 쌓이는 것을 봅니다
불러오는 중…
유전자 섞기는 p 값을 낙관적으로 만듭니다. 샘플 섞기가 정직합니다.
Python 브라우저에서 실행
🤔 확인 문제
유전자 섞기로 만든 귀무분포가 p 값을 지나치게 작게 만드는 까닭은?
🤔 확인 문제
샘플 섞기를 쓰기 어려운 상황은?
🤔 확인 문제
aREA 가 NES 를 수식으로 내는데도 섞기를 이해할 필요가 있는 까닭으로 옳은 것은?