Brunner-Munzel 検定 ッテ,もはや,参照する価値もない記事です。パチもん検定です。
確かに,Brunner-Munzel 検定と Mann-Whitney 検定の検定統計量を B, U とすると
B =1-U/n1/n2 なので,両検定は同等(http://aoki2.si.gunma-u.ac.jp/lecture/Average/how2get-U.html を見れば一目瞭然)。
前者は正規近似,後者はt分布近似(サンプルサイズが多いときには正規近似も)するという違いだけ。並べ替え検定を行うと当然同じになるなあ。
とすると,Mann-Whitney 検定は不等分散に弱いが,Brunner-Munzel 検定はそんなことはないというのは真っ赤な嘘だなあ。
> library(lawstat)
> set.seed(777)
> n1 = 80
> n2 = 100
> x = rnorm(n1, mean=0, sd=1)
> y = rnorm(n2, mean=0, sd=10) 不等分散データを作る
> brunner.munzel.test(x, y)
Brunner-Munzel Test
data: x and y
Brunner-Munzel Test Statistic = -0.010395, df = 100.89, p-value = 0.9917 t 分布の近似は十分
95 percent confidence interval:
0.404083 0.594917
sample estimates:
P(X<Y)+.5*P(X=Y)
0.4995
> pt(-0.010395, 100.89)*2 t 分布の両側確率
[1] 0.9917267
> wilcox.test(x, y)
Wilcoxon rank sum test with continuity correction
data: x and y
W = 4004, p-value = 0.992 この p 値は,正確な値。Brunner-Munzelの 0.9917 に近いことに気づくべし
alternative hypothesis: true location shift is not equal to 0
> library(coin)
> df = data.frame(d=c(x, y), g=factor(rep(1:2, c(n1, n2))))
> wilcox_test(d ~ g, data=df)
Asymptotic Wilcoxon-Mann-Whitney Test 皮肉なことに wilcox_test は正規近似を行う羽目に
data: d by g (1, 2)
Z = 0.011515, p-value = 0.9908 正規近似も Brunner-Munzelの 0.9917 に近いことに気づくべし
alternative hypothesis: true mu is not equal to 0
> pnorm(0.011515, lower.tail=FALSE)*2 正規分布の両側確率
[1] 0.9908126
> brunner.munzel.test(x, y)$estimate
P(X<Y)+.5*P(X=Y)
0.4995
> 1-wilcox.test(x, y)$statistic/n1/n2
W W はマン・ホイットニーの U
0.4995 検定統計量は本質的に同じなのだ(だから,両方は同じ検定なのだ。どちらが優れているなんてことはない)