p.adjust ไม่ได้ทำการละเมิดโดย BY การอ้างอิงคือทฤษฎีบท 1.3 (พิสูจน์ในข้อ 5 ในหน้า 1182) ในกระดาษ:
Benjamini, Y. และ Yekutieli, D. (2001) การควบคุมอัตราการค้นพบที่ผิดพลาดในการทดสอบหลายรายการภายใต้การพึ่งพา บันทึกสถิติ 29, 1165–1188
เนื่องจากบทความนี้กล่าวถึงการปรับที่แตกต่างกันหลายอย่างการอ้างอิงในหน้าช่วยเหลือ (ในขณะที่เขียน) สำหรับ p.adjust () ค่อนข้างคลุมเครือ วิธีการนี้รับประกันว่าจะควบคุม FDR ในอัตราที่กำหนดภายใต้โครงสร้างการพึ่งพาทั่วไป มีความคิดเห็นที่ให้ข้อมูลในสไลด์ของ Christopher Genovese ที่: www.stat.cmu.edu/~genovese/talks/hannover1-04.pdf หมายเหตุความคิดเห็นบนสไลด์ 37 อ้างถึงวิธีการของทฤษฎีบท 1.3 ในบทความ BY 2001 [method = 'BY' กับ p.adjust ()] ว่า: "น่าเสียดายที่นี่มักจะอนุรักษ์นิยมมากบางครั้งก็ยิ่งกว่า Bonferroni"
ตัวอย่างที่เป็นตัวเลข: method='BY'
vsmethod='BH'
เปรียบเทียบ method = 'BY' กับ method = 'BH' ต่อไปนี้โดยใช้ฟังก์ชัน p.adjust () ของ R สำหรับค่า p จากคอลัมน์ 2 ของตารางที่ 2 ในกระดาษ Benjamini และ 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
หมายเหตุ:ตัวคูณที่เกี่ยวข้องกับค่า BY กับค่า BH คือโดยที่คือจำนวนของค่า p ตัวคูณคือค่าตัวอย่าง 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 (หลาย, วาง (c ('m =', ตัวแทน ('', 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
ตรวจสอบว่าเป็นตัวอย่างด้านบนโดยที่ = 34 ตัวคูณคือ 4.118m