1

我想通过将数据与已缩放的均匀分布进行比较来对我的数据执行 KS 测试。

如何仅将比例参数传递给 scipy.stats.kstest 中的参数(不传递任何其他参数)?我希望它采用其他参数的默认值(例如:loc)

请参阅:
1. https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.uniform.html
2. https://docs.scipy.org/doc/scipy/reference/generated/scipy .stats.kstest.html

我尝试了以下但它没有工作(无效的语法)

stats.kstest(data, 'uniform',args=(scale=15.0))
4

1 回答 1

0

In this case, create a lambda for the distribution you want and divide the x parameter by the desired scale. An example follows:

import random
import scipy.stats as stats
data=[random.random()*15 for i in range(10000)]
stats.kstest(data, lambda x: stats.uniform.cdf(x/15.0))

An alternative approach, which works for the distributions found in SciPy:

stats.kstest(data, lambda x: stats.uniform.cdf(x,scale=15.0))
于 2020-08-05T20:54:11.747 回答