裏 RjpWiki

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

Brunnner-Munzel exact test

2019年05月24日 | ブログラミング

Brunner-Munzel 検定 ッテ,もはや,参照する価値もない記事です。パチもん検定です。

 

lawstat や brunnermunzel パッケージの t 統計量を対象にするのはまずい

P(x<y)+0.5*P(x=y) を対象にすべし(そうすれば,実行時間も短くなるし)

なにより,正しい答えが出るアルゴリズムを決定してから,コンパイラ言語を使って速くする方策を探るべし

> x = c(1,2,1,1,1,1,1,1,1,1,2,4,1,1)
> y = c(3,3,4,3,1,2,3,1,1,5,4)
> n1 = length(x)
> n2 = length(y)
> xandy = c(x, y)

> library(lawstat)
> system.time({
+ bm = brunner.munzel.test(x, y)$statistic
+ foo = function(X) {
+   brunner.munzel.test(xandy[X], xandy[-X])$statistic
+ }
+ z = combn(n1 + n2, n1, foo)
+ print(mean(abs(z) >= abs(bm)))
+ })
[1] 0.008037645 この答えは正しくない
   ユーザ   システム       経過  
  1173.610      2.509   1177.962

> system.time({
+ f = function(X) {
+   return((mean(rank(c(xandy[X], xandy[-X]))[1:n1]) - w)/n2)
+ }
+ w = (n1 + 1)/2
+ s0 = f(1:n1)
+ s = combn(n1 + n2, n1, f)
+ print(mean(abs(s-0.5) >= abs(s0-0.5)))
+ })
[1] 0.006690223 正しいし,速い
   ユーザ   システム       経過  
   167.216      0.542    167.834

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Behrens-Fisher problem 対応... | トップ | brunnermunzel.test の異変 »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事