statsmodels.sandbox.stats.runs.runstest_2samp

statsmodels.sandbox.stats.runs.runstest_2samp(x, y=None, groups=None, correction=True)[source]

Wald-Wolfowitz 两样本游程检验

此测试用于判断两个样本是否来自同一分布。

Parameters:
xarray_like

数据,数值型,如果同时提供了 y,则包含一个组,或者如果还提供了组指示符,则包含两个组

yarray_like (optional)

数据, 数值

groupsarray_like

组标签或指示器,两个组的数据都以一个单一的1维数组x给出。如果组标签不是[0,1],那么

correctionbool

根据SAS手册,对于样本量小于50的情况,检验统计量会通过0.5进行修正。可以通过设置correction=False来关闭此修正,此修正的目的是为了与R、tseries匹配,因为它们不使用任何修正。

Returns:
z_statfloat

测试统计量,渐近正态分布

p-valuefloat

p值,如果低于第一类错误水平alpha,则拒绝原假设。

另请参阅

runs_test_1samp
Runs
RunsProb

注释

Wald-Wolfowitz 游程检验。

如果有平局,那么报告的检验统计量和p值是基于在同一组中所有平局观测值排序后较高的p值

此测试适用于连续分布 SAS 对平局有处理方法,但不够清晰,听起来更复杂 (最小和最大可能的游程数防止了使用 argsort) (也许并不那么困难,思路:对第一个添加小的正噪声,运行测试,然后对另一个添加,运行测试,取 max(?) p 值 - 已完成 这并不能得到游程数的最小值和最大值,但应该接近。不正确,这接近最小值但远离最大值。 最大游程数将使用平局中的交替组。) 也许添加随机噪声会是更好的方法。

SAS 对样本大小 <=30 有精确分布,虽然看起来不标准,但应该很容易添加。

目前仅支持双侧检验

这尚未与参考实现进行验证。在一个简短的蒙特卡罗模拟中,当两个样本均为正态分布时,该检验似乎在观测数量较大(30或更大)时能正确地进行大小调整,但在每组样本大小为10时则较为保守(即拒绝的频率低于名义值)。


Last update: Oct 16, 2024