【发布时间】:2013-12-30 01:48:32
【问题描述】:
使用 2 样本 Kolmogorov Smirnov 检验,我得到的 p 值为 0.0。
>>>scipy.stats.ks_2samp(dataset1, dataset2)
(0.65296076312083573, 0.0)
查看 2 个数据集的直方图,我非常确信它们代表了两个不同的数据集。但是,真的,p = 0.0?这似乎没有意义。不应该是一个很小的正数吗?
我知道返回值是 numpy.float64 类型的。和这有关系吗?
编辑: 数据在这里:https://www.dropbox.com/s/jpixhz0pcybyh1t/data4stack.csv
scipy.version.full_version
'0.13.2'
【问题讨论】:
-
小于某个阈值的数字无法通过浮点类型与 0 进行区分。该阈值因类型而异,但总有一个阈值,显然您的 p 值低于它,因此它显示为零。
-
@BrenBarn 但是在 scipy 的情况下阈值有多小? P=0 不是很令人满意。我正在寻找更准确的陈述,例如 P
-
很确定你不会得到那么小的东西。它可能因您的平台而异,但我认为您使用 numpy 获得的最小数量级为 1E-16。你可以看看
numpy.finfo。 -
我认为这里的答案是:真的。
标签: python statistics scipy