You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Benjamini Hochberg与Bonferroni校正的p.adjusted结果一致?

BH与Bonferroni校正结果相同的原因

核心原因是你只做了1次两两比较。

  • Bonferroni校正逻辑:校正后p值 = 原始p值 × 检验次数
  • BH校正逻辑:对排序后的多个p值依次调整,但仅当存在多个检验时才会改变原始p值

你的数据里只有a和b两个组别,pairwise.t.test只执行了1次t检验。此时:

  1. Bonferroni校正:原始p值 × 1 = 原始p值
  2. BH校正:唯一的p值不需要调整,结果等于原始p值

因此两种方法输出的p值完全一致。

如果要观察两种校正方法的差异,只需增加组别数量(比如3组及以上),此时会产生多次两两比较,两种方法的结果就会明显不同。示例代码如下:

# 生成3组差异数据
dpnd <- c(rnorm(25, mean = 0), rnorm(25, mean = 1), rnorm(25, mean = 2))
indpnd <- c(rep("a",25), rep("b",25), rep("c",25))

# 分别用两种方法校正
bonf_result <- pairwise.t.test(dpnd, indpnd, p.adjust.method="bonferroni")
bh_result <- pairwise.t.test(dpnd, indpnd, p.adjust.method="BH")

# 查看结果
bonf_result
bh_result

运行后你会发现,Bonferroni校正后的p值普遍比BH校正的更高——因为Bonferroni是更保守的多重检验校正方法,而BH方法在控制假发现率的同时,保留了更高的统计效力。

内容的提问来源于stack exchange,提问作者Chemokine1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 08:05:14