1. 程式人生 > >p值還是 FDR ?

p值還是 FDR ?

p值還是 FDR ?

如何篩選顯著性差異基因,p value, FDR 如何選

經常有同學詢問如何篩選差異的基因(蛋白)。已經計算了表達量和p value值,差異的基因(蛋白)太多了,如何篩選。其中最為關鍵的是需要對p value進行校正。

基本概念:

  1. 零假設:在隨機條件下的分佈。

  2. p值:在零假設下,觀測到某一特定實驗結果的概率稱為p值。

  3. 假陽性:得到了陽性結果,但這個陽性結果是假的。

  4. 假陰性:得到了陰性結果,但這個陰性結果是假的。

單次檢驗:

針對單個基因(蛋白),採用統計檢驗,假設採用的p值為小於0.05,我們通常認為這個基因在兩個(組)樣本中的表達是有顯著差異的,但是仍舊有5%的概率,這個基因並不是差異基因。

單多次檢驗:

當兩個(組)樣本中有10000個基因採用同樣的檢驗方式進行統計檢驗時,這個時候就有一個問題,單次犯錯的概率為0.05, 進行10000次檢驗的話,那麼就有0.05*10000=500 個基因的差異被錯誤估計了。

多重檢驗矯正:

為了解決多次檢驗帶來的問題,我們需要對多次檢驗進行校正。那如何校正呢?在此介紹兩種方法:

  1. Bonferroni 校正法  
    Bonferroni校正法:如果進行N次檢驗,那麼p值的篩選的閾值設定為p/N。 比如,進行10000次檢驗的話,如果p值選擇為0.05, 那麼校正的p值篩選為0.000005。 p值低於此的基因才是顯著性差異基因。  
    該方法雖然簡單,但是過於嚴格,導致最後找的差異基因很少,甚至找不到差異的基因。

  2. FDR(False Discovery Rate) 校正法  
    FDR錯誤控制法是Benjamini於1995年提出的一種方法,基本原理是通過控制FDR值來決定p值的值域。相對Bonferroni來說,FDR用比較溫和的方法對p值進行了校正。其試圖在假陽性和假陰性間達到平衡,將假/真陽性比例控制到一定範圍之內。  
    那麼怎麼從p值來估算FDR呢,人們設計了幾種不同的估算模型。其中使用最多的是Benjamini and Hochberg方法,簡稱BH法。該方法分兩步完成,具體如下:  
    2.1  假設總共有m個候選基因,每個基因對應的p值從小到大排列分別是p(1),p(2),…,p(m)  
    2.2  若想控制FDR不能超過q,則只需找到最大的正整數i,使得 p(i)<= (i*q)/m . 然後,挑選對應p(1),p(2),…,p(i)的基因做為差異表達基因,這樣就能從統計學上保證FDR不超過q。

如何實現多重檢驗:

  1. 如果你瞭解R語言的話,那麼採用p.adjust方法就可以了。