如何使用 python 执行 mann-whitney u 检验
当样本分布不呈正态分布且样本量较小 (n < 30) 时, Mann -Whitney U 检验用于比较两个样本之间的差异。
它被认为是双样本 t 检验的非参数等效项。
本教程介绍如何在 Python 中执行 Mann-Whitney U 测试。
示例:Python 中的 Mann-Whitney U 测试
研究人员想知道燃油处理是否会导致汽车平均英里/加仑的变化。为了测试这一点,他们测量了 12 辆经过燃油处理的汽车和 12 辆未经燃油处理的汽车的每加仑英里数。
由于样本量很小,并且研究人员怀疑样本分布不是正态分布,因此他们决定进行 Mann-Whitney U 检验,以确定两组之间的 mpg 是否存在统计上的显着差异。
完成以下步骤以在 Python 中执行 Mann-Whitney U 测试。
第 1 步:创建数据。
首先,我们将创建两个表来保存每个汽车组的 mpg 值:
group1 = [20, 23, 21, 25, 18, 17, 18, 24, 20, 24, 23, 19] group2 = [24, 25, 21, 22, 23, 18, 17, 28, 24, 27, 21, 23]
步骤 2:执行 Mann-Whitney U 检验。
接下来,我们将使用 scipy.stats 库中的mannwhitneyu() 函数来执行 Mann-Whitney U 测试,该测试使用以下语法:
mannwhitneyu(x, y, use_连续性=真, 替代=无)
金子:
- x:第 1 组的样本观察表
- y:第 2 组的样本观测值表
- use_连续性:是否必须考虑连续性校正(1/2)。默认值为 True。
- 替代:定义替代假设。默认值为“无”,它计算的 p 值是“双尾”p 值的一半。其他选项包括“双面”、“更少”和“加”。
以下是在我们的具体示例中如何使用此函数:
import scipy.stats as stats #perform the Mann-Whitney U test stats. mannwhitneyu (group1, group2, alternative=' two-sided ') (statistic=50.0, pvalue=0.2114)
检验统计量为50.0 ,相应的双尾 p 值为0.2114 。
第 3 步:解释结果。
在此示例中,Mann-Whitney U 检验使用以下原假设和备择假设:
H 0 :两组间 MPG 相等
H A :两组之间的 MPG不相等
由于 p 值 ( 0.2114 ) 不小于 0.05,因此我们无法拒绝原假设。
这意味着我们没有足够的证据表明两组之间的真实平均英里数不同。
其他资源
以下教程解释了如何在不同的统计软件中执行 Mann-Whitney U 检验:
如何在 Excel 中执行曼-惠特尼 U 检验
如何在 R 中执行 Mann-Whitney U 检验
如何在 SPSS 中执行 Mann-Whitney U 检验