为什么scipy.stats.ketest的p值随着样本数量的增加而下降?

jjjwad0x  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(100)

现在我正在处理一个时间序列事件,并希望显示它不是随机生成的事件。为此,我试图在scipy中使用kstest。顺便说一下,我有一个关于泊松分布的cipy.stats.kstest的问题,如下所示

  • 代码1
from scipy.stats import poisson, kstest

noPts = 100 # <<<<<<<<<<<<---------------
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.18677614630310613 0.0015821590670650476

字符串
代码2

from scipy.stats import poisson, kstest

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.13477614630310608 2.6511802749311937e-16


我期望更多的数据点将导致两个分布之间更精确的统计匹配(poisson.rvs vs. kstest(Poisson).是的,ks_statistics正在变小。但是p值变得非常小,这拒绝了零假设,这非常奇怪,因为两个分布是具有相同参数的相同“泊松”。我做错了什么?
有人能理解并解释一下这里的差异吗?

zfciruhq

zfciruhq1#

kstest的文档说它只对连续分布有效。泊松分布是离散的。

相关问题