p-value&q-value&FDR

P-value 的計算方式

1) P-value 是 (在H0 = true的情況下)得到和試驗數據一樣極端(或更極端)的統計量的概率. 它不是H1發生的概率. 假定吃蘋果的一組和不吃蘋果的一組的差異為D, P-value=0.2的意思是, pure randomly (即H0=true)的情況下, 觀察到和D一樣或比D更大的差異的概率是20%.

2) p-value 的本質是控制PFR (false positive rate), hypothesis test 的目的是make decision. 傳統上把小概率事件的概率定義為0.05或0.01, 但不總是這樣. 主要根據研究目的. 在一次試驗中(注意:是一次試驗, 即single test), 0.05 或0.01的cutoff足夠嚴格了(想象一下, 一個口袋有100個球, 95個白的, 5個紅的, 只讓你摸一次, 你能摸到紅的可能性是多大?). 我剛才強調的是single test, 在multiple test中, 通常不用p-value, 而采用更加嚴格的q-value. 與p-value 不同, q-value 控制的是FDR (false discovery rate).

3)舉個例子.假如有一種診斷艾滋病(AIDS)的試劑, 試驗驗證其準確性為99%(每100次診斷就有一次false positive). 對于一個被檢測的人(single test) 來說, 這種準確性夠了. 但對于醫院 (multiple test) 來說, 這種準確性遠遠不夠, 因為每診斷10 000個個體, 就會有100個人被誤診為艾滋病(AIDS).

4)總之, 如果你很care false positive, p-value cutoff 就要很低. 如果你很care false negative (就是"寧可錯殺一千, 也不能漏掉一個" 情況), p-value 可以適當放松到 0.1, 0.2 都是可以的.


兩種矯正p-value的方法

Bonferroni校正

如果在同一數據集上同時檢驗n個獨立的假設,那么用于每一假設的統計顯著水平,應為僅檢驗一個 假設時的顯著水平的1/n。舉個例子:如要在同一數據集上檢驗兩個獨立的假設,顯著水平設為常見的0.05。此時用于檢驗該兩個假設應使用更嚴格的 0.025。即0.05* (1/2)。該方法是由Carlo Emilio Bonferroni發展的,因此稱Bonferroni校正。

Benjamini于1995年提出一種方法,通過控制FDR(False Discovery Rate)來決定P值的域值. 假設你挑選了R個差異表達的基因,其中有S個是真正有差異表達的,另外有V個其實是沒有差異表達的,是假陽性的.實踐中希望錯誤比例Q=V/R平均而言不 能超過某個預先設定的值(比如0.05),在統計學上,這也就等價于控制FDR不能超過5%.   根據Benjamini在他的文章中所證明的定理,控制fdr的步驟實際上非常簡單。   設總共有m個候選基因,每個基因對應的p值從小到大排列分別是 p(1),p(2),...,p(m),則若想控制fdr不能超過q,則只需找到最大的正整數i,使得 p(i)<= (i*q)/m.然后,挑選對應p(1),p(2),...,p(i)的基因做為差異表達基因,這樣就能從統計學上保證fdr不超過q。

> p<-c(0.0003,0.0001,0.02)

> p

[1] 3e-04 1e-04 2e-02

>

> p.adjust(p,method="fdr",length(p))

[1] 0.00045 0.00030 0.02000

>

> p*length(p)/rank(p)

[1] 0.00045 0.00030 0.02000

> length(p)

[1] 3

> rank(p)

[1] 2 1 3

sort(p)

[1] 1e-04 3e-04 2e-02

本文參考 http://www.bbioo.com/lifesciences/40-114656-1.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容