在(Y1,Y2)的两个样本 Kolmogorov-Smirnov 检验中,我想知道 Y 的临界值,它使 KS 值(有时称为 D)最大化。
但是,ks_2samp
仅返回D
和p-value
.See scipy.stats.ks_2samp¶
。
是否有任何软件包可以进行两个样本 Kolmogorov–Smirnov 测试并为我返回 Y 的临界值?
在(Y1,Y2)的两个样本 Kolmogorov-Smirnov 检验中,我想知道 Y 的临界值,它使 KS 值(有时称为 D)最大化。
但是,ks_2samp
仅返回D
和p-value
.See scipy.stats.ks_2samp¶
。
是否有任何软件包可以进行两个样本 Kolmogorov–Smirnov 测试并为我返回 Y 的临界值?
我阅读了scipy.stats.ks_2samp
源代码,并将其更改为
def ks_2samp_val(data1, data2):
data1 = np.sort(data1)
data2 = np.sort(data2)
n1 = data1.shape[0]
n2 = data2.shape[0]
data_all = np.concatenate([data1, data2])
cdf1 = np.searchsorted(data1, data_all, side='right') / (1.0*n1)
cdf2 = np.searchsorted(data2, data_all, side='right') / (1.0*n2)
return data_all[np.argmax(np.absolute(cdf1 - cdf2))]
这对我有用