11강 / 20강
1만 7천 번 물으면 855번은 그냥 걸린다
Benjamini Y, Hochberg Y. J R Stat Soc B 57:289-300 (1995)
p < 0.05 는 '차이가 없는데도 이만큼 갈릴 확률이 5% 미만' 이라는 뜻입니다. 바꿔 말하면, 차이가 없는 유전자 100개를 검사하면 그중 5개는 그냥 걸립니다.
우리는 17,097개를 검사했습니다.
17,097 × 0.05 ≈ 855개
차이가 하나도 없더라도 855개쯤은 p < 0.05 로 나옵니다. 그냥 나옵니다.
차이를 0 으로 놓고 만든 자료인데도 800개 넘게 걸립니다. 전부 가짜입니다.
Python
브라우저에서 실행
거짓발견율 — 다르게 묻기
옛 방법(본페로니)은 기준을 통째로 조입니다 — 0.05 대신 0.05/17097 을 쓰는 식으로요. 확실하지만 너무 가혹해서 진짜도 다 놓칩니다.
벤저미니-호크버그(BH) 는 물음을 바꿉니다.
본페로니가 묻는 것
"가짜가 하나라도 섞일 확률을 5% 아래로"
→ 너무 엄격합니다
→ 너무 엄격합니다
BH 가 묻는 것
"내가 고른 것들 가운데 가짜 비율을 10% 아래로"
→ 쓸 만합니다
→ 쓸 만합니다
이 비율을 거짓발견율(FDR, false discovery rate) 이라 하고, 유전자마다 계산한 값을 q 값이라고 부릅니다.
세 번째 줄을 보세요. 보정값은 0.091 인데 q 는 0.0588 입니다 — 뒤쪽(5번째)의 보정값이 더 작아서 끌어내린 것입니다.
Python
브라우저에서 실행
2,649개가 579개로 줄어듭니다. WRN 은 q = 1.03e-03 으로 넉넉히 살아남습니다.
Python
브라우저에서 실행
🤔 확인 문제
유전자 17,097개를 p < 0.05 로 검사할 때, 진짜 차이가 하나도 없어도 몇 개쯤 걸립니까?
해설 17,097 × 0.05 ≈ 855. p<0.05 의 정의가 곧 '차이가 없어도 5%는 걸린다' 이므로,
많이 물을수록 가짜도 비례해서 늘어납니다. 이것이 다중검정 문제입니다.
🤔 확인 문제
q 값(FDR)이 본페로니 보정보다 실제 연구에서 널리 쓰이는 이유는?
해설 본페로니는 '가짜가 하나라도 있으면 안 된다' 고 요구해서 진짜까지 대부분 버립니다.
BH 는 '고른 것 중 10%까지는 가짜여도 좋다' 고 허용하는 대신
진짜를 훨씬 많이 건집니다. 후보를 추리는 단계에는 이쪽이 맞습니다.