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 检验通过累积分布函数 (CDFs) 差异的方差来加权积分,强调了分布的尾部,这在许多应用中增加了检验的功效。
- 参数:
- x, y类似数组
样本的一维数组。
- 替代方案{‘双侧’, ‘小于’, ‘大于’}, 可选
定义备择假设。默认是 ‘two-sided’。设 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节。
- 方法PermutationMethod, 可选
配置用于计算p值的方法。默认使用默认的
PermutationMethod
对象。
- 返回:
- resPermutationTestResult
- 一个带有属性的对象:
- 统计浮动
数据的观测测试统计量。
- p值浮动
给定替代假设的p值。
- null_distributionndarray
在零假设下生成的检验统计量的值。
注释
当
alternative=='two-sided'
时,统计量由 [1] 第2节中的方程定义。该统计量不适用于单侧替代;在这种情况下,统计量是 [1] 第2节中方程给出的 负 值。因此,当第一个样本的分布在概率上大于第二个样本的分布时,统计量往往会为正值。参考文献
[2]Fay, M. P., & Proschan, M. A. (2010). Wilcoxon-Mann-Whitney 还是 t 检验?关于假设检验的假设和决策规则的多重解释。统计调查, 4, 1.
示例
我们遵循 [1] 中表3的示例:十四名儿童被随机分成两组。他们在特定测试中的排名如下。
>>> 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
这与 [1] 中报告的 \(B = 5.132\) 一致。
bws_test
生成的 p-值也与 [1] 中报告的 \(p = 0.0029\) 一致。>>> print(res.pvalue) 0.002913752913752914
因为p值低于我们1%的阈值,我们将其视为反对零假设的证据,支持备择假设,即两组之间的表现存在差异。