mój problem jest ekstrakcja w najbardziej efektywny sposób N wartości losowych Poissona (RV
), każdy z inną średnią/stopy Lam
. Zasadniczo size(RV) == size(Lam)
.python/Numpy/scipy: Rysowanie Poissona przypadkowe wartości z różnych lambda
Tutaj jest to naiwny (bardzo wolno) realizacja:
import numpy as NP
def multi_rate_poisson(Lam):
rv = NP.zeros(NP.size(Lam))
for i,lam in enumerate(Lam):
rv[i] = NP.random.poisson(lam=lam, size=1)
return rv
, że na moim laptopie, z próbkami 1E6 daje:
Lam = NP.random.rand(1e6) + 1
timeit multi_poisson(Lam)
1 loops, best of 3: 4.82 s per loop
Czy można poprawić z tego?