百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

总被审稿人提起的多重假设检验校正是什么?

bigegpt 2024-09-08 11:36 6 浏览

生物信息学习的正确姿势

NGS系列文章包括NGS基础、在线绘图、转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这)、ChIP-seq分析 ChIP-seq基本分析流程、单细胞测序分析 (重磅综述:三万字长文读懂单细胞RNA测序分析的最佳实践教程)、DNA甲基化分析、重测序分析、GEO数据挖掘典型医学设计实验GEO数据分析 (step-by-step))、批次效应处理等内容。


单次检验的I类错误

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

假设检验的基本方法是提出一个空假设(null hypothesis),也叫做原假设或无效假设,符号是H0。一次检验有四种可能的结果,用下面的表格表示:

  • Type I error,I类错误,也叫做α错误,假阳性。
  • Type II error,II类错误,也叫做β错误,假阴性。

可以通过下面这张图形象的看到差异。

多次检验使得犯I类错误概率增大

在传统的假设检验中,单个检验的显著性水平或I型错误率 (错误拒绝原假设的概率)为计算出的P-value。但随着检验次数的增加,错误拒绝原假设的概率即I型错误率大大增加。

例如:如果我们进行了m次假设检验,至少有1个假阳性的概率是多少?

错误拒绝原假设的概率 P(Reject H0|H0=True) = α

决策正确的概率 P(No Reject H0|H0=True) = 1-α

P(在m次检验全部决策正确)=(1-α)^m

P(在m次检验中至少一次决策错误) = 1-(1-α)^m

随着检验次数的增多,出现至少一次决策错误的概率快速提高。当说起“根据假设检验的次数校正p值”时,意思是控制整体的I型错误率

例如:当做差异基因检测时,每个基因分别进行检测生成一个p值。如果p值设置为0.05,每个差异基因识别出错的概率为5%。如果同时分析100个基因,按照p<0.05筛选的差异基因中有5个可能是差异不显著的。如果对一组10000个基因进行检测,按照p<0.05筛选的差异基因中有500个可能是差异不显著的。因此,同时进行多次统计检验时,校正每个基因的p值是很重要的。多重检验校正调整每个基因的p值,以使总体错误率小于或等于用户指定的p-cutoff value

如何进行多重假设检验校正?

Family Wise Error Rate校正法控制假阳性率为0

Family Wise Error Rate是控制全部比较中至少出现一次Type I error的概率,也就是控制假阳性率为0。这是很严格的方式。

通常有两种计算方法:

Bonferroni correction方法

如果要维持整个检测 (做了m次检测)的Type I error rate < 0.05,则需要设定p-value0.05/m作为筛选标准。反过来,如果我们做了10000次统计检测,采用Bonferroni correction方法校正后的p值就是原始P-value * 10000

当然,我们也只是借这个方法理解校正的计算方式,实际却不用这个方法。

这对其中任何一个检测是否差异统计显著是不公平的,因为它取决于检测的总数目。一个检测放在有100次检测的操作集合中可能统计显著,而放在有1000次检测的操作集合中可能统计就不显著了,这是不合适的。

Bonferroni adjustments are, at best, unnecessary and, at worst, deleterious to sound statistical inference.

Perneger (1998)

Holm 校正方法

Holm 校正方法相对没有那么严苛。假设针对10000个基因进行了统计检验,对所有的原始P-value进行由小到大的排序分别为p1, p2, ..., p10000,校正后的p为:p1*10000, p2*9999, ..., p10000*1

FDR校正法:允许一定的假阳性率

在实际应用中,我们希望减少Type I Error出现的可能,但也可以容许一定的假阳性率的存在。

Benjamini and Hochberg FDR (BH)

这是我们最常用的校正P-value控制假阳性率的方式。假设针对10000个基因进行了统计检验,对所有的原始P-value进行由小到大的排序分别为p1, p2, ..., p10000,校正后的FDR为:p1*10000/1, p2*10000/2, ..., p10000*10000/10000。与Bonferroni correction一致的地方是都乘以了检测总数,不一致的地方是BH算法在此基础上除去了各个原始p-value的排序值。

具体计算方式见下表(总检测次数为10次;控制FDR小于0.1

Rank

P-value

FDR

FDR_formula

Reject H0

Reject_formula

1

0.0008

0.008

=B2*10/A2

TRUE

=C2<0.1

2

0.009

0.045

=B3*10/A3

TRUE

=C3<0.1

3

0.165

0.55

=B4*10/A4

FALSE

=C4<0.1

4

0.205

0.5125

=B5*10/A5

FALSE

=C5<0.1

5

0.396

0.792

=B6*10/A6

FALSE

=C6<0.1

6

0.45

0.75

=B7*10/A7

FALSE

=C7<0.1

7

0.641

0.915714286

=B8*10/A8

FALSE

=C8<0.1

8

0.781

0.97625

=B9*10/A9

FALSE

=C9<0.1

9

0.9

1

=B10*10/A10

FALSE

=C10<0.1

10

0.993

0.993

=B11*10/A11

FALSE

=C11<0.1

BH法有时也称fdr法,是我们最常用的多重假设检验校正方法,可以很好的控制假阳性率和维持统计检出力。R函数p.adjust可用来计算一组p-value校正后的fdr值。(DESeq2中返回的padj也是用BH方法控制的FDR)

q-value是什么?

q-value是Storey和Tibshirani提出的基于p-value分布的FDR计量方法,具体见什么,你算出的P-value看上去像齐天大圣变的庙?。

如何尽量减少统计检验次数

我们看到上面的校正方法多于统计检测次数有关,统计检测次数越多,校正也会越强烈。有没有合适的办法来规避一些无意义的统计检验呢?

  • WGCNA方法通过把基因聚类为模块再进行统计分析,大大降低了统计检验次数,具体见WGCNA分析,简单全面的最新教程
  • GSEA、GO等富集分析时合并相似的GO/KEGG通路再进行富集分析,如一文掌握GSEA,超详细教程中提到的合并共有基因数目超过70%的通路。
  • 差异基因分析时过滤掉极低表达的基因 (低表达基因通常生物意义小或检测噪声大,即便有差异也难分清是生物差异还是技术差异),如高通量数据中批次效应的鉴定和处理 - 系列总结和更新提到的方法。
  • DESeq2中还额外进行了independent filtering进行进一步过滤提高统计检出率。
  • 没有通过过滤标准的基因校正后的padj赋值为NA (这也是之前总被问起的DESeq2结果中NA的来源)。

如何获得更小更稳定的检测P-value

  • 增加生物重复使得统计结果检验更稳定,见如果不是没有钱谁想只测3个重复。
  • 选择合适的统计方法屏蔽个体差异,见上面提到的批次校正和limma配对检验。

References

  1. http://www.nonlinear.com/support/progenesis/comet/faq/v2.0/pq-values.aspx
  2. https://www.statisticssolutions.com/to-err-is-human-what-are-type-i-and-ii-errors/
  3. https://www.nature.com/articles/nbt1209-1135
  4. https://en.wikipedia.org/wiki/Multiple_comparisons_problem
  5. https://www.stat.berkeley.edu/~mgoldman/Section0402.pdf
  6. http://www.biostathandbook.com/multiplecomparisons.html
  7. http://nebc.nerc.ac.uk/courses/GeneSpring/GS_Mar2006/Multiple%20testing%20corrections.pdf
  8. https://www.gs.washington.edu/academics/courses/akey/56008/lecture/lecture10.pdf
  9. http://www.stat.columbia.edu/~gelman/research/published/multiple2f.pdf

相关推荐

恢复软件6款汇总推荐,帮你减轻数据恢复压力!

在当今数字化生活中,数据丢失的风险如影随形。无论是误删文件、硬盘故障,还是遭遇病毒攻击,丢失的数据都可能给我们带来不小的麻烦。此时,一款优秀的数据恢复软件就成为了挽救数据的关键。今天,为大家汇总推荐...

中兴星星一号刷回官方原版recovery的教程

【搞科技教程】中兴星星一号的官方recovery也来说一下了,因为之前给大家分享过了第三方的recovery了,之前给大家分享的第三方recovery也是采用一键刷入的方式,如果细心的朋友会发现,之前...

新玩机工具箱,Uotan柚坛工具箱软件体验

以前的手机系统功能比较单调,各厂商的重视程度不一样,所以喜欢玩机的朋友会解锁手机系统的读写权限,来进行刷机或者ROOT之类的操作,让使用体验更好。随着现在的手机系统越来越保守,以及自身功能的增强,...

三星g906k刷recovery教程_三星g906k中文recovery下载

【搞科技教程】看到有一些机友在找三星g906k的第三方recovery,下面就来说一下详细的recovery的刷入方法了,因为手机只有有了第三方的recovery之后才可以刷第三方的root包和系统包...

中兴星星2号刷recovery教程_星星二号中文recovery下载

【搞科技教程】咱们的中兴星星2手机也就是中兴星星二号手机的第三方recovery已经出来了,并且是中文版的,有了这个recovery之后,咱们的手机就可以轻松的刷第三方的系统包了,如果没有第三方的re...

数据恢复软件有哪些值得推荐?这 6 款亲测好用的工具汇总请收好!

在数字生活中,数据丢失的阴霾常常突如其来。无论是误删工作文档、格式化重要磁盘,还是遭遇系统崩溃,都可能让我们陷入焦虑。关键时刻,一款得力的数据恢复软件便是那根“救命稻草”。今天,为大家精心汇总6...

中兴u956刷入recovery的教程(中兴e5900刷机)

【搞科技教程】这次主要来给大家说说中兴u956手机如何刷入第三方的recovery,因为第三方的recovery工具是咱们刷第三方rom包的基础,可是很我欠却不会刷,所以太这里来给大家整理了一下详细的...

联想A850+刷recovery教程 联想A850+第三方recovery下载

【搞科技教程】联想A850+的第三方recovery出来了,这个第三方的recovery是非常的重要的,比如咱们的手机要刷第三方的系统包的时候,都是需要用到这个第三方的recovery的,在网上也是有...

工具侠重大更新 智能机上刷机一条龙完成

工具侠是针对玩机的机油开发的一款工具,不管是发烧级别的粉丝,还是普通小白用户,都可以在工具侠上找到你喜欢的工具应用。这不,最新的工具侠2.0.16版本,更新了专门为小白准备的刷机助手工具,以及MTK超...

shift+delete删除的文件找回6种硬盘数据恢复工具

硬盘作为电脑的重要存储设备,如同一个巨大的数字仓库,承载着我们日常工作、学习和生活中的各种文件,从珍贵的照片、重要的工作文档到喜爱的视频、音乐等,都依赖硬盘来安全存放。但有时,我们可能会不小心用sh...

使用vscode+Deepseek 实现AI编程 基于Cline和continue

尊敬的诸位!我是一名专注于嵌入式开发的物联网工程师。关注我,持续分享最新物联网与AI资讯和开发实战。期望与您携手探寻物联网与AI的无尽可能。这两天deepseek3.0上线,据说编程能力比肩Cl...

详解如何使用VSCode搭建TypeScript环境(适合小白)

搭建Javascript环境因为TypeScript不能直接在浏览器上运行。它需要编译器来编译并生成JavaScript文件。所以需要首先安装好javascript环境,可以参考文章:https://...

使用VSCode来书写你的Jupyter Notebooks

现在你可以在VScode里面来书写你的notebook了,使用起来十分的方便。下面来给大家演示一下环境的搭建。首先需要安装一个jupyter的包,使用下面的命令安装:pip3install-ih...

使用VSCode模板提高Vue开发效率(vscode开发vue插件)

安装VSCode安装Vetur和VueHelper插件,安装完成后需要重启VScode。在扩展插件搜索框中找到如下Vetur和VueHelper两个插件,注意看图标。添加Vue模板打...

干货!VsCode接入DeepSeek实现AI编程的5种主流插件详解

AI大模型对编程的影响非常之大,可以说首当其冲,Cursor等对话式编程工具渐渐渗透到开发者的工作中,作为AI编程的明星产品,Cursor虽然好用,但是贵啊,所以咱们得找平替,最好免费那种。俗话说,不...