Mann–Whitney U と Spearman 順位相関は同様な検定である
井口豊(生物科学研究所,長野県岡谷市)
最終更新: 2024 年 1 月 7 日
1. はじめに
一般線形モデルとして, t 検定と回帰分析が同等な検定であることは,別ページで既に述べた。
特に,そのページの図 2 に描いたように, 2 群を表すダミー変数 x が 1 変化するときの傾き
が,その 2 群の平均の差に相当するのである。
同様なことは,ノンパラメトリック検定である Mann–Whitney U 検定と Spearman 順位相関検定にも,ほぼ当てはまる。
U 検定と Kruskal-Wallis 検定が平均順位検定であることも,別ページで既に述べた。
したがって,独立 2 群をダミー変数 0, 1 で表わすと,それが 1 変化するときの平均順位の変化量を検定するのが Spearman 順位相関検定であり,その意味で, U 検定と Spearman 順位相関検定は,ほぼ同様な意味を表すと言える。
ここでは,それを統計ソフト R によるシミュレーションで確認してみよう。
2. U 検定と Spearman 順位相関検定の p 値の比較
データは 2 群(サンプル数 2)で,それぞれのサンプルサイズ を 15 から 40 で変化させて,両検定の p 値を比較した。
以下が, R スクリプトである。
なお,細かいことを言えば, Jonckheere-Terpstra 傾向検定にも言及したほうが良いのだが,それはまた別の機会にすることにした。
#############
k<- 1e+3 # 標本取り出し反復回数
set.seed(1)
p<- replicate(k, {
# サンプルサイズ
n<- sample(15:40, size = 2, replace = TRUE)
# 2 群を表すダミー変数 x
x<- rep(0:1, c(n[1], n[2]))
# データ
y<- runif(n = length(x), 0, 10)
c(
# U 検定
wilcox.test(y ~ x)$p.value,
# Spearman 順位相関検定
cor.test(x, y)$p.value
)
})
par(oma = c(3, 3, 2, 2))
# U 検定と Spearman 順位相関検定 p 値
plot(
p[1, ], p[2, ],
xlab = "U test p-value",
ylab = "Spearman rank correlation p-value",
cex.lab = 1.2,
cex.axis = 1.0
)
abline(0, 1, col = "red")
################
結果は,次の図 1 のとおりである。
U 検定と Spearman 順位相関検定が近い p 値を取ることが分かる。両者は全く異なる状況での検定だと思う人も多いのだが,実際には,どちらも平均順位の差を表す検定なのである。このとき, Spearman 順位相関係数は,その 2 群の平均順位の差が,どのくらい明確に表されるか,という指標と考えられる。