0

私は今、私が書いた小さな関数でかなり立ち往生しています。次の関数をプログラムに埋め込みたい:

ここで、 はポアソン分布の累積分布関数の畳み込みです。

私が正しければ、次のように畳み込みを計算します。ここで、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
4

0 に答える 0