2
使用2样本Kolmogorov Smirnov测试,我得到0.0的p值。scipy p值返回0.0
>>>scipy.stats.ks_2samp(dataset1, dataset2)
(0.65296076312083573, 0.0)
看看这两个数据集的直方图,我非常有信心他们代表两个不同的数据集。但是,真的,p = 0.0?这似乎没有道理。它不应该是一个非常小但正面的数字吗?
我知道返回值是numpy.float64类型。这与它有什么关系?
编辑: 数据这里:https://www.dropbox.com/s/jpixhz0pcybyh1t/data4stack.csv
scipy.version.full_version
'0.13.2'
号不能由浮点类型从0区分。该阈值随着类型而变化,但总是有一个阈值,显然你的p值低于它,所以它显示为零。 – BrenBarn
@BrenBarn但是在scipy的情况下,阈值有多小? P = 0不是很满意。我正在寻找更准确的声明,如P <1E-293。 – James
很确定你不会得到那么小的东西。它可能因你的平台而异,但我认为你用numpy得到的最小尺寸是1E-16。你可以看看['numpy.finfo'](https://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.finfo.html)。 – BrenBarn