본문 바로가기
기초통계

multiple comparison(다중비교)와 false discovery rate(FDR)

by 단창 2013. 12. 6.


어떤 실험군(A)이 대조군(B)에 비해 통계적으로 유의미한 차이가 있는지 5%유의수준으로 검정결과가 나왔다고 하자. 

이를 토대로  A는 B와 유의미한 차이가 난다. 라고 말할수 있지만 검정군이 3가지 이상 ( ex.. 수백가지 이상, fMRI의 특정 영역의 voxel 들이 다른 영역보다 활성화 되었는가? 를 검정할때) 인 경우, 마찬가지로 5%유의수준으로 유의미함을 말할 수 있을까? 


예를들어, 

실험군이 1000개가 있는 경우를 가정하자, 실험군1이 나머지 실험군 999개 보다 p<0.05 로 유미하게 차이가 난다. 라는 결과를 볼때, 

실험군1이 실험군2과 유의미한 차이가 나지 않으나, 차이가 난다고 잘못 결과를 내렸을 확률(1종오류)은 5%이다. 

실험군1이 실험군3과 유의미한 차이가 나지 않으나, 차이가 난다고 잘못 결과를 내렸을 확률은 5%이다. 

실험군1이 실험군4와 유의미한 차이가 나지 않으나, 차이가 난다고 잘못 결과를 내렸을 확률은 5%이다. 

... 

실험군1이 실험군999와 유의미한 차이가 나지 않으나, 차이가 난다고 잘못 결과를 내렸을 확률은 5%이다. 


999가지의 testing이 있는데 이중에 잘못판단을 내렸을 경우는 999*0.05 =  약50 , 즉 50개의 검정은 잘못되었을수 있다. 

이렇게 다중검정(multiple comparison )에서 발생하는 문제를 다중검정비교의 문제 (multiple comparison problem, MCP) 라고 한다. 따라서 다중검정인 경우 pvalue 0.05로 끝낼것이 아니라, 이 보다 좀더 strict한 잣대로 검정을 해야 한다. 이를 사후 분석(post hoc)이라고 한다. 

사후분석에는 다양한 방법들이 제시되어왔는데(본페로니, 던컨 등등..), 최근(95년에 제시되고, 현재 많이 쓰고 있는 FDR(false discovery rate)를 사용하자. 본페로니는 너무 conservative해서 결과에 너무 strict하다고 한다..


그래서 다중비교문제를 보정한 pvalue를 corrected p라고 한다. 

matlab에서 FDR구하는 코드는

http://www-personal.umich.edu/~nichols/FDR/FDR.m

를 사용하면 된다. 


즉, pval = [ .... ] ; 이런 arrary를 

[pID, pN] = FDR(pval, 0.05) 

이렇게 넣으면 corrected p 0.05에 해당하는 p의 threshold가 나온다

이 threshold밑으로 p를 모두 1로 처리해 주고, 

-log10P 로 보통 표현해서 결과를 나타낸다.(다른 통계량과 달리, p는 낮을수록 유의미 한 것이기 때문.)



반응형

'기초통계' 카테고리의 다른 글

unpaired t-test 예제  (0) 2011.02.01
unpaired t-test  (0) 2011.01.31
정상분포를 이용한 가설검증의 예  (0) 2010.11.29
아주 간단한 one-sample t-test (단일표본 t검증)  (2) 2010.11.08
Student 의 t분포  (0) 2010.10.25