小编Scr*_*die的帖子

Scipy stats 概率大于 1

我正在计算二项式概率质量函数的值,发现当将极端参数传递给 pmf 时,它们的总和超过 1。

参见示例:

from scipy.stats import binom
n = 1541096362225563.0
p = 1.0477878413173978e-18
vals = [binom.pmf(n=n, p=p, k=i) for i in range(3)]
print(vals)  # -> [0.9983865609638467, 1.0, 0.060730098812886574]
Run Code Online (Sandbox Code Playgroud)

我可以看到如何将 1.0 作为错误过滤掉,但即使其余值的总和也超过 1。就我的目的而言,我不介意 之类的数值不精确性np.finfo(np.float16).eps,但该示例显然更加极端。有没有好的办法来处理这个问题呢?

python precision distribution scipy.stats

1
推荐指数
1
解决办法
242
查看次数

标签 统计

distribution ×1

precision ×1

python ×1

scipy.stats ×1