假设检验多重比较的P值修正

简介: 在进行假设检验时,我们通常会使用P值来判断样本数据是否支持原假设。当我们进行多重比较时,也就是对多个假设进行检验时,如果不进行P值修正,就会出现多重比较问题。多重比较问题指的是在进行多次假设检验时,由于进行多次检验,就会增加发生假阳性的概率,从而导致P值的误判。这种误判可能会导致我们错误地拒绝原假设或者错误地接受备择假设,从而影响数据分析的准确性和可靠性。为了避免多重比较问题,进行P值修正可以有效地避免多重比较问题的发生。

1、关于多重比较的P值修正

当对于一组数据进行多重均值比较的时候,例如两两比较(A,B,C)三组数据,将执行3次比较(A-B,A-C,B-C),假设每次比较时犯错的概率假设控制在5%,每次比较的可信度即为95%。但是对于三个同时进行的 test 来说,由于其中每个test的检验犯错是概率5%,那么总体上三个test均正确反映事实的可信度将低于95%(0.953 = 0.85),也即是犯 I类错误** (错误识别为出现显著差异) 的概率从5%提高到了15%。所以在进行多重检验时需要进行P值的修正来控制错误率, 主要有两种控制方案:

方案一 :控制FWER(family-wise error rate)

该类修正方法严格 要求多重比较的每个 test 全部正确,FWER的常见修正方法包括 Bonferroni ,Holm,Scheffe,Tukey。使用校正后的P值的显著性判断水平还是α = 0.05 。

Bonferroni校正,该方法它将显著性水平 α 除以总比较次数n 来生成更低的 α阈值 作为显著性判断水平($\alpha' = \frac {\alpha}{n}= \frac {\alpha}{C_{num\_groups}^2}$)。该方法对于组数比较敏感,适用于比较组数较少的情况(3组,4组,6组),当比较组数过多时(>8组)可能发生因为 α 过小而失效的问题,即使两组间存在差异也无法正确识别,从而放大了 II类错误

如果是对一组数据任意两两组都进行检验,检验功效比较好的是 Tukey 方法,这也是一种相对严格的一种方法,比较不容易得显著的结果。

方案二 :控制FDR(false discovery rate)::控制错误率

该类修正方法要求 在判断显著的这些比较结果里面一定比例的检验结果是可靠的 ,也就是不严格要求所有结果均正确,允许犯错。适用于比较组数较大的情况,如单细胞研究里基因间的两两比较,这种情况下如果使用FWER校正方法可能会出现所有结果都不显著,从而导致比较失去意义。

最常用方法是: Benjamini & Hochberg(BH)


Reference

【统计学博士教你用R语言做统计分析!】方差分析(ANOVA)_哔哩哔哩_bilibili
BH方法过程

目录
相关文章
|
机器学习/深度学习 传感器 人工智能
人工智能产业结构
人工智能产业结构
757 0
|
SQL 数据挖掘 数据库
HiveSQL分位数函数percentile()使用详解+实例代码
HiveSQL分位数函数percentile()使用详解+实例代码
6421 0
HiveSQL分位数函数percentile()使用详解+实例代码
|
数据采集 Java Python
爬取小说资源的Python实践:从单线程到多线程的效率飞跃
本文介绍了一种使用Python从笔趣阁网站爬取小说内容的方法,并通过引入多线程技术大幅提高了下载效率。文章首先概述了环境准备,包括所需安装的库,然后详细描述了爬虫程序的设计与实现过程,包括发送HTTP请求、解析HTML文档、提取章节链接及多线程下载等步骤。最后,强调了性能优化的重要性,并提醒读者遵守相关法律法规。
395 0
|
数据可视化 Python
Python绘制定制3D曲面图
8月更文挑战第19天
315 14
|
机器学习/深度学习 前端开发 自动驾驶
【视频】什么是Bootstrap自抽样及应用R语言线性回归预测置信区间实例|数据分享
【视频】什么是Bootstrap自抽样及应用R语言线性回归预测置信区间实例|数据分享
|
SQL Java 数据库连接
【Java笔记+踩坑】MyBatisPlus基础
MyBatisPlus简介、标准数据层开发CRUD、业务层继承IService、ServiceImpl、条件查询、LambdaQueryWrapper、id生成策略、逻辑删除、乐观锁@Version、代码生成器、ActiveRecord
【Java笔记+踩坑】MyBatisPlus基础
|
机器学习/深度学习 人工智能 算法
机器学习:K-means算法基本原理及其变种
机器学习:K-means算法基本原理及其变种
1482 0
机器学习:K-means算法基本原理及其变种
|
Java 数据库连接 API
什么是 Hibernate?为什么使用 Hibernate?
【8月更文挑战第21天】
547 0
|
缓存
Quarto 入门教程 (3):细节设置
Quarto 入门教程 (3):细节设置
646 1
|
数据可视化
R可视乎|三维散点图
R可视乎|三维散点图
361 0