|
前幾天,Nature上一篇comment再度引發(fā)關(guān)于p-value如何使用和解釋的文章:Scientists rise up against statistical significance,800多名科學家聯(lián)合聲明拒絕使用基于p-value或置信區(qū)間或貝葉斯因子等的二分法將研究結(jié)果分為統(tǒng)計顯著和統(tǒng)計不顯著兩個部分,而是應(yīng)該把置信區(qū)間改為兼容性區(qū)間, 描述區(qū)間所有值的實際含義,尤其是其所代表的的效果 (point estimate)或極值在哪。給定了統(tǒng)計假設(shè),任何極值內(nèi)的值與研究數(shù)據(jù)都是兼容的?;诖?,作者可以更好的強調(diào)數(shù)據(jù)分析帶來的期望值和不確定性,不再對結(jié)果過于自信或悲觀。 不過一來統(tǒng)計界以后會怎么實施未知,二來簽名也未反對p-value的正確使用。那么怎么理解P-value的含義?怎么算是正確使用P-value呢?怎么評估算出的P-value是否正常呢? 就是我們下面要說的?;趥鹘y(tǒng),后面還是會繼續(xù)使用顯著性這一說法。 統(tǒng)計分析檢驗獲取p-value是我們經(jīng)常要做的一個工作,比如獲得差異基因或富集分析等。通常計算后會得到數(shù)百、數(shù)千或數(shù)萬個p-value??紤]到多重假設(shè)檢驗的問題,你可能會想著先做一個校正。 然而,你最先需要做的卻是繪制一個直方圖。怎么繪制?簡單強大的在線繪圖-第3版。 在做任何的多重假設(shè)檢驗校正、假陽性率控制或結(jié)果解釋之前,先繪制這么一個p-value分布直方圖,它可以告訴你在所有假設(shè)的p值分布,并幫您發(fā)現(xiàn)潛在的問題。 p-value分布直方圖可能有下面6種可能,我們一一看來。

Anti-conservative p-value
如果p-value分布直方圖如上圖所示,左側(cè)0值附近有個峰,右側(cè)為近乎均勻分布,那么恭喜你,這是一個很好的分布。 0-1之間均勻分布的p-value代表原假設(shè)H0 (null hypothesis)的P值。為什么它們是均勻分布的呢?這是根據(jù)p-value的定義來的。在原假設(shè)下,p-value有5%的可能低于0.05, 10%的可能低于0.1,以此類推,就是一個均勻分布。
在p-value接近于0值的峰代表的是備擇假設(shè)H1 (alternative hypothesis) (也包含部分假陽性)。如果把原假設(shè)和備擇假設(shè)分開,p-value的分布應(yīng)該入下圖所示: 
首先可以看到在低p-value處也有一些原假設(shè) (H0),因此不可以簡單的說所有p-value<0.05的都是顯著的,否則就會獲得一些假陽性結(jié)果。而且一些備擇假設(shè) (H1)的p-value也比較高,這些就是不能通過本次統(tǒng)計檢驗方法獲得的陽性結(jié)果,也稱為假陰性結(jié)果。 多重假設(shè)檢驗校正就是確定顯著性的合理閾值。 那么怎么判斷多少假設(shè)是原假設(shè),多少是可以拒絕原假設(shè)采用備擇假設(shè)呢?可以從下面幾張圖有個直觀認識,左側(cè)Peak越高,越多的假設(shè)p-value趨近于0, 也就是顯著的結(jié)果。右側(cè)的柱子越高,更多原假設(shè)不能被拒絕。如果想獲得定量的評估,可以使用qvalue包。 
library(qvalue) data(hedenfalk) pvalues <- hedenfalk$p qobj <- qvalue(p=pvalues) summary(qobj)
輸出不同p-value假設(shè)的累計數(shù)目 Call: qvalue(p = pvalues)
pi0: 0.669926
Cumulative number of significant calls:
<1e-04 <0.001 <0.01 <0.025 <0.05 <0.1 <1 p-value 15 76 265 424 605 868 3170 q-value 0 0 1 73 162 319 3170 local FDR 0 0 3 30 85 167 2241
估計原假設(shè) (H0 null hypothesis)的整體比例 (π0),q-value與p-value的關(guān)系, qvalue即是定義某一個檢驗統(tǒng)計顯著需要承受的最小假陽性率值。lfdr指在給定的p-value條件下,原假設(shè) (H0)為真的后驗概率值。 hist(obj)

