作者:kervin

微信号:kervin_zhao

在科学研究的统计分析中,我们往往会遇到多重比较校正问题。多重比较校正的方法很多,如Bonferroni、False Discovery Rate(FDR)、Random-field Theory (RFT)等等,各种校正方法各有优劣,具体应用时要根据自己的统计分析的数据特点进行选择。本文,笔者对Bonferroni和False Discovery Rate(FDR)两种校正方法进行论述,特别是对于应用比较广的FDR校正方法,笔者用具体的例子详细阐述了其原理,并给出其Matlab程序。

为什么要进行多重比较校正

当在同一个数据集上进行多次统计检验时,就需要进行多重比较校正。举个简单的例子,A、B两组被试,我们从每个被试身上得出10个指标。如果我们要研究A、B两组被试的某一个指标是否存在显着差异,那么此时我们只做一次统计分析就行;假设这个指标的p值小于0.05,我们会认为这个指标在A、B两组之间存在显着差异,此时,我们犯错的概率(或者称为假阳性率)是5%。假设我们把这10个指标都进行了统计分析,即使每个独立的指标的p值都小于0.05,此时我们犯错的概率不再是5%,而是1-(0.95)^10=0.4013,也就是说此时我们犯错的概率达到40%多,这在统计学上是不可接受的。因此,需要进行多重比较校正。

Bonferroni 校正方法

Bonferroni校正方法非常简单,若单次显着性水平为0.05,那么Bonferroni 校正后的p值应该为0.05/n,其中n为统计比较的次数。Bonferroni 校正方法应该属于最严格的一种校正方法,当统计比较的次数比较多时,Bonferroni 校正后的p值会非常小,此时不推荐使用这种校正方法。当统计比较的次数较小时,如小于几十个时,可以尝试使用。

FDR 校正方法

这里,笔者主要对FDR校正方法的原理进行论述。FDR校正方法是Benjamini和Hochberg于1995年提出了一种多重比较校正的方法。其实,FDR具体的算法也有多种,如Storey法(由Storey等人提出)、Benjamini-Hochberg法(简称BH法)等。其中BH法目前应用最广,这里主要介绍这种方法的基本原理。

基于BH法的FDR校正过程:

第一步:将我们单独统计得到的一系列的p=[p1,p2,…,pn]从大到小进行重新排序,计为P=[P1,P2,…,Pn];

第二步:按照以下公式计算每个P值所对应的校正前的FDR值,这里称之为Q值:Q = Pi* (n/r),Pi表示P中元素值,n是P值个数,r依次为n,n-1,…,1。

第三步:对Q进行校正,得到FDR值。对于计算出来的Q=[Q1,Q2,…,Qn],若某一个Qi值大于前一位Qi-1值,则把Qi的值赋值为Qi-1;反之则保留相应的Q值。最终得到Q值称之为校正后的FDR值。

第四步:按照重排序之前的顺序返回各个p值对应的校正后的FDR值。

例子:假设p=[0.01, 0.005, 0.03, 0.03, 0.02, 0.04, 0.05],计算相应的校正后的FDR值。

笔者按照上述步骤,自行编制相应的Matlab程序,计算过程和结果如下:

按照上述第一步步骤,计算得到P=[0.0500, 0.0400, 0.0300, 0.0300, 0.0200, 0.0100, 0.0050];

按照第二步中的方法,计算得到Q=[0.0500, 0.0467, 0.0420, 0.0525, 0.0467, 0.0350, 0.0350];

按照第三步:得到校正后的FDR值为:FDR=[ 0.0500, 0.0467, 0.0420, 0.0420, 0.0420, 0.0350, 0.0350];

最后,转换成原来的顺序:FDR=[0.0350, 0.0350, 0.0420, 0.0420, 0.0420, 0.0467, 0.0500].

对于本例来说,如果总体的显着性水平设置为0.05,那么从得到的最后的FDR值来说,这几个p值都具有显着性差异。

总结

本文,笔者对为什么要进行多重比较校正做了简单介绍,并重点论述了FDR多重比较校正方法。关于本文中FDR校正对应的Matlab程序,如有朋友需要,请先转发本文到您的朋友圈,然后截图发给我(微信号:kervin_zhao),我会把相应代码发给您(原创不易,请大家理解)。对于多重比较校正遇到的问题,也可以加笔者进行交流。如果各位朋友觉得本文对您有帮助,也烦请各位积极转发本文到您的朋友圈,并点击文末右下方的“在看”。

原创不易,请各位朋友积极转发,多多支持,您的每一次转发就会给我们的创作增加一份动力,谢谢!推荐阅读

