天天动画片 > 八卦谈 > 如何通俗地理解Family-wise error rate(FWER)和False discovery rate(FDR)

如何通俗地理解Family-wise error rate(FWER)和False discovery rate(FDR)

八卦谈 佚名 2024-02-02 16:30:03

Family-wise error rate(FWER),暂时还不了解比较通俗易懂的翻译。False discovery rate(FDR),一般翻译为错误发现率。在研究使用假设检验解决机器学习中的分类问题时,我遇到了多重假设检验问题。FWER和FDR正是解决这一问题的两种方法。经过老师和师兄师姐的指导,我能够将FDR应用于自己的问题当中,并且实验结果也有所改善。但是,应用之后,我仍然存在一些困惑,比如FWER和FDR到底是什么,FWER和FDR怎么计算,为什么FWER和FDR能够降低错误率以及如何通俗地理解二者。

为了搞清楚上述问题,我仔细研究了维基百科和网络上的一些资料,认为通俗地理解FWER和FDR不是一件容易的事。研究者首先需要有一定的统计学假设检验的基础,而且还能够将FWER和FDR应用于实际的问题。所以,我会从假设检验谈起,然后结合自己的问题进行探讨。

假设检验

假设检验是用于检验统计假设的一种方法。它的基本思想是小概率思想,小概率思想是指小概率事件在一次试验中基本上不会发生。

假设检验的基本方法是提出一个空假设(null hypothesis),也叫做原假设,记作H0;然后得出感兴趣的备择假设(alternative hypothesis),记作H1或HA。空假设和备择假设的指导原则是空假设是不感兴趣对研究不重要的结论,而备择假设是我们感兴趣想要证明的结论。举个例子,给定人的一些身体指标数据,判断其是否存在某种疾病(比如肺炎)。

H0:某人没病(我们不感兴趣);H1:某人有病(我们感兴趣)。将这些身体指标数据和已确定的或健康或有病的一些人的身体数据等样本信息比较,计算p值,一般指定显著性水平α=0.05,如果p值小于0.05,表示这是一个小概率事件。根据小概率思想,我们与其相信这个小概率事件的发生,不如认为更为合理的选择是拒绝原假设,认为该人有病;否则无法拒绝原假设,即接受原假设,表示没有足够的证据认为该人有病。

注:
1.统计显著性:空假设为真的情况下拒绝零假设所要承担的风险水平,又叫概率水平。
2.p值:假定空假设为真的情况下,得到相同样本结果或更极端结果的概率,是一个用来衡量统计显著性的重要指标。
3.显著性水平α:空假设为真时,错误地拒绝空假设的概率。另外,也可以把这种概率理解成在假设检验中决策所面临的风险。
4.比起计算p值,也可以计算统计量,根据显著性水平判断统计量是否落入拒绝域,进而决定是否拒绝原假设。统计量没有p值直观,所以采用p值进行表述。

使用假设检验解决分类问题

沿用上一个例子,我们发现假设检验可以很自然地对应机器学习中的二分类问题:空假设为真对应着没病,空假设为假(备择假设为真)对应着有病。

一次假设检验只能检验一个人,如果得到的p值小于显著性水平α就拒绝空假设,相当于把该人分为有病一类,而且可以称该次检验是显著的(significant)。如果得到的p值大于显著性水平α就不能拒绝空假设,相当于把该人分为没病一类。类似地,可以称该次检验是不显著的(non-significant)。一般把备择假设中的类别称为正类或阳性(positive),另一个类别称为反类或阴性(negative)。

事实上,一个人可能没病(空假设为真)也可能有病(空假设为假,备择假设为真),一次检验可能被拒绝(显著)也可能不能被拒绝(不显著)。所以,一次检验有四种可能的结果,用下面的表格表示:

H0 is trueH0 is false (H1 is true)Reject H0(Test is declared significant)Type I error (FP) (probability=α)Correct inference (TP) (probability=1-β)Fail to reject H0(Test is declared non-significant)Correct inference (TN) (probability=1-α)Type II error (FN) (probability=β)

  • Type I error,I类错误,也叫做α错误

  • Type II error,II类错误,也叫做β错误

  • FP: false positive,假正例,I类错误

  • FN: false negative,假反例,II类错误

  • TP: true positive,真正例

  • TN: true negative,真反例

