Benjamini-Hochberg FDR手順が機能する理由を直感的に説明できますか?


14

Benjamini and Hochberg(1995)の手順が実際に偽発見率(FDR)を制御する理由を説明する簡単な方法はありますか?この手順は非常にエレガントでコンパクトですが、独立性の下で機能する理由の証明です(1995年の論文の付録に記載されていますいます)はあまりアクセスできません。


4
私の意見では、FDR制御の証拠は、ここで紹介する(あなたは定理2の証明を探しているノート)より直観的である:citeseerx.ist.psu.edu/viewdoc/... あり、引数は、ちょうど私達ことに気づいに頼っていましたオプションの停止定理を使用できます。
-user795305

3
YouTubeBenjaminiから多重比較の問題、およびそれに対処するために使用された調整方法の歴史と論理的発展についての良い講義があります。
アレクシス

Ramdas et al。(2017)は非常に優れた最近の論文であり、多くの複数のテスト方法を統一および一般化し、その命題1(c)はBenjamini&Hochberg(1995)の定理1を暗示しています。証明は、補題1(c)を適用してFDPの期待を制限するだけであり、この補題自体は、付録の非常に基本的な多変量計算によって証明されています。
ダニエルズ

2
ここで私はYouTubeでStatQuestのチャンネルで見つかった別の直感的な説明があります:youtube.com/watch?v=K8LQSvtjcEo
RobertF

回答:


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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.