p.adjust tidak menyalahgunakan untuk BY. Referensi adalah untuk Teorema 1.3 (bukti dalam Bagian 5 pada hal.1182) dalam makalah:
Benjamini, Y., dan Yekutieli, D. (2001). Kontrol tingkat penemuan palsu dalam beberapa pengujian di bawah ketergantungan. Annals of Statistics 29, 1165-1188.
Karena makalah ini membahas beberapa penyesuaian yang berbeda, referensi pada halaman bantuan (pada saat penulisan) untuk p.adjust () agak tidak jelas. Metode dijamin untuk mengendalikan FDR, pada tingkat yang dinyatakan, di bawah struktur ketergantungan yang paling umum. Ada komentar informatif dalam slide Christopher Genovese di: www.stat.cmu.edu/~genovese/talks/hannover1-04.pdf Perhatikan komentar pada slide 37, merujuk pada metode Teorema 1.3 dalam makalah BY 2001 [metode = 'OLEH' dengan p.adjust ()] bahwa: "Sayangnya, ini biasanya sangat konservatif, kadang-kadang bahkan lebih daripada Bonferroni."
Contoh numerik: method='BY'
vsmethod='BH'
Berikut ini membandingkan metode = 'BY' dengan metode = 'BH', menggunakan fungsi R's p.adjust (), untuk nilai-p dari kolom 2 dari Tabel 2 dalam makalah Benjamini dan Hochberg (2000):
> p <- c(0.85628,0.60282,0.44008,0.41998,0.3864,0.3689,0.31162,0.23522,0.20964,
0.19388,0.15872,0.14374,0.10026,0.08226,0.07912,0.0659,0.05802,0.05572,
0.0549,0.04678,0.0465,0.04104,0.02036,0.00964,0.00904,0.00748,0.00404,
0.00282,0.002,0.0018,2e-05,2e-05,2e-05,0)
> pmat <- rbind(p,p.adjust(p, method='BH'),p.adjust(p, method='BY'))
> rownames(pmat)<-c("pval","adj='BH","adj='BY'")
> round(pmat,4)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
pval 0.8563 0.6028 0.4401 0.4200 0.3864 0.3689 0.3116 0.2352 0.2096
adj='BH 0.8563 0.6211 0.4676 0.4606 0.4379 0.4325 0.3784 0.2962 0.2741
adj='BY' 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
[,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18]
pval 0.1939 0.1587 0.1437 0.1003 0.0823 0.0791 0.0659 0.0580 0.0557
adj='BH 0.2637 0.2249 0.2125 0.1549 0.1332 0.1332 0.1179 0.1096 0.1096
adj='BY' 1.0000 0.9260 0.8751 0.6381 0.5485 0.5485 0.4856 0.4513 0.4513
[,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27]
pval 0.0549 0.0468 0.0465 0.0410 0.0204 0.0096 0.0090 0.0075 0.0040
adj='BH 0.1096 0.1060 0.1060 0.1060 0.0577 0.0298 0.0298 0.0283 0.0172
adj='BY' 0.4513 0.4367 0.4367 0.4367 0.2376 0.1227 0.1227 0.1164 0.0707
[,28] [,29] [,30] [,31] [,32] [,33] [,34]
pval 0.0028 0.0020 0.0018 0e+00 0e+00 0e+00 0
adj='BH 0.0137 0.0113 0.0113 2e-04 2e-04 2e-04 0
adj='BY' 0.0564 0.0467 0.0467 7e-04 7e-04 7e-04 0
Catatan: Pengganda yang menghubungkan nilai BY dengan nilai BH adalah , di mana adalah jumlah nilai-p. Pengganda adalah, misalnya nilai m = 30, 34, 226, 1674, 12365:m∑mi=1(1/i)m
> mult <- sapply(c(11, 30, 34, 226, 1674, 12365), function(i)sum(1/(1:i)))
setNames (mult, tempel (c ('m =', rep ('', 5)), c (11, 30, 34, 226, 1674, 12365)))
m = 11 30 34 226 1674 12365
3.020 3.995 4.118 6.000 8.000 10.000
Periksa bahwa untuk contoh di atas, di mana = 34, pengali adalah 4,118m