Tôi thứ hai @ câu trả lời của MrMeritology. Trên thực tế, tôi đã tự hỏi liệu thử nghiệm MWU sẽ kém mạnh mẽ hơn so với thử nghiệm tỷ lệ độc lập, vì các sách giáo khoa tôi đã học và sử dụng để dạy rằng MWU chỉ có thể được áp dụng cho dữ liệu thứ tự (hoặc khoảng / tỷ lệ).
Nhưng kết quả mô phỏng của tôi, được vẽ dưới đây, chỉ ra rằng thử nghiệm MWU thực sự mạnh hơn một chút so với thử nghiệm tỷ lệ, trong khi kiểm soát lỗi loại I tốt (ở tỷ lệ dân số của nhóm 1 = 0,50).
Tỷ lệ dân số của nhóm 2 được giữ ở mức 0,5. Số lần lặp là 10.000 tại mỗi điểm. Tôi đã lặp lại mô phỏng mà không cần hiệu chỉnh của Yate nhưng kết quả vẫn như vậy.
library(reshape)
MakeBinaryData <- function(n1, n2, p1){
y <- c(rbinom(n1, 1, p1),
rbinom(n2, 1, 0.5))
g_f <- factor(c(rep("g1", n1), rep("g2", n2)))
d <- data.frame(y, g_f)
return(d)
}
GetPower <- function(n_iter, n1, n2, p1, alpha=0.05, type="proportion", ...){
if(type=="proportion") {
p_v <- replicate(n_iter, prop.test(table(MakeBinaryData(n1, n1, p1)), ...)$p.value)
}
if(type=="MWU") {
p_v <- replicate(n_iter, wilcox.test(y~g_f, data=MakeBinaryData(n1, n1, p1))$p.value)
}
empirical_power <- sum(p_v<alpha)/n_iter
return(empirical_power)
}
p1_v <- seq(0.5, 0.6, 0.01)
set.seed(1)
power_proptest <- sapply(p1_v, function(x) GetPower(10000, 1000, 1000, x))
power_mwu <- sapply(p1_v, function(x) GetPower(10000, 1000, 1000, x, type="MWU"))