【发布时间】:2020-11-19 19:43:03
【问题描述】:
非常简单的测试:
- 使用泊松分布生成数字的随机分布。使用 KS 检验确定它是否符合泊松分布。
- 使用泊松分布生成 (x2) 个随机数字分布。使用 (x2) 面 KS 测试来确定它们是否相同。
从上面看,(1) 给出 low p 值,而 (2) 给出 high p 值。为什么?
1 的代码
from scipy.stats import kstest, poisson
noPts = 1000
lambdaPoisson = 10
my_data = poisson.rvs(size = noPts, mu = lambdaPoisson)
ks_statistic, p_value = kstest(my_data, 'poisson', args=(lambdaPoisson,0))
print(ks_statistic, p_value)
结果:0.1239297144718523 7.61680985798287e-14
2 代码
from scipy.stats import ks_2samp, poisson
noPts = 1000
lambdaPoisson = 10
my_data1 = poisson.rvs(size = noPts, mu = lambdaPoisson)
my_data2 = poisson.rvs(size = noPts*1000, mu = lambdaPoisson)
ks_statistic, p_value = ks_2samp(my_data1, my_data2)
print(ks_statistic, p_value)
结果:0.023672000000000026 0.6301973762116004
【问题讨论】:
-
答案应该是'因为泊松分布不连续......使用卡方'。但是,使用卡方会给出相同的结果。与理想的泊松分布相比,具有泊松分布的随机选择的数字的 p 值不高。
标签: python scipy poisson kolmogorov-smirnov