一个直观的解释为什么Benjamini-Hochberg FDR程序起作用?


14

有没有一种简单的方法可以解释为什么Benjamini和Hochberg(1995)的程序实际上控制着错误发现率(FDR)?这个过程是如此的优雅和紧凑,但是为什么它在独立的条件下工作的证据(出现在他们1995年论文的附录中)并不是很容易获得。


4
我认为,此处介绍的FDR控制的证明更加直观(请注意,您正在寻找定理2的证明):citeseerx.ist.psu.edu/viewdoc / ... 那里,该论点仅依赖于注意到我们可以使用可选的停止定理。
user795305

3
杰米尼(Benjamini)在YouTube上就多重比较问题以及用于解决该问题的调整方法的历史和逻辑发展进行了精彩的演讲
亚历克西斯(Alexis)

Ramdas等。(2017)是一篇非常不错的近期论文,统一并概括了多种测试方法,其命题1(c)暗示了Benjamini&Hochberg(1995)中的定理1。该证明仅适用引理1(c)来约束FDP的期望值,而引理本身仅由附录中的非常基本的多元演算来证明。
daniel.s

2
这是我在StatQuest的YouTube频道上发现的另一种直观解释:youtube.com/watch?
v=K8LQSvtjcEo

Answers:


2

这是一些R生成图片的代码。它将显示针对其顺序绘制的15个模拟p值。因此它们形成一个上升点模式。红色/紫色线下方的点表示在0.1或0.2级别下的显着测试。FDR表示线下方的黑点数除以线下方的总点数。

x0 <- runif(10)      #p-values of 10 true null hypotheses. They are Unif[0,1] distributed.
x1 <- rbeta(5,2,30)  # 5 false hypotheses, rather small p-values
xx <- c(x1,x0)
plot(sort(xx))
a0 <- sort(xx)
for (i in 1:length(x0)){a0[a0==x0[i]] <- NA}
points(a0,col="red")
points(c(1,15), c(1/15 * 0.1 ,0.1), type="l", col="red")
points(c(1,15), c(1/15 * 0.2 ,0.2), type="l", col="purple")

我希望这可以使人们对有序p值的分布形状有所了解。线是正确的,而不是例如一些比喻形状的曲线,这与顺序分布的形状有关。这必须显式计算。实际上,这条线只是一个保守的解决方案。


1
您介意set.seed(<some number>)为不读R的人添加和发布结果图吗?
gung-恢复莫妮卡

当我运行此代码时,所有这些点都没有落在该行的下方……
winni2k
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.