scipy.stats.wilcoxon

scipy.stats.wilcoxon(x, y=None, zero_method='wilcox', correction=False, alternative='two-sided', mode='auto', *, axis=0, nan_policy='propagate')[源代码]

计算Wilcoxon符号秩检验。

Wilcoxon符号秩检验检验两个相关配对样本来自同一分布的零假设。特别地,它测试差值x-y的分布是否关于零对称。它是配对T检验的非参数版本。

参数
xarray_like

第一组测量(在这种情况下 y 是第二组测量),还是两组测量之间的差异(在这种情况下 y 将不会被指定。)必须是一维的。

yARRAY_LIKE,可选

第二组测量(如果 x 是第一组测量),或未指定(如果 x 是两组测量之间的差异。)必须是一维的。

zero_method{“Pratt”,“Wilcox”,“zplit”},可选

以下选项可用(默认为“Wilcox”):

  • “pratt”:在排名过程中包括零差,但去掉了零的排名,请参见 [4], (更保守)。

  • “Wilcox”:放弃所有零差,默认设置。

  • “zplit”:包括排名过程中的零差,并将零的排名分为正负排名。

correction布尔值,可选

如果为True,则如果使用法线近似,则在计算z统计量时,通过将Wilcoxon秩统计向平均值调整0.5来应用连续性校正。默认值为False。

alternative{“双面”,“大”,“小”},选填

待检验的另一种假设,参见注释。默认值为“双面”。

mode{“自动”,“精确”,“近似”}

方法来计算p值,请参见备注。默认值为“AUTO”。

axis整型或无,默认值:0

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

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

定义如何处理输入NAN。

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

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

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

退货
statistic浮动

如果 alternative 是“两面的”,是零以上或零以下的差额之和,以较小者为准。否则,差值的等级之和大于零。

pvalue浮动

测试的p值取决于 alternativemode

注意事项

这项测试已在 [4]. 给定来自二元分布的n个独立样本(xi,yi)(即配对样本),它计算差值di=xi-yi。测试的一个假设是差异是对称的,请参见 [2]. 双侧检验有零假设,即差值的中位数为零,而另一种选择是不同于零的。单边检验有一个零假设,即中位数为正,而另一个中位数为负。 (alternative == 'less' ),反之亦然 (alternative == 'greater.' )。

为了得到p值,精确的分布 (mode == 'exact' )可用于最多25个样本大小。默认设置 mode == 'auto' 如果最多有25个观测值且没有关联,则使用精确分布,否则使用正态近似 (mode == 'approx' )。

系带的处理可以由参数控制 zero_method 。如果 zero_method == 'pratt' ,则调整法线近似,如中所示 [5]. 典型的规则是要求n>20 ([2], 第383页)。

参考文献

1

https://en.wikipedia.org/wiki/Wilcoxon_signed-rank_test

2(1,2)

“实用非参数统计”,1971年。

3

普雷特,J.W.,“关于威尔科克森签署的排名程序中的零和平局的评论”,“美国统计协会杂志”,第54卷,1959年,第655-667页。 DOI:10.1080/01621459.1959.10501526

4(1,2,3)

“通过排序方法进行个体比较”,“生物统计学公报”,第1卷,1945年,第80-83页。 DOI:10.2307/3001968

5

Cureton,E.E.,“存在零差时符号秩抽样分布的正态近似”,“美国统计协会杂志”,第62卷,1967年,第1068-1069页。 DOI:10.1080/01621459.1967.10500917

示例

在……里面 [4], 杂交和自交玉米植株的高度差异如下:

>>> d = [6, 8, 14, 16, 23, 24, 28, 29, 41, -48, 49, 56, 60, -67, 75]

异花授粉的植株似乎更高。要检验没有高度差异的零假设,我们可以应用双侧检验:

>>> from scipy.stats import wilcoxon
>>> w, p = wilcoxon(d)
>>> w, p
(24.0, 0.041259765625)

因此,我们会在5%的置信水平上拒绝零假设,得出的结论是两组人的身高存在差异。要确认差值的中位数可以假定为正,我们使用:

>>> w, p = wilcoxon(d, alternative='greater')
>>> w, p
(96.0, 0.0206298828125)

这表明,在5%的置信度水平下,可以拒绝中位数为负的零假设,转而支持中位数大于零的替代方案。上面的p值是精确的。使用法线近似会产生非常相似的值:

>>> w, p = wilcoxon(d, mode='approx')
>>> w, p
(24.0, 0.04088813291185591)

请注意,在单边情况下,统计数据变为96(正差异的秩和),而在双边情况下为24(零上下的秩和的最小值)。