I类错误是指空假设为真却被我们拒绝的情况,犯这种错误的概率用α表示,所以也称为α错误或弃真错误;II类错误是指空假设为假但我们没有拒绝的情况,犯这种错误的概率用β表示,所以也称为β错误或取伪错误。所以,空假设为真并且我们没有拒绝的概率用1−α表示,空假设为假并被我们拒绝的概率用1−β表示。

自然,人们希望犯这两类错误的概率越小越好。但对于一定的样本量n,不能同时做到犯这两类错误的概率都很小。如果减小α错误,就会增大犯β错误的机会;若减小β错误,就会增大犯α错误的机会。当然,使α和β同时减小的办法也有,那就是增大样本量。但样本量不可能没有限制,否则就会使抽样调查失去意义。因此,在假设检验中就有一个对两类错误进行控制的问题。
一般来说,哪一类错误所带来的后果严重,危害越大,在假设检验中就应当把哪一类错误作为首要的控制目标。但在假设检验中,大家都在执行这样一个原则,那就是首先控制α错误。主要原因有两点,一方面,大家都遵循一个统一的原则,讨论问题比较方便。更主要的原因是,原假设一般是比较明确的,而备择假设常常是模糊的。对于一个含义清楚的假设和一个含义模糊的假设,我们更愿意接受前者。正是在这个背景下,我们就更关心如果原假设为真,而我们却把它拒绝了,犯这种错误的概率有多大。而这正是α错误的内容。
——《统计学-贾俊平》第六版

注:对于机器学习中的二分类问题,其分类结果也可以用类似的表格表示,一般被称为混淆矩阵,而且和上面的表格有些不同。

预测为正类预测为反类实际是正类真正例(TP)假反例(FN)实际是反类假正例(FP)真反例(TN)

多重假设检验和FWER, FDR

顾名思义,多重假设检验就是多个假设检验。如果有m个人需要检查是否有病,那么就需要进行m个假设检验。m个假设检验的结果可以表示为:

H0 is trueH0 is false (H1 is true)TotalReject H0(Test is declared significant)VSRFail to reject H0(Test is declared non-significant)UTm−RTotalm0m−m0m

  • m 表示假设检验的个数

  • m0 表示空假设为真的个数

  • m−m0 表示备择假设为真的个数

  • V 表示假正例的个数

  • S 表示真正例的个数

  • U 表示真反例的个数

  • T 表示假反例的个数

  • R=V+S 表示拒绝空假设的个数

如果某次假设检验得到的p值小于显著性水平α,则拒绝空假设,主观上认为发现了一个有病的人(无论该人实际上真有病还是假有病),这种情况记为一次发现(discovery)。所以R=V+S表示发现的个数,V表示错误发现(false discovery)的个数,S表示正确发现(true discovery)的个数。用Q表示发现中错误发现的比例,即Q=V/R=V/(V+S)。FWER定义为V大于等于1的概率,即FWER=Pr{V≥1}=1−Pr{V=0}。FDR定义为Q的期望,即FDR=E[Q]。

因为在m个检验中,V,S,U,T都是随机变量,所以FDR需要用期望的形式来表示。另外,如果R=0,认为Q=0。为了包含这种情况,FDR=E[V/R∣R>0]⋅P{R>0}。通俗地理解,可以认为FDR=Q=V/R=V/(V+S)。

FWER和FDR表示一种概念或一种方法,FWER定义为多重假设检验中发现至少一个I类错误的概率,FDR定义为多重假设检验中错误发现占所有发现的比例。另外,对应地,还存在FWER校正方法和FDR校正方法(也称为控制方法)。两类校正方法都是用来控制多重假设检验中犯I类错误的概率,使其低于显著性水平α。FWER校正有多种实现,其中最经典的是Bonferroni correction;FDR校正也有多种实现,其中最经典的就是Benjamini–Hochberg procedure。

