Scipy quad与cdf作为差分集成

时间:2016-12-01 16:32:38

标签: python-3.x math scipy poisson quad

我现在非常困难,我写了一点功能。我想将以下函数嵌入到我的程序中:

其中是泊松分布累积分布函数的卷积。

如果我做对了,我会像这样计算卷积,其中k是区间中的事件数,Mu就是平均值,例如5和j是卷积数:

from scipy.stats import poisson
poisson.cdf(k, (Mu * (1 + i)))

功能D看起来像这样:

这是在python中完成的:

def D(k, y, i):
    y = y - k
    return (2 * max(0, y) - 10 min(0, y)) * poisson.cdf(k, (Mu * (1 + i)))

现在我遇到的棘手问题是,如何使用cdf来获得积分。目前我正试图这样做,但我不知道如何继续:

from scipy.integrate import quad
def Integrate(i, y):
    return quad(D, 0, np.inf, args=(y, i))[0]

如果有人知道如何做到这一点,我真的很感激:)

修改 为了检查cdf的卷积是否正确,我做了这个:

print(poisson.pmf(0,(Mu * (1 + i))) + poisson.pmf(1,(Mu * (1 + i))))
>>> 0.445679641365
print(poisson.cdf(1,(Mu * (1 + i))))
>>> 0.445679641365

0 个答案:

没有答案