一些例子可能会说明如何使用scipy.stats.kstest.让我们首先设置一些测试数据,例如通常以平均值5和标准差10分布:
>>> data = scipy.stats.norm.rvs(loc=5, scale=10, size=(1000,))
为了对这些数据运行kstest,我们需要一个函数f(x),它取一个分位数组,并返回累积分布函数的相应值.如果我们重用scipy.stats.norm的cdf函数,我们可以这样做:
>>> scipy.stats.kstest(data, lambda x: scipy.stats.norm.cdf(x, loc=5, scale=10))
(0.019340993719575206, 0.84853828416694665)
以上通常会以更方便的形式运行:
>>> scipy.stats.kstest(data, 'norm', args=(5, 10))
(0.019340993719575206, 0.84853828416694665)
如果我们有统一分布的数据,很容易手工构建cdf:
>>> data = np.random.rand(1000)
>>> scipy.stats.kstest(data, lambda x: x)
(0.019145675289412523, 0.85699937276355065)