我的问题是以最有效的方式提取 N Poisson 随机值 ( RV
),每个值都有不同的 mean/rate Lam
。基本上是size(RV) == size(Lam)
.
这是一个幼稚(非常慢)的实现:
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
那,在我的笔记本电脑上,有 1e6 个样本给出:
Lam = NP.random.rand(1e6) + 1
timeit multi_poisson(Lam)
1 loops, best of 3: 4.82 s per loop
是否有可能从中改进?