p.adjust không bị sẩy thai vì BY. Tài liệu tham khảo là Định lý 1.3 (chứng minh trong Mục 5 trên tr.1182) trong bài viết:
Stewamini, Y. và Yekutieli, D. (2001). Việc kiểm soát tỷ lệ phát hiện sai trong nhiều thử nghiệm dưới sự phụ thuộc. Biên niên sử Thống kê 29, 1165 Từ1188.
Vì bài viết này thảo luận về một số điều chỉnh khác nhau, tham chiếu trên trang trợ giúp (tại thời điểm viết) cho p.adjust () có phần mơ hồ. Phương pháp này được đảm bảo để kiểm soát FDR, theo tỷ lệ đã nêu, theo cấu trúc phụ thuộc chung nhất. Có những nhận xét thông tin trong các slide của Christopher Genovese tại: www.stat.cmu.edu/~genovese/talks/hannover1-04.pdf Lưu ý nhận xét về slide 37, đề cập đến phương pháp Định lý 1.3 trong bài báo BY 2001 [phương thức = 'BY' với p.adjust ()] rằng: "Thật không may, điều này thường rất bảo thủ, đôi khi còn hơn cả Bonferroni."
Ví dụ số: method='BY' vsmethod='BH'
Phương pháp so sánh sau đây = 'BY' với phương thức = 'BH', sử dụng hàm p.adjust () của R, cho các giá trị p từ cột 2 của Bảng 2 trong bài báo của Stewamini và 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
∑mi=1(1/i)m
> mult <- sapply(c(11, 30, 34, 226, 1674, 12365), function(i)sum(1/(1:i)))
setNames (nhiều, dán (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
m