Il mio problema è estrarre nel modo più efficiente i valori casuali di N Poisson (RV
) ciascuno con un diverso rapporto/tariffa Lam
. Fondamentalmente il size(RV) == size(Lam)
.Python/Numpy/Scipy: disegna i valori casuali di Poisson con lambda diverso
Qui si tratta di un ingenuo (molto lento) implementazione:
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
Che, sul mio portatile, con i campioni 1E6 dà:
Lam = NP.random.rand(1e6) + 1
timeit multi_poisson(Lam)
1 loops, best of 3: 4.82 s per loop
E 'possibile migliorare da questo?