在进行生物统计学的计算过程中,P值是需要进行校正的。因为P值的阈值是人为规定的,无论是多小的P值,也仅仅能代表结果的低假阳性,而非保证结果为真。即使P值已经很小(比如0.05),也会被检验的总次数无限放大。比如检验10000次,得到假阳性结果的次数就会达到 5%*10000=500次。
所以这时候我们就需要引入多重检验来进行校正,从而减低假阳性结果在我们的检验中出现的次数。

主要使用的校正办法有两种:

1、Bonferroni 校正

Bonferroni 校正法可以称作是“最简单粗暴有效”的校正方法,它拒绝了所有的假阳性结果发生的可能性,通过对p值的阈值进行校正来实现消除假阳性结果。

Bonferroni 校正的公式为p(1/n),其中p为原始阈值,n为总检验次数。

如果像我们举的例子一样,原始的P值为0.05,检验次数为10000次,那么在Bonferroni 校正中,校正的阈值就等于5%/ 10000 = 0.000005,所有P值超过0.00005的结果都被认为是不可靠的。这样的话假阳性结果在10000次检验中出现的次数为 10000 * 0.000005 =0.5,还不到1次。

但是这也存在问题:Bonferroni 委实太过严格,被校正后的阈值拒绝的不只有假阳性结果,很多阳性结果也会被它拒绝。

2. FDR(FalseDiscovery Rate) 校正

相对Bonferroni 来说,FDR温和得多,这种校正方法不追求完全没有假阳性结果,而是将假阳性结果和真阳性的比例控制在一定范围内。

举个例子,我们最开始设定的情况中进行了10000次检验,这次我们设定FDR<0.05,如果我们的检验对象为差异表达的基因,那么在10000次检验中假如得到了500个基因,那么这500个基因中的假阳性结果小于 500*5% = 25 个。

FDR的计算方法有很多种,这里介绍一个比较常用的:

BH(Benjaminiand Hochberg)法:

BH 法需要将总计m次检验的结果按由小到大进行排序,k为其中一次检验结果的P值所对应的排名。

找到符合原始阈值α的最大的k值,满足P(k)<=αk/m,认为排名从1到k的所有检验存在显著差异,并计算对应的q值公式为q = p(m/k)。

举个例子,如果我们有总共六个结果进行FDR校正:

按α=0.05进行计算:
排名第四的 P (4) = 0.03 < 0.05 4/6 = 0.033,符合要求
排名第五的 P (5)= 0.045 > 0.05
5/6 = 0.041,不满足P(k)<=α*k/m,因此在这个列表里排名前四的G2,G6,G5,G4 为具有显著差异的基因。

我们也可以用q值进行FDR校正:

排名第五的G3,其q值大于0.05,故G2,G6,G5,G4 为具有显著差异的基因。

多重假设检验:Bonferroni 和 FDR相关推荐

  1. 多重假设检验与Bonferroni校正、FDR校正

    总结起来就三句话: (1)当同一个数据集有n次(n>=2)假设检验时,要做多重假设检验校正 (2)对于Bonferroni校正,是将p-value的cutoff除以n做校正,这样差异基因筛选的p ...

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

    生物信息学习的正确姿势 NGS系列文章包括NGS基础.在线绘图.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细胞 ...

  3. 假设检验:p-value,FDR,q-value

    来源:http://blog.sina.com.cn/s/blog_6b1c9ed50101l02a.html,http://wenku.baidu.com/link?url=3mRTbARl0uPH ...

  4. Storey FDR矫正方法

    Storey FDR矫正方法 简介 零假设(null hypothesis)的P-values为均匀分布 真实多次测试的p-values将在0处出现峰值 从一个p-value阈值获得FDR p-val ...

  5. matlab mafdr,matlab FDR校正

    http://home.52brain.com/forum.php?mod=viewthread&tid=27066&page=1#pid170857 http://www.mathw ...

  6. p-value,q-value,FDR

    假阴性错误(false-negative errors): 高水平的基因可能偶尔没有检测到 假阳性错误(false-positive errors): 低水平表达的基因由于扩增偏差,可能显得过于丰富, ...

  7. ESL第十八章 高维问题 对角LDA/最近收缩重心、RDA/对偶优化/L2带核、函数型数据/Fused Lasso/字符串核/距离矩阵、有监督PCA/生存分析/偏最小二乘/预处理、多重检验/FDR

    (最后一章了,加油!) 目录 18.1 当 p p p远大于 N N N 18.2 对角线性判别分析Diagonal Linear Discriminant Analysis和最近收缩重心Neares ...

  8. Volcano plot | 别再问我这为什么是火山图

    火山图是散点图的一种,它将统计测试中的统计显著性量度(如p value)和变化幅度相结合,从而能够帮助快速直观地识别那些变化幅度较大且具有统计学意义的数据点(基因等).常应用于转录组研究,也能应用于基 ...

  9. 废弃P-value,还是学学如何评估统计检验结果?

    前几天,Nature上一篇comment再度引发关于p-value如何使用和解释的文章:Scientists rise up against statistical significance,800多 ...

最新文章

  1. 使用elementui实现表单上传功能_使用ElementUI中的upload组件上传Excel文件
  2. TCP/IP / TIME_WAIT 状态的作用 / MSL、TTL、RTT
  3. Linux MySQL 忘记root 密码
  4. Android Builder模式在开发中的应用
  5. centos 下载 哪个版本_生信分析平台搭建(十六):CentOS
  6. [转]一个简单的反射拷贝一份新的实体类
  7. 数据湖之iceberg系列(三)iceberg快速入门
  8. hwclock: Open of /dev/rtc failed, errno=19: No such device.
  9. 基于lis3dh的简易倾角仪c源码_开源网关apisix源码阅读和最佳实践
  10. 标准表达式中数据类型不匹配_三观不同的人在一起有多累?三观一致的标准,不进行三观测试真不知道!人生观测试,价值观测试,世界观测试题推荐!超准三观匹配度测试!...
  11. 【运量预测】基于matlab BP神经网络公路运量预测【含Matlab源码 413期】
  12. DS18B20使用说明
  13. Kali Linux 基于Easy File Sharing Web Server 6.9 编写漏洞渗透模块 (上)
  14. 为什么我不断收到Java错误:错误:可以找到或加载类Dint?
  15. linux est 时间,Linux中的时区设置
  16. obj、fbx 转 3dtiles(免费转换工具)
  17. 预祝大家平安夜圣诞节快乐
  18. js获取服务器响应时间,【JS】浏览器所允许的http请求最长的响应时间?
  19. 技术大佬都在看的几个公众号
  20. 美国第一个设置计算机的学校,美国计算机专业院校

热门文章

  1. 连接查询之内连接(等值连接、非等值连接和自连接)
  2. 数据埋点是什么?设置数据埋点的意义?
  3. 阿里云服务器安装云助手客户端
  4. 今日头条2017前端工程师实习生笔试题
  5. Ubuntu最全问题汇总(好东西分享了)
  6. 马尔科夫随机场(MRF)与吉布斯分布(Gibbs)
  7. RFC2889MAC地址学习速率——网络测试仪实操
  8. 清除IE浏览器SSL缓存
  9. android 百度转码,关于百度移动端转码的问题与解决办法
  10. The value of the local variable xxx is not usedJava解决办法