統計検定に関する事柄を忘れないようにまとめます.

R にてウィルコクソンの順位和検定 (Wilcoxon rank sum test) を行う.本検定法は,ウィルコクソンの符号順位検定 (Wilcoxon signed rank test) とは明確に異なる検定法である.ウィルコクソンの符号順位検定は比較したい2群間に対応がある場合に使う法で,ウィルコクソンの順位和検定は2群間に対応がない場合に使う.この検定法はパラメトリック検定でいうところのスチューデントのt検定とかウェルチのt検定に相当する.R ではパッケージ exactRankTests に搭載されている関数 wilcox.exact() にて計算する.既に開発は終了しており,読み込むとパッケージ coin の利用を促されるが,開発の余地がない枯れた手法なので使い続けて良い.また,R にデフォルトでインストールされている stats パッケージにも本検定を実行するための wilcox.test() が搭載されているが,この関数はデータにタイが存在したときに正確な値を返さないため,wilcox.exact() を使った方が良い.wilcox.exact() では,Streitberg と Roehmel のシフトアルゴリズム (Shift algorithm) により,統計量に対する正確なヌル分布が計算される.

最初に,R を起動させ,以下のコマンドにてパッケージをインストールし,そのパッケージを読み込む.既にパッケージをインストールしている場合は1行目は不要.

$ install.packages("exactRankTests", repos="http://cran.ism.ac.jp/")
$ library(exactRankTests)

p値の計算

ウィルコクソンの順位和検定は独立2群間の代表値の差の検定である.実質的にはマン・ホイットニーのU検定 (Mann-Whitney U test) と同等な検定である.各群の標本数は一致しなくて良い.以下のデータXおよびデータYの2群間の代表値に差があるかどうかを検定する.帰無仮説 (H0) は2群間の代表値に差がないことである.

データX1.83, 1.50, 1.62, 2.48, 1.68, 1.88, 1.55, 3.06, 1.30, 2.01, 3.11
データY0.88, 0.65, 0.60, 1.05, 1.06, 1.29, 1.06, 2.14, 1.29

以下のコマンドにて,上のデータXおよびYをそれぞれ変数 vx および vy に格納する.

$ vx=c(1.83, 1.50, 1.62, 2.48, 1.68, 1.88, 1.55, 3.06, 1.30, 2.01, 3.11)
$ vy=c(0.88, 0.65, 0.60, 1.05, 1.06, 1.29, 1.06, 2.14, 1.29)

ウィルコクソンの順位和検定は以下のコマンドにて実行する.順位和検定では paired=F を指定する.ここで,paired=T を指定するとウィルコクソンの符号順位検定が実行される.

$ wilcox.exact(x=vx,y=vy,paired=F)

これを実行した結果は以下のようになる.

 
        Exact Wilcoxon rank sum test

data:  vx and vy
W = 91, p-value = 0.0007145
alternative hypothesis: true mu is not equal to 0

以上の結果では,p値が0.0007145となっており,有意水準を1%としても帰無仮説が棄却され,その結果データXおよびデータYの代表値には差があることが主張できる.

信頼区間の計算

また,以下のように打つと信頼区間を算出することができる.conf.int=T は信頼区間を計算させるオプションであり,conf.level は信頼区間の信頼水準を指定するオプションである.例えば,conf.level=0.99 と指定すると99%信頼区間が計算される.

$ wilcox.exact(x=vx,y=vx,paired=F,conf.int=T,conf.level=0.99)

これを実行した結果は以下のようになる.

 
        Exact Wilcoxon rank sum test

data:  vx and vy
W = 91, p-value = 0.0007145
alternative hypothesis: true mu is not equal to 0
99 percent confidence interval:
 0.26 1.82
sample estimates:
difference in location 
                  0.79 

オプション一覧

その他のオプションには以下のようなものがある.

オプション詳細
x検定対象の読み込むデータの指定 (必須).
yもう一方の検定対象の読み込むデータの指定 (順位和検定の際は必須).
alternative両側検定 (alternative="t") をするか片側検定をするかの指定.片側検定の場合はさらに,右側検定 (alternative="g") をするか左側検定 (alternative="l") をするかの指定.
paired順位和検定 (paired=F) をするか符号順位検定 (paired=T) をするかの指定.
exactT または F で指定.exact=T を指定した場合は,p値を統計量の正規分布への近似ではなく正確に求める.デフォルトはサンプルサイズが50未満で T,それ以外で F で,これを F にするなら,R のデフォルトの wilcox.test() においても,タイがあってもp値は計算されるようになる.
conf.int信頼区間を算出するかどうかの指定 (T または F).
conf.level直上のオプションを指定した際の信頼水準の指定 ( (0, 1] ).
  1. Hothorn T and Hornik K, Exact nonparametric inference in R, Compstat, 355-360, 2002
Hatena Google+