当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy stats.bws_test用法及代码示例


本文简要介绍 python 语言中 scipy.stats.bws_test 的用法。

用法:

scipy.stats.bws_test(x, y, *, alternative='two-sided', method=None)#

对两个独立样本执行 Baumgartner-Weiss-Schindler 测试。

Baumgartner-Weiss-Schindler (BWS) 检验是原假设的非参数检验,即样本 x 的分布与样本 y 的分布相同。与 Kolmogorov-Smirnov、Wilcoxon 和 Cramer-Von Mises 检验不同,BWS 检验通过累积分布函数 (CDF) 差异的方差对积分进行加权,强调分布的尾部,从而提高了检验的功效许多应用程序。

参数

x, y 类数组

一维样本数组。

alternative {‘双面’,‘less’, ‘greater’},可选

定义备择假设。默认为“双面”。令 F(u) 和 G(u) 分别为 x 和 y 基础分布的累积分布函数。那么以下替代假设可用:

  • “双面”:分布不相等,即对于至少一个 u,F(u) ≠ G(u)。

  • ‘less’:x 的分布随机小于 y 的分布,即对于所有 u,F(u) >= G(u)。

  • ‘greater’:x 的分布随机大于 y 的分布,即对于所有 u,F(u) <= G(u)。

在一组更具限制性的假设下,替代假设可以用分布的位置来表达;参见[2]第5.1节。

method 排列方法,可选

配置用于计算 p 值的方法。默认为默认 PermutationMethod 对象。

返回

res PermutationTestResult
具有属性的对象:
statistic 浮点数

观察到的数据检验统计量。

pvalue 浮点数

给定替代方案的 p 值。

null_distribution ndarray

在原假设下生成的检验统计量的值。

注意

什么时候alternative=='two-sided',统计量由以下给出的方程定义[1]第 2 节。这一统计数据不适用于片面的替代方案;在这种情况下,统计数据是消极的由方程给出的[1]第 2 节 因此,当第一个样本的分布随机大于第二个样本的分布时,统计量将趋于为正。

参考

[1] (1,2,3,4,5)

诺伊豪瑟,M.(2005)。基于 Baumgartner-Weiss-Schindler 统计数据的精确测试:调查。统计论文,46(1),1-29。

[2]

Fay, M. P. 和 Proschan, M. A. (2010)。 Wilcoxon-Mann-Whitney还是t-test?关于假设检验的假设和决策规则的多重解释。统计调查,4, 1。

例子

我们按照[1]中表3的例子:14名儿童被随机分为两组。他们在执行特定测试时的排名如下。

>>> import numpy as np
>>> x = [1, 2, 3, 4, 6, 7, 8]
>>> y = [5, 9, 10, 11, 12, 13, 14]

我们使用 BWS 检验来评估两组之间是否存在统计学上的显著差异。原假设是两组之间的绩效分布没有差异。我们决定需要 1% 的显著性水平来拒绝原假设,转而支持分布不同的替代方案。由于样本数量非常少,我们可以将观察到的检验统计量与原假设下检验统计量的精确分布进行比较。

>>> from scipy.stats import bws_test
>>> res = bws_test(x, y)
>>> print(res.statistic)
5.132167152575315

这符合\(B = 5.132\) 报道于[1].这p- 产生的值bws_test也同意\(p = 0.0029\) 报道于[1].

>>> print(res.pvalue)
0.002913752913752914

由于 p 值低于 1% 的阈值,因此我们将此作为反对零假设的证据,支持两组之间的表现存在差异的替代方案。

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.stats.bws_test。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。