如何从泊松分布中随机抽取样本?

4

我有一组非常大的整数X和一个概率p,我想要从X中按照泊松分布抽取样本s(一个数字)。例如,如果X=10^8p=0.05,那么我期望s是我们得到的头的数量。

我可以很容易地使用random.binomial来实现:

s=np.random.binomial(n=X, p=p)

我该怎样使用random.poisson函数来实现相同的想法?
2个回答

2

只需将pX相乘即可:

np.random.poisson(10**8 * 0.05)

得到超过10的8次方的概率在数值上等于零。

@pjs教授强调,我们将概率和数字结合成为泊松过程的参数。

值得一提的是,对于这么大的数字,二项式分布和泊松分布的概率质量函数非常相似,而且(使用概率函数或工程师所称的“cdf”)也接近于高斯分布。


-2

5和10 ** 4来自哪里? - pjs
我从numpy文档中的示例中复制了它 - 现在已经修复了 :) - Fredz0r
我希望您意识到,速率(lam)并不是概率。 - pjs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接