대규모 검정과 shrinkage
이 토픽을 마치면
많은 feature를 동시에 검정할 때 family와 오류 기준을 정의할 수 있습니다. shrinkage를 개별 추정값을 안정화하는 방법으로 이해하고, 보정 p-value·효과크기·불확실성을 하나의 순위로 합치지 않습니다.
feature가 많으면 질문의 수가 달라진다
유전자나 feature 수가 많아지면 각 feature마다 가설을 세울 수 있습니다. 검정 하나의 p-value만 보는 것과 수천 개를 함께 해석하는 것은 오류 구조가 다릅니다. family를 무엇으로 묶는지, 탐색인지 확인인지, 후속 검증을 어떻게 할지 먼저 기록합니다.
보정과 shrinkage의 역할
다중검정 보정은 여러 가설에서 오류 기준을 관리합니다. shrinkage는 변동이 큰 개별 추정값을 전체적인 정보와 결합해 더 안정적인 추정으로 바꾸는 접근입니다. shrinkage가 작은 p-value를 만들어 내는 장치이거나 생물학적 중요성을 보장하는 장치는 아닙니다.
API와 결과 manifest
from statsmodels.stats.multitest import multipletests
reject, adjusted_p, _, _ = multipletests( raw_p_values, method="fdr_bh", alpha=0.05)result = { "feature_id": feature_ids, "estimate": estimates, "raw_p": raw_p_values, "adjusted_p": adjusted_p, "family_id": ["F01"] * len(feature_ids),}feature_id·estimate·p-value의 행 대응을 보존하고, filtering·normalization·batch·family 정의를 함께 기록합니다. raw count와 normalized value를 섞지 않으며, 결과만 남기고 입력 matrix를 잃지 않습니다.
순위와 해석
adjusted p-value로 정렬한 목록은 발견 후보를 찾는 데 쓸 수 있습니다. 그러나 순위가 높다고 effect size가 크거나 검증된 기전이라는 뜻은 아닙니다. effect estimate의 단위, 구간, feature 품질, batch와 replicate 설계를 함께 봅니다.
연구 질문으로 돌아가 해석하기
대규모 검정은 feature 수가 많을 때 false discovery의 위험을 관리하는 도구입니다. 결과는 “유의 feature 목록”에서 끝나지 않고, effect·불확실성·재현 가능성·후속 검증의 범위를 포함해야 합니다.
자주 생기는 실패
- raw p-value 순위만으로 feature를 확정하지 않습니다.
- FDR 보정이 batch와 설계 문제를 해결한다고 쓰지 않습니다.
- shrinkage를 효과의 생물학적 증폭으로 설명하지 않습니다.
- feature별 결과와 family ID의 매핑을 잃지 않습니다.
핵심 정리
- 대규모 검정은 family와 오류 기준을 먼저 정해야 합니다.
- 보정은 오류 관리, shrinkage는 추정 안정화라는 다른 역할입니다.
- feature 순위는 효과크기와 생물학적 중요성을 대신하지 않습니다.
다음 토픽으로
다음 모듈에서는 prediction target과 baseline·metric으로 통계에서 ML로 연결합니다.
참고 자료
- statsmodels multiple testing API: https://www.statsmodels.org/stable/generated/statsmodels.stats.multitest.multipletests.html
- NCBI GEO: https://www.ncbi.nlm.nih.gov/geo/info/
- Bioconductor OSTA experimental design: https://bioconductor.org/books/release/OSTA/pages/bkg-exp-design.html
본 편의 feature manifest와 결과 구조는 BioStatPy가 독립적으로 작성했습니다.