Penjelasan intuitif mengapa prosedur FDR Benjamini-Hochberg bekerja?


14

Apakah ada cara sederhana untuk menjelaskan mengapa prosedur Benjamini dan Hochberg (1995) benar-benar mengendalikan laju penemuan palsu (FDR)? Prosedur ini sangat elegan dan ringkas, namun bukti mengapa itu bekerja di bawah independensi (muncul dalam lampiran makalah 1995 mereka ) tidak sangat mudah diakses.


4
menurut pendapat saya, bukti kontrol FDR yang disajikan di sini lebih intuitif (perhatikan Anda sedang mencari bukti teorema 2): citeseerx.ist.psu.edu/viewdoc/… Di sana, argumen hanya mengandalkan memperhatikan bahwa kami dapat menggunakan teorema berhenti opsional.
— user795305

3
Ada kuliah bagus dari Benjamini di YouTube tentang berbagai masalah perbandingan, dan sejarah serta pengembangan logis dari metode penyesuaian yang digunakan untuk mengatasinya.
— Alexis

Ramdas et al. (2017) adalah makalah baru yang sangat bagus yang menyatukan dan menggeneralisasi banyak metode pengujian ganda, dan Proposisi mereka 1 (c) menyiratkan Teorema 1 dalam Benjamini & Hochberg (1995). Buktinya hanya menggunakan Lemma 1 (c) untuk mengikat harapan FDP, dan Lemma ini sendiri hanya dibuktikan oleh kalkulus multivariat yang sangat mendasar dalam apendiks mereka.
— daniel.s

2
Berikut penjelasan intuitif lain yang saya temukan di saluran StatQuest di YouTube: youtube.com/watch?v=K8LQSvtjcEo
— RobertF

Jawaban:


2

Berikut ini beberapa Rkode untuk menghasilkan gambar. Ini akan menunjukkan 15 nilai-p simulasi yang diplot terhadap pesanan mereka. Jadi mereka membentuk pola titik naik. Poin di bawah garis merah / ungu mewakili tes signifikan pada level 0,1 atau 0,2. FDR adalah jumlah titik hitam di bawah garis dibagi dengan jumlah total titik di bawah garis.

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")

Saya harap ini dapat memberikan beberapa perasaan tentang bentuk distribusi nilai-p yang dipesan. Bahwa garis-garis itu benar dan bukan misalnya beberapa kurva berbentuk perumpamaan, ada hubungannya dengan bentuk distribusi urutan. Ini harus dihitung secara eksplisit. Padahal, garis itu hanyalah solusi konservatif.


1
Maukah Anda menambahkan set.seed(<some number>)dan memposting gambar yang dihasilkan untuk orang yang tidak membaca R?
— gung - Reinstate Monica

Tidak ada poin yang jatuh di bawah garis ketika saya menjalankan kode ini ...
— winni2k
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.