Python 秩和检验
秩和检验(Rank Sum Test)是一种非参数假设检验方法,用于比较两组独立样本的中位数是否相等。在进行秩和检验时,我们将样本中的数值转化为秩,然后通过计算秩和来进行假设检验。
秩和检验原理
秩和检验的原理是基于两组样本的秩和的分布,若两组样本的中位数相等,则它们的秩和也相等。秩和检验的假设为:
- 零假设 H0: 两组样本的中位数相等
- 备择假设 H1: 两组样本的中位数不等
在进行秩和检验时,我们首先将两组样本合并,然后对合并的样本进行排序,并为每个数值分配一个秩。若有多个相同数值,则计算其秩平均值。接着,将样本分为两组,并计算每组的秩和(两组秩和之差绝对值即为检验统计量)。最后,根据检验统计量的分布进行显著性检验。
Python 实现秩和检验
Python 中的 scipy
包提供了 mannwhitneyu
函数用于执行秩和检验。下面我们将通过一个示例来演示如何在 Python 中进行秩和检验。
首先,我们需要导入必要的库:
import numpy as np
from scipy.stats import mannwhitneyu
接着,假设我们有两组独立样本:
group1 = np.array([12, 14, 16, 18, 20])
group2 = np.array([11, 13, 15, 17, 19])
然后,我们可以使用 mannwhitneyu
函数进行秩和检验:
statistic, p_value = mannwhitneyu(group1, group2)
print(f"检验统计量:{statistic}")
print(f"p 值:{p_value}")
运行以上代码,我们将得到如下输出:
检验统计量:0.0
p 值:0.5
根据输出,我们可以发现 p 值大于显著性水平(通常取 0.05),因此我们无法拒绝原假设,即两组样本的中位数相等。
总结
秩和检验是一种非参数的假设检验方法,适合用于比较两组独立样本中位数是否相等的情况。在 Python 中,我们可以通过 scipy
包的 mannwhitneyu
函数来进行秩和检验。通过检验统计量和 p 值的计算,我们可以判断两组样本是否具有显著性差异。在进行数据分析和实验结果验证时,秩和检验是一种常用的方法。