scipy.stats.

epps_singleton_2samp#

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

计算埃普斯-辛格尔顿 (ES) 检验统计量。

检验两个样本在同一潜在概率分布下的原假设。

参数 :
x, yarray-like

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

t可选,array-like

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

axis可选,int 或 None,默认为 0

如果是 int,则为计算数据统计的输入轴。每个轴切片(例如行)的数据统计都会出现在输出的对应元素中。如果为 None,则在计算数据统计之前,将展开输入。

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

定义如何处理输入中的 NaN。

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

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

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

keepdims布尔值,默认值:False

如果将此项设置为 True,则被缩减的轴会保留在结果中,而维度为一。使用此选项,结果将针对输入数组进行正确广播。

返回值:
statistic浮点数

检验统计量。

pvalue浮点数

基于渐进 chi2 分布的相关 p 值。

另请参见

ks_2sampanderson_ksamp

注意

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

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