0

在(Y1,Y2)的两个样本 Kolmogorov-Smirnov 检验中,我想知道 Y 的临界值,它使 KS 值(有时称为 D)最大化。

但是,ks_2samp仅返回Dp-value.See scipy.stats.ks_2samp¶

是否有任何软件包可以进行两个样本 Kolmogorov–Smirnov 测试并为我返回 Y 的临界值?

4

1 回答 1

0

我阅读了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))]

这对我有用

于 2017-09-06T02:12:53.720 回答