先回憶一下假設檢驗的來兩類錯誤(參考:深入了解假設檢驗的兩類錯誤和功效):
對于多重檢驗來說,假設做了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<=α。