scipy.stats.ranksums

scipy.stats.ranksums(x, y, alternative='two-sided', *, axis=0, nan_policy='propagate')[源代码]

计算两个样本的Wilcoxon秩和统计量。

Wilcoxon秩和检验检验两组测量值来自同一分布的零假设。另一种假设是,一个样本中的值更有可能大于另一个样本中的值。

这个测试应该用来比较来自连续分布的两个样本。它不处理x和y中的测量值之间的连接。有关连接处理和可选的连续性校正,请参见 scipy.stats.mannwhitneyu

参数
x,yarray_like

这两个样本的数据。

alternative{‘双面’,‘少’,‘大’},可选

定义了另一种假设。默认值为“双面”。以下选项可用:

  • ‘双面’:分布之一(基础 xy )随机地大于另一个。

  • “Less”:潜在的分布 x 随机性小于基础的分布 y

  • “更大”:潜在的分布 x 随机大于下面的分布 y

1.7.0 新版功能.

axis整型或无,默认值:0

如果为int,则为要沿其计算统计信息的输入轴。输入的每个轴切片(例如行)的统计将出现在输出的相应元素中。如果 None ,则在计算统计数据之前将分解输入。

nan_policy{‘传播’,‘省略’,‘提升’}

定义如何处理输入NAN。

  • propagate :如果沿其计算统计的轴切片(例如行)中存在NaN,则输出的相应条目将为NaN。

  • omit :执行计算时将省略NAN。如果沿其计算统计数据的轴片中剩余的数据不足,则输出的相应条目将为NaN。

  • raise :如果存在NaN,则 ValueError 都会被举起。

退货
statistic浮动

秩和统计量服从正态分布的大样本近似下的检验统计量。

pvalue浮动

测试的p值。

参考文献

1

https://en.wikipedia.org/wiki/Wilcoxon_rank-sum_test

示例

我们可以通过计算Wilcoxon秩和统计量来检验两个独立的、大小不等的样本来自同一分布的假设。

>>> from scipy.stats import ranksums
>>> rng = np.random.default_rng()
>>> sample1 = rng.uniform(-1, 1, 200)
>>> sample2 = rng.uniform(-0.5, 1.5, 300) # a shifted distribution
>>> ranksums(sample1, sample2)
RanksumsResult(statistic=-7.887059, pvalue=3.09390448e-15)  # may vary
>>> ranksums(sample1, sample2, alternative='less')
RanksumsResult(statistic=-7.750585297581713, pvalue=4.573497606342543e-15) # may vary
>>> ranksums(sample1, sample2, alternative='greater')
RanksumsResult(statistic=-7.750585297581713, pvalue=0.9999999999999954) # may vary

小于的p值 0.05 表示此测试在5%的显著性水平上拒绝该假设。