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] 中提出。输入不得超过一个维度。

int 或 None, 默认值: 0

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

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

定义如何处理输入的 NaN。

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

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

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

keepdimsbool, 默认值: False

如果设置为True,被减少的轴将作为尺寸为1的维度保留在结果中。通过此选项,结果将正确地与输入数组进行广播。

返回:
统计浮动

测试统计量。

p值浮动

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

注释

测试两个样本是否由相同的潜在分布生成是统计学中的一个经典问题。广泛使用的测试是基于经验分布函数的Kolmogorov-Smirnov(KS)测试。Epps和Singleton在[R8ab16cf236a2-1]_中介绍了一种基于经验特征函数的测试。

与KS检验相比,ES检验的一个优势在于它不假设连续分布。在[R8ab16cf236a2-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)

T. W. Epps and K. J. Singleton, “An omnibus test for the two-sample problem using the empirical characteristic function”, Journal of Statistical Computation and Simulation 26, p. 177–203, 1986.

[2]

S. J. Goerg and J. Kaiser, “Nonparametric testing of distributions - the Epps-Singleton two-sample test using the empirical characteristic function”, The Stata Journal 9(3), p. 454–465, 2009.