scipy.stats.

epps_singleton_2samp#

scipy.stats.epps_singleton_2samp(x, y, t=(0.4, 0.8), *, axis=0, nan_policy='propagate', keepdims=False)[源代码]#

计算 Epps-Singleton (ES) 检验统计量。

检验两个样本是否来自同一基础概率分布的零假设。

参数:
x, y类数组

要检验的两个观测样本。输入不能超过一维。样本可以具有不同的长度,但两者都必须至少有五个观测值。

t类数组,可选

要评估经验特征函数的点 (t1, …, tn)。它应该是正的不同的数字。默认值 (0.4, 0.8) 在 [1] 中提出。输入不能超过一维。

axisint 或 None,默认值:0

如果为 int,则表示计算统计量的输入轴。输入的每个轴切片(例如,行)的统计量将出现在输出的相应元素中。如果为 None,则输入将在计算统计量之前被展平。

nan_policy{‘propagate’, ‘omit’, ‘raise’}

定义如何处理输入 NaN。

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

  • omit: 执行计算时将省略 NaN。 如果在计算统计量的轴切片中保留的数据不足,则输出的相应条目将为 NaN。

  • raise: 如果存在 NaN,将引发 ValueError

keepdimsbool,默认值:False

如果设置为 True,则缩减的轴将作为大小为 1 的维度保留在结果中。使用此选项,结果将正确地广播到输入数组。

返回:
statisticfloat

检验统计量。

pvaluefloat

基于渐近卡方分布的关联 p 值。

另请参阅

ks_2samp, anderson_ksamp

备注

检验两个样本是否由同一基础分布生成是统计学中的一个经典问题。一个广泛使用的检验是 Kolmogorov-Smirnov (KS) 检验,它依赖于经验分布函数。Epps 和 Singleton 在 [1] 中引入了一个基于经验特征函数的检验。

与 KS 检验相比,ES 检验的一个优点是它不假设连续分布。在 [1] 中,作者得出结论,在许多示例中,该检验也比 KS 检验具有更高的功效。他们建议对离散样本以及每个至少有 25 个观测值的连续样本使用 ES 检验,而 anderson_ksamp 建议用于连续情况下较小的样本量。

p 值是从检验统计量的渐近分布计算出来的,该分布遵循 chi2 分布。如果 xy 的样本量都小于 25,则将 [1] 中提出的小样本校正应用于检验统计量。

t 的默认值在 [1] 中通过考虑各种分布并找到通常导致检验具有高功效的良好值来确定。[1] 中的表 III 给出了该研究中测试的分布的最佳值。t 的值在实现中按半四分位距缩放,请参见 [1]

从 SciPy 1.9 开始,np.matrix 输入(不建议用于新代码)在执行计算之前会转换为 np.ndarray。在这种情况下,输出将是标量或适当形状的 np.ndarray,而不是 2D 的 np.matrix。类似地,虽然会忽略掩码数组的掩码元素,但输出将是标量或 np.ndarray,而不是 mask=False 的掩码数组。

参考文献

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

T. W. Epps 和 K. J. Singleton,“使用经验特征函数的双样本问题的综合检验”,《统计计算和模拟杂志》26,第 177–203 页,1986 年。

[2]

S. J. Goerg 和 J. Kaiser,“分布的非参数检验 - 使用经验特征函数的 Epps-Singleton 双样本检验”,《Stata 杂志》9(3),第 454–465 页,2009 年。