当前位置:  开发笔记 > 编程语言 > 正文

计算泊松概率百分比

如何解决《计算泊松概率百分比》经验,为你挑选了2个好方法。

在Excel(或OpenOffice Calc)中使用POISSON函数时,它需要两个参数:

整数

一个'平均'数字

并返回一个浮点数.

在Python(我尝试过RandomArray和NumPy)中,它返回一个随机泊松数的数组.我真正想要的是这个事件将发生的百分比(它是一个常数,并且数组每次都有不同的数字 - 所以它是一个平均数?).

例如:

print poisson(2.6,6)

返回[1 3 3 0 1 3](每次运行它都会有所不同).

我从calc/excel得到的数字是3.19(POISSON(6,2.16,0)*100).

我使用python的poisson错误(没有双关语!)或者我错过了什么?



1> Alex Coventr..:

scipy 有你想要的

>>> scipy.stats.distributions

>>> scipy.stats.distributions.poisson.pmf(6, 2.6)
array(0.031867055625524499)

值得一提的是,它很容易通过手来计算,太.


替代导入将是:`来自scipy.stats import poisson`然后`poisson.pmf(6,2.6)`= 0.031867055625524499

2> Ned Batcheld..:

这很容易手工完成,但你可以这样做.您可以在循环中执行指数和阶乘以避免溢出:

def poisson_probability(actual, mean):
    # naive:   math.exp(-mean) * mean**actual / factorial(actual)

    # iterative, to keep the components from getting too large or small:
    p = math.exp(-mean)
    for i in xrange(actual):
        p *= mean
        p /= i+1
    return p

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有