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