首页 > 解决方案 > 如何从泊松分布中抽取随机样本?

问题描述

我有许多X整数(非常大)和一个概率 p,我想用它从泊松分布中抽取一个样本s(一个数字) 。X例如,如果X = 10^8p=0.05,我希望 s 是我们得到的正面数。

我可以使用 random.binomial 轻松做到这一点:

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

如何使用相同的想法random.poisson

标签: pythonnumpyprobabilitydistributionpoisson

解决方案


只需乘以pX

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

获得超过 10**8 的概率在数值上为零。

@pjs 教授强调,我们正在将概率和数字组合成一个速率,这是泊松过程的参数。

进一步值得一提的是,对于如此大的数字,您会发现二项式和泊松的 pmf 彼此非常相似,并且(使用概率函数或工程师称之为“cdf”)与高斯非常相似。


推荐阅读