Binomial 与 Poisson 分布的关系
您刚刚了解到,对于稀有事件,Poisson 分布可以看作 Binomial 分布的极限。从"故事"的角度理解也很合理。假设我们在 1 小时内每分钟做一次 Bernoulli 试验,每次成功概率为 0.1。我们会做 60 次试验,成功次数服从 Binomial 分布,期望大约有 6 次成功。这与视频中提到的 Poisson 故事类似:一个网站平均每小时有 6 次访问。因此,当进行 \(n\) 次 Bernoulli 试验且成功概率为 \(p\) 时,参数为 \(np\) 的 Poisson 分布可以近似该 Binomial 分布(当 \(n\) 很大且 \(p\) 很小时)。重要的是,Poisson 分布通常更易于使用,因为它只有 1 个参数,而 Binomial 分布有 2 个参数。
让我们用计算的方法来探索这两个分布。您将先对到达率为 10 的 Poisson 分布样本计算均值和标准差。然后,您将对满足 \(np = 10\) 的一组 Binomial 分布(具有参数 \(n\) 和 $p$)的样本计算均值和标准差。
本练习是课程的一部分
Python 中的统计思维(第 1 部分)
练习说明
- 使用
rng.poisson()函数,从均值为10的 Poisson 分布中抽取10000个样本。 - 为 Binomial 分布要考虑的取值创建
n和p的列表。选择n = [20, 100, 1000]和p = [0.5, 0.1, 0.01],使得 \(np\) 始终为 10。 - 在提供的
for循环中使用rng.binomial(),对每个n, p组合各抽取10000个来自 Binomial 分布的样本,并打印这些样本的均值和标准差。共有 3 个n, p组合:20, 0.5、100, 0.1和1000, 0.01。循环内可通过n[i], p[i]访问。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Draw 10,000 samples out of Poisson distribution: samples_poisson
# Print the mean and standard deviation
print('Poisson: ', np.mean(samples_poisson),
np.std(samples_poisson))
# Specify values of n and p to consider for Binomial: n, p
# Draw 10,000 samples for each n,p pair: samples_binomial
for i in range(3):
samples_binomial = ____
# Print results
print('n =', n[i], 'Binom:', np.mean(samples_binomial),
np.std(samples_binomial))