为什么要使用FWER和FDR校正

在一次假设检验中,我们使用显著性水平α和p值得出结论。显著性水平α一般取0.05或0.01,可以保证一次假设检验中犯I类错误的概率和决策错误的风险小于α。

但是在m次假设检验中,假设m=100和α=0.01,假设检验之间相互独立,不犯错误的概率为(1−0.01)100=36.6%,而至少犯一次错误的概率高达P=1−(1−0.01)100=1−0.366=63.4%。举个实际的例子,假如有一种诊断艾滋病的试剂,试验验证其准确性为99%(每100次诊断就有一次false positive)。对于一个被检测的人来说(single test),这种准确性足够了。但对于医院来说(multiple test),这种准确性远远不够,因为每诊断10000个人,就会有100个非艾滋病病人被误诊为艾滋病。这显然是不能接受的。所以,对于多重检验,如果不进行任何控制,犯一类错误的概率便会随着假设检验的个数迅速增加。

FWER和FDR校正都可以使多重假设检验整体犯I类错误的概率低于预先设定的显著性水平α。FWER显得较为保守,它主要是依靠减少假阳性的个数,同时也会减少TDR(true discovery rate)。而FDR方法是一种更加新颖靠谱的方法,它会对每个测试用例使用校正后的p值(q值),达到了更好的效果:在检验出尽可能多的阳性结果的同时将错误发现率控制在可以接受的范围。

如何使用FWER和FDR校正

注:FWER校正和FDR校正均有多种实现,这里只介绍两类方法的经典实现。

条件:在m次多重假设检验中,每一次的空假设记为H1,H2,...,Hm,对应p值记为p1,p2,...,pm,设定显著性水平α。

Bonferroni correction,一般翻译为邦费罗尼校正。只要pi≤α/m,就拒绝Hi。可以看出,Bonferroni correction通过把显著性水平降低到α/m。FWER为发现至少一个I类错误的概率,即FWER=Pr{V≥1},可证FWER=Pr{i=1⋃m0(pi≤mα)}≤i=1∑m0{Pr(pi≤mα)}=m0mα≤mmα=α.这样就能控制多重假设检验整体犯I类错误的概率低于预先设定的显著性水平α。另外,FWER控制不需要假设所有假设彼此之间相互独立,也不需要对空假设为真的个数有要求。

Benjamini–Hochberg procedure,简称为BH。首先对所有的p值从小到大排序,并记作p(1),p(2),...,p(m),其对应的空假设为H(1),H(2),...,H(m)。若想控制FDR不超过α,需要找到最大的正整数 k,使得p(k)≤mk∗α【公式1】。然后,拒绝1≤i≤k时的所有空假设H(1),H(2),...,H(i),...,H(k)。可以看出,BH相当于对排序后的假设提供了不同的显著性水平。FDR为Q的期望,即FDR=E[Q],可证FDR=E[Q]≤mm0α≤α.这样就能从统计学上保证FDR不超过α,保证多重假设检验整体犯I类错误的概率低于预先设定的显著性水平α。另外,BH是有效的条件是要求m个检验是相互独立的。

最后再说一下q值(q-value),q=kp(k)∗m,相当于对【公式1】进行变换,一般把q值叫做校正后的p值。至于q值有什么好处,我还没太搞明白。我自己研究的东西已经不需要更深入了,所以写到这里就结束了。

参考资料:

  • False discovery rate - Wikipedia

  • Family-wise error rate - Wikipedia

  • 如何通俗地解释错误发现率FDR( false discovery rate)?

  • 多重检验中的FDR(false discovery rate, 错误发现率)是什么?

  • 生物信息学中多重检验问题的一个例子(FDR、p值、q值)

  • p-value&FPR以及q-value&FDR

  • 多重假设检验校正为什么有效?

  • 《统计学-贾俊平》第六版

本文使用 文章同步助手 同步

本文标题:如何通俗地理解Family-wise error rate(FWER)和False discovery rate(FDR) - 八卦谈
本文地址:www.ttdhp.com/article/47009.html

天天动画片声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
扫码关注我们