天天看點

多重檢驗的p值校正:FWER和FDR

先回憶一下假設檢驗的來兩類錯誤(參考:深入了解假設檢驗的兩類錯誤和功效):

對于多重檢驗來說,假設做了m次test,V是假陽性的次數,S是真陽性的次數,R是V+S。 清單如下:

H 0 H_0 H0​ Do not reject H 0 H_0 H0​ Reject H 0 H_0 H0​ Total
TRUE U V m 0 m_0 m0​
FALSE T S m − m 0 m-m_0 m−m0​
Total m-R R m

FWER: Family-wise error rate

F W E R = P ( V > = 1 ) FWER = P(V >= 1) FWER=P(V>=1)

由定義可知,FWER是 H 0 H_0 H0​為真時,出現大于等于1次假陽性的機率。

F W E R = 1 − P ( V = = 0 ) = 1 − ( 1 − α ) m FWER = 1 - P(V == 0) = 1-(1-\alpha)^m FWER=1−P(V==0)=1−(1−α)m

舉個例子: α = 0.05 \alpha = 0.05 α=0.05, m = 10次時,

F W E C = 1 − ( 1 − 0.05 ) 100 FWEC = 1 - (1 -0.05)^{100} FWEC=1−(1−0.05)100 = 0.994;

即 α = 0.05 \alpha = 0.05 α=0.05時100次多重檢驗,出現至少一次假陽性的機率為99.4%。而單次的機率是5%.

有兩個主要方法控制FWER:

  • Bonferroni correction: α ∗ = α / m \alpha* = \alpha / m α∗=α/m
  • Sidak correction: α ∗ = 1 − ( 1 − α ) 1 m \alpha* = 1 - (1- \alpha)^{\frac{1}{m}} α∗=1−(1−α)m1​

但是Bonferroni方法太保守,該方法會導緻很高犯II類錯誤的機率,飽受批評。雖然Sidak方法求出的 α \alpha α值大于等于Bonferronni的校正值,但是也是保守類型的校正。隻适用于獨立的檢驗。

FDR: False discovery rate

錯誤發現率:

F D R = E ( V R ) ≤ F W E R FDR = E(\frac{V}{R}) \leq FWER FDR=E(RV​)≤FWER

V是假陽性數(False Positive),R是拒絕 H 0 H_0 H0​的次數。

當R=0時,此時V=0, 為了使式子有意義,定義V/R = 0。

如果所有的 H 0 H_0 H0​都為真,那麼 F D R = F W E R FDR = FWER FDR=FWER,

如果多重檢驗的 H 0 H_0 H0​部分為真,那麼 F D R ≤ F W E R FDR \leq FWER FDR≤FWER.

FWER和FDR都是多重檢驗的錯誤度量,控制了FWER暗含控制了FDR。

通次采用 Benjamini-Hochberg procedure(BH)控制FDR。校正的p-value叫q-value。

給定的FDR值 α \alpha α(比如:0.05),把p-value從小到大排列,根據 α \alpha α值校正p-value:

q = p ∗ m / j q = p * m / j q=p∗m/j, j 為排列序号。

校正p值之後,拒絕所有 q > α q > \alpha q>α的檢驗,確定 F D R < = α FDR <= \alpha FDR<=α。

繼續閱讀