如何计算EEG信号的香农熵Shannon entropy(附Matlab程序)

聊一聊置换检验Permutation test的原理

脑科学研究中常用的神经电信号记录电极介绍

大脑中的结构连接、功能连接和有效连接

基于图论的复杂脑网络分析中的常用指标

关注我们

matlab 多重比较,谈一谈两种常用的多重比较校正方法(附Matlab程序)相关推荐

  1. 两种常用AD转换数字滤波方法

    核心思想是多次样本求平均值,在求平均值之前剔除掉干扰值.干扰值一般是最大或最小,当然还可以扩大范围,将次大次小值也进行剔除. 递推中位值滤波法还可以演变成即时的,获取AD值后立即处理,不进行缓存,进一 ...

  2. pytorch两种常用的学习率衰减方法

    阶梯式衰减 torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1) 每个训练step_size个 ...

  3. c++ 两种常用的分割字符串方法

    C++字符串分割 1.substr函数 头文件:#include 原型:string substr(size_t pos = 0, size_t n = nops); 参数说明: pos 起始位置(默 ...

  4. c语言中软件去干扰,10种常用的软件滤波方法及示例程序

    一.限幅滤波法 A.方法: 根据经验判断,确定两次采样允许的最大偏差值(设为A) 每次检测到新值时判断: 如果本次值与上次值之差<=A,则本次值有效 如果本次值与上次值之差>A,则本次值无 ...

  5. 网页html文档头部声明的两种常用模式

    Html文档头部声明的两种常用模式 第一种,XHTML1.0严格模式,对很多废除的标签不支持,书写要严格遵守W3C的要求,是找虐的好方法: <!DOCTYPE html PUBLIC " ...

  6. Silve37.Silverlight和ASP.NET相互传参的两种常用方式(QueryString,Cookie)

    在本节中将讲述Silverlight和ASP.NET页面的相互传参的两种常用方式:Cookie和QueryString.首先我们新建一个名 为SLConnectASP.NET的Silverlight应 ...

  7. Spring Cloud Config采用Git存储时两种常用的配置策略

    由于Spring Cloud Config默认采用了Git存储,相信很多团队在使用Spring Cloud的配置中心时也会采用这样的策略.即便大家都使用了Git存储,可能还有各种不同的配置方式,本文就 ...

  8. Windows校验文件哈希hash的两种常用方式

    大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像 ...

  9. 数据中心两种常用流量模型运用mininet的实现

    为什么80%的码农都做不了架构师?>>>    编者按:在网络性能评估中一个巨大的挑战就是如何生成真实的网络流量,还好可以通过程序来创造人工的网络流量,通过建立测试环境来模拟真实的状 ...

最新文章

  1. BZOJ 1801 [Ahoi2009]中国象棋(线性动规)(洛谷P2051)
  2. unity延迟执行下一行代码_Python代码在Linux环境下执行错误异常
  3. [转]HDR渲染器的实现(基于OpenGL)
  4. 14 调整数组顺序使奇数位于偶数前面
  5. web页面在线编辑功能
  6. Mr. Panda and Kakin(拓展欧几里得 + O(1)快速乘)
  7. 比欧拉公式更美的公式!
  8. 微软悬赏25万美元捉拿Conficker蠕虫作者
  9. printf以及各种变种
  10. Java正则匹配美元表达式_Java中的正则表达式“ $”(美元)元字符
  11. Riverbed实现云内外的端到端可视化
  12. Unity学习笔记:unity脚本常用API
  13. 堆排序(超详细图解 java版)
  14. Seaweedfs 详细说明
  15. linux之ab测试
  16. cacheable 表达式,多个方法参数的@Cacheable键
  17. 图形学基础之透视校正插值
  18. 层次化局域网模型 - 核心层、汇聚层、接入层
  19. 简单理解云桌面的模板,桌面池和虚拟机的概念
  20. request.getLocale()

热门文章

  1. 图书借阅系统项目的完整步骤
  2. 经常用电脑辐射大怎么办?
  3. 计算机毕业设计Java学校食堂库存在线管理(源码+系统+mysql数据库+Lw文档)
  4. 关于动词ます形的相关知识延伸
  5. 从后渗透分析应急响应的那些事儿(二)免杀初识篇
  6. 【差分进化算法】基于适应度-距离-平衡的自适应引导差分进化 (FDB-AGDE) 算法附matlab代码
  7. 【现代控制理论】| 线性系统的状态空间法
  8. PPP、HDLC协议配置
  9. 2021第十届PMO大会线上会议成功举办
  10. 放置江湖html5游戏,放置江湖单机离线版