私は今、私が書いた小さな関数でかなり立ち往生しています。次の関数をプログラムに埋め込みたい:
ここで、 はポアソン分布の累積分布関数の畳み込みです。
私が正しければ、次のように畳み込みを計算します。ここで、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