読者です 読者をやめる 読者になる 読者になる

技術メモ

役に立てる技術的な何か、時々自分用の覚書。統計学、機械学習、神経科学、暗号理論...と幅広く興味があります。

pythonでマンホイットニーのU検定

pythonでマンホイットニーのU検定する方法。
scipyを使う。

from scipy import stats
stats.mannwhitneyu(x, y, use_continuity=True, alternative=None)

alternativeは'less','greater','two-sided'。Noneの時は'two-sided'
p値は返り値のpvalueで取れる。

  • テストコード
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

# data generate
x = np.random.normal(0,10,size=100)
y = np.random.normal(5,10,size=100)

# visualize
bins = np.linspace(-40,50,18)
plt.hist(x,bins,alpha=0.5)
plt.hist(y,bins,alpha=0.5)

# hypothesis testing
result = stats.mannwhitneyu(x,y)
print(result.pvalue)

plt.show()

0.000717788454812
f:id:swdrsker:20161207034015p:plain:w450


参考サイト:
scipy.stats.mannwhitneyu — SciPy v0.19.0 Reference Guide

関連: