如何使用 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 检验

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注