두 번째 @MrMeritology의 답변입니다. 실제로 MWU 테스트가 독립 비율 테스트보다 강력하지 않을지 궁금합니다. MWU를 배워서 가르치는 데 사용한 교과서는 MWU가 서수 (또는 간격 / 비율) 데이터에만 적용될 수 있다고 말했기 때문입니다.
그러나 아래에 나와있는 시뮬레이션 결과는 MWU 테스트가 실제로 비율 테스트보다 약간 더 강력하다는 것을 나타내며 1 형 오류를 잘 제어합니다 (그룹 1 = 0.50의 모집단 비율).
그룹 2의 인구 비율은 0.50으로 유지됩니다. 반복 횟수는 각 지점에서 10,000입니다. Yate의 수정없이 시뮬레이션을 반복했지만 결과는 동일했습니다.
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"))