均勻分布 Uniform p-value假如,你的p-value是如下圖所示,平平的均勻分布,怎么辦呢? 
看上去所有的假設(shè)都符合原假設(shè),是不是意味著就沒有辦法拒絕原假設(shè)了?其實也不是: 雙峰 Bimodal p-values
如前面所示在p-value=0處有一個峰,但在p-value=1處也有一個?怎么解釋。 首先不要對這些p-value應(yīng)用假陽性率控制。為什么呢?因為一部分FDR控制算法是基于P-value在1附近是均勻分布的。如果不符合這個前提,計算出的顯著性會很少。 下一步找出為什么p-value會有這個分布,針對性解決: 是否使用的是單端檢驗 (one-tailed test) (如檢驗藥物處理后基因表達上調(diào))。如果是這樣,p-value接近1的正好是相反的變化 (如基因表達下調(diào))。如果您同時關(guān)注上下調(diào),則采用雙端檢驗 (two-sided test)。如果您不想包含另一種變化,則在檢驗前先過濾掉這些。(注:比如富集分析時只關(guān)注富集) 是否pvalue接近1的情況都是病態(tài)情況,如基因差異表達分析中,一些軟件會賦予在所有樣品中都不表達的基因檢驗pvalue為1,這樣的情況直接過濾掉就好。(注:一般分析時是提前過濾。)
Conservative p-values
看到這個分布,不要魯莽的下結(jié)論:沒有任何統(tǒng)計顯著的假設(shè)。如果真的沒有統(tǒng)計顯著性假設(shè),p-value的分布應(yīng)該是均勻的 Uniform, 這是因為p-value就是這么定義的:原假設(shè)下均勻分布。 如果p-value呈現(xiàn)這個分布,說明統(tǒng)計檢驗使用錯了。其原因可能是數(shù)據(jù)的分布不符合統(tǒng)計檢驗的假設(shè),比如統(tǒng)計檢驗適用于連續(xù)數(shù)據(jù),而提供的是離散數(shù)據(jù),或者統(tǒng)計檢驗適用于正態(tài)分布數(shù)據(jù),而提供的數(shù)據(jù)嚴重不符合等。最好的解決辦法是找一個友好的統(tǒng)計學家朋友幫助您。 我們一直強調(diào)可視化的是原始p-value的分布,如果使用的工具不小心提供的是校正后的p-value,比如使用Bonferroni correction,那么校正后的p-value可能是這個分布。 稀疏分布 Sparse p-values
如圖所示,獲得的p-value的值比較單一,假如做了10,000次統(tǒng)計檢驗,只獲得很少的不同的檢驗p-value,可以使用下面的代碼獲取總共有多少不同的p-value。 length(unique(mypvalues))
為什么會獲得這樣的p-value呢? 不要做假陽性率控制,因為p-value的分布不是連續(xù)的。 悟空廟宇P-value (“What the…?!?”)
像不像孫悟空變的一座廟,尾巴做旗桿?中間的P-value有個凸起,在1附近有個峰。 最好的方式是求助于統(tǒng)計學家,當然在這之前,看下數(shù)據(jù)的分布,了解下所用的統(tǒng)計方法,先有個直觀認識。 所以p-value不是算出來就可以用了,觀察其分布,可以幫助我們判斷數(shù)據(jù)分布是否合適,選用的統(tǒng)計檢驗方法是否合適,后期如何進行處理,對結(jié)果解釋增強可信度。 參考http:///statistics/interpreting-pvalue-histogram/ http://www./packages/release/bioc/vignettes/qvalue/inst/doc/qvalue.pdf https://www./articles/d41586-019-00857-9 https://stats./questions/10613/why-are-p-values-uniformly-distributed-under-the-null-hypothesis#
|