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
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;