什么是FDR?
錯誤發(fā)現(xiàn)率FDR(False discovery rate)是在所有結(jié)果顯著的檢驗中舟陆,假陽(零假設(shè)H0為真時误澳,拒絕H0的情況)所占的比率。如下表所示秦躯,N次假設(shè)檢驗中忆谓,F(xiàn)DR定義為V/R=V/(V+S)。
而經(jīng)典的Benjamini-Hochberg (BH) 方法就是用于控制錯誤發(fā)現(xiàn)率FDR的一種方法踱承,讓FDR≤α倡缠。
Benjamini-Hochberg方法介紹
有N次假設(shè)檢驗,對每一次假設(shè)檢驗都計算其P值茎活,然后將計算出的P值按照從小到大的方式排序昙沦,接著從最小的P值開始,按照P(k)≤α*k/N進行比較载荔,然后可以找到最大的第K個滿足上述不等式的P值盾饮,最終可以認為這K個P值是顯著的,其余的P值不顯著懒熙。
我們來看一個具體例子丘损,假設(shè)需要檢驗的總體均值為6%,重復(fù)進行了30次抽樣檢驗工扎,最小的6個P值如下表所示号俐,如果使用5%的顯著性水平,僅考慮P值大小來評估的話定庵,那么我們將會拒絕最小的5個P值所對應(yīng)的檢驗(P值=0.0625>5%)吏饿,但使用Benjamini-Hochberg方法修正后,只會拒絕一個P值(下表中第一個)蔬浙。
Benjamini-Hochberg方法原理
我們將10000次假設(shè)檢驗分為2組:
1. 9000次檢驗的零假設(shè)H0:真猪落;
2. 1000次檢驗的零假設(shè)H0:假。
然后畴博,可以看到這兩組檢驗的P值分布情況如下圖所示:
H0為真時笨忌,P值均勻分布在0%-100%之間,為什么會是均勻分布呢俱病?是因為在零假設(shè)H0條件下官疲,P值有5%的可能性小于5%袱结,有10%的可能性小于10%,有20%的可能性小于20%途凫,以此類推垢夹,可以很直觀理解P值的均勻分布。而上圖之所以不是完全的均勻分布维费,是因為樣本數(shù)量還不夠大(當(dāng)樣本數(shù)量越大果元,P值也就越接近于均勻分布)。
H0為假時犀盟,P值就不再是均勻分布了而晒,而是集中在0%附近,其他區(qū)間基本沒有出現(xiàn)阅畴。這也比較好理解:H0是假倡怎,假設(shè)檢驗的功效越大,檢驗出H0為假的能力就越好贱枣,也就意味著P值越小诈胜,拒絕H0的證據(jù)越明顯。
如果將所有P值合在一起統(tǒng)計的話冯事,就如下圖所示焦匈。0%附近的第一個直方塊高度為1400次,而后面均勻分布的方塊平均高度為453次(如下圖紅線所示)昵仅,因此使用這個直方圖缓熟,我們可以大致估計出零假設(shè)H0是假,應(yīng)該被拒絕的數(shù)是:1400-453=947(和上圖中的真實值1000非常接近)摔笤。
進一步思考够滑,0%附近第一個直方塊中包含的1400個P值,按照常規(guī)假設(shè)檢驗吕世,都需要拒絕掉么彰触?通過上述分析,一個合理的拒絕數(shù)量應(yīng)該為947個命辖。
實際上况毅,按照Benjamini-Hochberg方法,從小到大的順序?qū)值進行排序尔艇,按照P(k)≤α*k/N進行比較尔许,拒絕最小的P值,其中有116個H0為真的情況终娃,也就意味著錯誤發(fā)現(xiàn)率FDR=116/947=0.12味廊。
如果要控制FDR≤α=0.1,則可重新使用Benjamini-Hochberg方法,這次我們從更加圖形可視化的角度來理解這個過程余佛。
如下圖所示柠新,橫坐標(biāo)是假設(shè)檢驗次數(shù),縱坐標(biāo)是P值辉巡。在坐標(biāo)系中我們先以α/N為斜率畫一條紅線(P=α*k/N函數(shù))恨憎,然后將所有假設(shè)檢驗的P值分布在坐標(biāo)系中,拒絕掉所有在紅線下的P值(也就是≤α*k/N的P值)红氯。
具體而言框咙,α/N為斜率的紅線和所有假設(shè)檢驗的P值相交的最大點對應(yīng)頻次為883咕痛,在883個最小P值中實際上有83個零假設(shè)H0為真的情況痢甘,也就意味著實際的FDR=83/883=0.094<0.1。
為什么Benjamini-Hochberg方法能保證FDR≤α呢茉贡?本質(zhì)是什么塞栅?
我們將上面的具體問題提煉總結(jié)一下,如下圖所示:橫坐標(biāo)是假設(shè)檢驗次數(shù)腔丧,縱坐標(biāo)是P值(0%-100%之間)放椰,先畫一條以α/N為斜率的紅線,假設(shè)L是紅線和所有假設(shè)檢驗的P值相交的最大點(L以下都是需要拒絕的P值)愉粤。而基于上文砾医,我們知道零假設(shè)H0為真時的P值是均勻分布,也就是說P值落在任意[0%-100%]區(qū)間的期望值為:k%*H0為真的假設(shè)檢驗次數(shù)衣厘,而H0為真的假設(shè)檢驗次數(shù)N0一定是小于N的如蚜。
在L個被拒絕的P值中,其中H0為真的假設(shè)檢驗個數(shù)為:h*?H0為真的假設(shè)檢驗次數(shù)=h*N0影暴。
這就是為什么Benjamini-Hochberg方法能有效控制錯誤發(fā)現(xiàn)率FDR≤α的底層邏輯错邦。