裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

Brunner-Munzel 検定

2019年05月21日 | 統計学

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 検定統計量は本質的に同じなのだ(だから,両方は同じ検定なのだ。どちらが優れているなんてことはない

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PVアクセスランキング にほんブログ村

PVアクセスランキング にほんブログ村