gpt4 book ai didi

python - scipy kstest 在不同范围内不一致

转载 作者:行者123 更新时间:2023-11-28 22:30:27 36 4
gpt4 key购买 nike

好的,所以我尝试使用 kstest 的 scipys 实现作为评估哪种分布最适合数据的方法。我对 kstest 工作原理的理解是,统计数据代表零假设的概率(即返回的概率是所讨论的模型对数据错误的概率)。对于 0.0 和 1.0 之间的均匀分布,这与预期的一样有效

a = np.random.uniform(size=4999)

print(scipy.stats.kstest(a, 'uniform', args=(0.0,1.0)))

KstestResult(statistic=0.010517039009963702, pvalue=0.63796173656227928)

但是,当我将均匀分布边界从 (0.0, 1.0) 移动到 (2.0,3.0) 时,K-S 统计量出奇地高

a = np.random.uniform(2.0, 3.0,size=4999)

print(scipy.stats.kstest(a, 'uniform', args=(2.0,3.0)))

KstestResult(statistic=0.66671700832788283, pvalue=0.0)

第二种情况下的检验统计值不应该也很低吗,因为传递的参数和以前一样接近分布?

最佳答案

uniformnumpy(由您使用)和 scipy.stats(由 ks 测试使用)版本的工作方式不同:

>>> np.random.uniform(2,3,5000).max()
2.9999333044165271
>>> stats.uniform(2,3).rvs(5000).max()
4.9995316751114043

numpy 中,第二个参数被解释为上限,在 scipy.stats 中,它是 scale 参数,即宽度。

关于python - scipy kstest 在不同范围内不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42183717/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com