Benjamini-Hochberg 调整后的 p 值的公式是什么?

机器算法验证 假设检验 p 值 多重比较 错误发现率
2022-01-30 09:56:33

我了解程序及其控制的内容。那么在多重比较的 BH 过程中调整 p 值的公式是什么?


刚才我意识到原来的 BH 没有产生调整后的 p 值,只调整了(非)拒绝条件:https ://www.jstor.org/stable/2346101 。无论如何,Gordon Smyth 在 2002 年引入了调整后的 BH p 值,所以这个问题仍然适用。它在 R 中p.adjust与 method一样实现BH

2个回答

著名的Benjamini & Hochberg (1995)论文描述了基于调整 alpha 水平接受/拒绝假设的过程。该程序在调整后具有直接等效的重新表述p-values,但在原始论文中没有讨论。据 Gordon Smyth介绍,他介绍了调整后的p-2002 年p.adjust在 R 中实施时的值。不幸的是,没有相应的引用,所以我一直不清楚如果使用 BH-adjusted 应该引用什么p-价值观。

事实证明,该程序在Benjamini, Heller, Yekutieli (2009)中有所描述:

呈现此过程结果的另一种方法是呈现调整后的p-价值观。BH 调整p-值定义为

p(i)BH=min{minji{mp(j)j},1}.

这个公式看起来比实际复杂。它说:

  1. 首先,全部订购p- 值从小到大。然后将每个相乘p- 测试总数的值m并除以它的等级顺序。
  2. 其次,确保结果序列是非递减的:如果它开始递减,使前面的p-值等于后续(重复,直到整个序列变为非递减)。
  3. 如果有的话p-value 最终大于 1,使其等于 1。

这是对 1995 年原始 BH 程序的直接重新表述。可能存在较早的论文明确介绍了 BH-adjusted 的概念p-values,但我不知道。


更新。@Zenit 发现Yekutieli & Benjamini (1999)早在 1999 年就描述了同样的事情:

在此处输入图像描述

首先是中肯的回答。考虑到p0是(单项测试)p与价值相关的价值z0的检验统计量。Benjamini-Hochberg FDR 分两步计算(N0= # pvalues p0,N= # pvalues):

  • FDR (p0)=p0N0N

  • FDR (pi)=min(FDR(pi),FDR(pi+1))


现在让我们理解这一点。(贝叶斯)的基本思想是观察来自两个分布的混合:

  • π0N从零密度观察f0(z)
  • (1π0)N来自替代密度的观察f1(z).

观察到的是这两者的混合:

  • f(z)=π0f0(z)+(1π0)f1(z)

在此处输入图像描述

(贝叶斯)定义是:

  • Fdr=π0(1F0(z0))(1F(z)) (尾部区域的一小部分)
  • fdr=π0f0(z0)f(z) (尾密度的一小部分)

如下图所示,当 Fdr 等价于 Benjamini hocherg FDR 时π01(大多数生物信息学研究都是这种情况)

在此处输入图像描述

(基于 Efron & Tibshirani 的计算机时代统计推断