【統計】Wilcoxonの順位和検定(Exact)

Wilcoxonの順位和検定のExact法(正確確率検定)のメモ。

【目次】


正規近似とT近似での検定は以下記事。
cochineal19.hatenablog.com


計算例


簡単なデータを準備。
A群が3例で順位和=7、B群が4例で順位和=21。


観測値の順位(今回は1~7位)を固定した場合に、A群が配置されるパターンとその順位和を計算する。
A群3例の配置は下図の35パターンが考えられる(A群=1、B群=0)。


上図の全パターンを順位和別に頻度集計し、生起確率を計算する。
今回、A群の観測値の順位和は7なので、順位和=7とそれより珍しいパターンの確率を足し合わせる。
順位和=6と7が該当し、この確率の和が片側確率、その2倍が両側確率となる。

なお、正規近似での検定は、上記ヒストグラム正規分布を当てはめるイメージ。


Rで実行。
coinパッケージの wilcox_test を使用。distribution="exact" で正確確率を指定。

> ads <- data.frame(
+   Group <- factor(c("A","A","B","A","B","B","B"))
+   ,AVAL <- seq(10:16))
> wilcox_test(AVAL ~ Group, data=ads, method="exact", distribution="exact")

    Exact Wilcoxon-Mann-Whitney Test

data:  AVAL by Group (A, B)
Z = -1.7678, p-value = 0.1143
alternative hypothesis: true mu is not equal to 0


SASではexactステートメントで指定する。

data ads;
  do AVAL = 10,11,13; Group=1; output; end;
  do AVAL = 12,14,15,16; Group=2; output; end;
run;
proc npar1way data=ads wilcoxon correct=no /*連続修正なし*/;
  class Group;
  var   AVAL;
  exact wilcoxon;
run;


プログラムコード


library(coin)
coin::wilcox_test(AVAL ~ Group, data=ads, method="exact", distribution="exact")


proc npar1way data=ads wilcoxon correct=no ;
  class TRT;
  var   AVAL;
  exact wilcoxon;
run;


参考


Wilcoxon Rank Sum Exact Test | Real Statistics Using Excel

本ブログは個人メモです。 本ブログの内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。