浅议P值校正

   日期:2024-11-07     作者:caijiyuan       评论:0    移动:http://mip.riyuangf.com/mobile/news/1646.html
核心提示:P值,通常被我们用来判断是否接受一个假设,关于P值的前世今生,可以看数说君的了一篇文章《P值之死》,在微信公众号中回复“P值

P值,通常被我们用来判断是否接受一个假设,关于P值的前世今生,可以看数说君的了一篇文章《P值之死》,在微信公众号中回复“P值”查看。本篇不说P值本身的问题,我们来看它在具体判断中可能出现的另一个问题。

浅议P值校正

本文目录为:

一、背景

二、问题

三、Bonferroni校正

四、FDR校正

一、背景

先来熟悉一下我们问题的背景。我们知道在假设检验中,有两种错误:拒真错误和取伪错误。

我们用分布图来更形象的说明,不要紧张,非常形象非常好懂的。现在有一些样本,我们打算判断这些样本是来自H0还是H1,。那么

两个假设下的总体分布如下图:

好了,那么什么是第一类错误和第二类错误呢?

(看不清楚的话点开查看大图)

对了——通过样本得到的Z-value如果大于Zα,我们一般都拒绝原假设,但是它却有一定概率(概率为α)来自H0的,这就是第一类错误,见红字部分。第二类错误就是β,见绿字部分,下面重点是围绕第一类错误α展开,因为它是个大咖。

这个α,我们又把它叫做——显著性水平!假设检验就那这个作为标准。

为什么呢?

一般在做假设检验的时候都要求这个α尽可能的小,因为在假设检验我们通常认为原假设是不能轻易被否定的。

我们的P值就是跟这个标准做比较,我们通常把α取为0.05,复习一下吧:

这个标准,意味着我们要承担α=5%的错误拒绝的概率。

至于P值是怎么来的,为什么用P值和α相比来判断,可以去看《P值之死》,里面已经进行了详细的梳理。

二、问题

虽然数说君已经在《P值之死》中批判过了这种P与α判断方法的问题,但在这里,我们就认为这种方法是合理的。

对于一个检验问题:

假如现在,我要做20个相互独立的检验呢?

这么大的概率让人难以接受,如果随着m再增加呢,要做100次?1000次?那么几乎可以肯定的说,必然会有至少1个结果是被错误地拒绝的了。

想象一下,你得意洋洋的看着你的100个检验结果,但是突然告诉你这100个里面必然有一个错了,而且你又不知道具体哪个是错的。。。

你可能会说,自打接触统计学这东西一来,对假设检验是能躲就躲能逃就逃,人生截止目前做过不超过10个检验,每一次做都要翻2个小时的书,现在你要我一次性做100个?没但玩?

有但玩。真的,比如现有下面这组数据,我们想分析X1-X20中,哪一个因素和人们的收入有显著关系:

我们做了20个检验,那么这里面就很可能有一个是碰巧显著。你可不要觉得我吃饱了撑的,因为在生物学中,我们要做更大的全基因组关联分析——全基因组?什么概念?——需要对几十万甚至几百万个SNP(单核苷酸多态性)与某个疾病进行单独检验,找出那个与疾病显著相关的SNP,也就是说,要做几百万个检验?!

怎么办???

我们把这个“至少有1个错误”的概率称为 FWER(Family-Wise Error Rate)

FWER (Family-Wise Error Rate)

= 1- (1- α)m

我们现在就想让这个整体犯第一类错误的概率降低为5%,怎么办?

Bonferroni校正的思想就是基于此而来。

三、Bonferroni校正

Bonferroni校正的思想很简单:

Bonferroni correction

假设我们做m个相互独立的检验,我要的目标是—— FWER = 1- (1- α)m =0.05 由于当α很小时,存在这一的近似关系 (1-α)m ≈ 1-ma,因此 1- (1- α)m = ma = 0.05 即α=0.05/m。 也就是说,每一个检验的显著水平不再是0.05了,而应该是0.05/m。对于每一个检验的P值,有:

这样我们就校正了显著水平,当然我们也可以让α保持不变,去校正P值:

也就是说,每一个检验做出来的P值,我们都要乘以m,叫做校正后的P值,然后去和0.05进行比较。

但是,随着检验次数m的增多,

针对这样的问题,Benjaminiand Hochberg(1995) 提出了FDR校正方法。

四、FDR校正

Bonferroni校正关注的是,所有检验中的第一类错误检验(被错误拒绝的检验),而FDR的关注的是,所有拒绝掉的检验中,错误拒绝的检验,如果觉得绕口的话可以看下面的图:

一共有m个检验,其中最终选择接受原假设的有W个,拒绝的有R个,在拒绝的R个中,有V个是错误拒绝的,有S个是正确拒绝的。

FDR(Falsely Discovery Rate)的定义为:

实际上,FDR也就是错误拒绝的检验个数,占所有拒绝的检验个数的比例。它只关注所有拒绝掉的检验中,错误拒绝的比例,FDR的目的就是要将这个比例降低到α。

那么,该如何做到?很简单,参照下面的步骤即可:

FDR correction

首先,对m个p值按从小到大的顺序进行排序

从P(1)开始,到P(2)、P(3) ...,挨个进行比较,直到找到最大的P(i)满足:

找到之后,拒绝之前所有的原假设H(i),i=1,2,3...i。 至此,完成FDR的校正。 或者,保持α不变,将P值校正为mP(i)/i,这个值又称为Q值 Q-value(i) = m × P(i)/i < α

根据Benjaminiand和Hochberg的论文(1995)里的证明, 以上的过程就可以控制FDR在α以内。感兴趣的可以搜索这篇论文”controlling the False Discovery Rate: a Practical and Powerful Approach to Multiple Testing“。

举个例子吧,加入我们做个20个检验,每个检验有一个P值,那么我们分别用Bonferroni校正和FDR校正,得到的结果如下:

 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号