ウィルコクソンの符号付き順位検定

はじめに

ウィルコクソンの符号付き順位検定は、対応のある2群間の代表値の差の検定に用いられます。

t検定との違い

t検定と違い、正規分布を仮定していません。そのため母集団が正規分布に従っている場合は、検出力の観点でt検定に劣ることになります。

検出力

検出力とは、第2種の過誤(帰無仮説が誤っているのに、帰無仮説を棄却できないこと)を犯さない確率のことです

コード

では両者の検出力をシミュレーションで比較してみましょう。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import numpy as np
from scipy import stats

n = 10000
sample_size = 10
diffs = 1 + np.random.normal(size=(n, sample_size))
result = []
alpha = 0.05

# t検定
for diff in diffs:
_, p = stats.ttest_1samp(diff, 0)
result.append(p < alpha)
print ('検出力: {}'.format(np.mean(result)))

# ウィルコクソンの符号付き順位検定
result = []
for diff in diffs:
_, p = stats.wilcoxon(diff)
result.append(p < alpha)
print ('検出力: {}'.format(np.mean(result)))

参考

ソースコードは以下の書籍を参考にさせてもらいました。Pythonで統計学を学べるおすすめ書籍です。

記事情報

  • 投稿日:2020年12月5日
  • 最終更新日:2020年12月5日