二项分布近似成泊松分布、正态分布

多次听到二项分布与泊松分布、正态分布的近似关系,决定写一个博客总结一下。

二项分布 B ( n , p ) \mathrm{B}(n,p) B(n,p),有两个参数, n n n 表示独立实验的次数,而 p p p 表示单次实验成功的概率。一个形象的例子是:抽检 n n n 个产品,其中有 k 个合格品的概率为

Pr ⁡ ( x = k ) = C n k p k ( 1 − p ) n − k \Pr(x=k)=C_n^kp^k(1-p)^{n-k} Pr(x=k)=Cnkpk(1p)nk

近似成泊松或正态分布有这两个特点:

  • n n n 很大, p p p 很小,近似成泊松分布 ( λ = n p \lambda=np λ=np, 可以根据上面的概率密度表达式推出来,求出 n 趋于无穷大时, p p p 很小时的极限)
  • n n n 很大, p p p 不是很小,近似成正态分布

1. 近似为泊松分布

n ≥ 100 n\geq 100 n100 p ≤ 0.1 p\leq 0.1 p0.1 n ≥ 20 n\geq 20 n20 p ≤ 0.05 p\leq 0.05 p0.05 时,二项分布可以近似为泊松分布,并且泊松分布的参数值 λ = n p \lambda=np λ=np.

见下面的概率密度函数图形:

在这里插入图片描述
在这里插入图片描述
确实也挺接近的。

代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Jul 11 16:31:16 2022

@author: chen
"""

import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st

n = 100
p = 0.1

x = np.arange(1, 2*n*p)
y = [st.binom.pmf(i, n, p) for i in x]
plt.plot(x, y, 'r', label='binormial, n=100,p=0.1')
plt.legend()

y1 = [st.poisson.pmf(i, n*p) for i in x]
plt.plot(x, y1, 'b', label='poisson, lambda=n*p')
plt.legend(fontsize=20)

n = 20
p = 0.05

plt.figure()
x = np.arange(1, 10*n*p)
y = [st.binom.pmf(i, n, p) for i in x]
plt.plot(x, y, 'r', label='binormial, n=20,p=0.05')
plt.legend()
y1 = [st.poisson.pmf(i, n*p) for i in x]
plt.plot(x, y1, 'b', label='poisson, lambda=n*p')
plt.legend(fontsize=20)

2 近似为正态分布

n n n 很大时,一般认为 n ≥ 20 n \geq 20 n20 并且 p p p 值不接近于 0 或 1,则可以认为二项分布近似为正态分布,一种说法是要 n p ≥ 5 np\geq 5 np5, n ( 1 − p ) ≥ 5 n(1-p)\geq 5 n(1p)5。见下面两个概率密度函数:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以看出, n n n 越大,越接近正态分布。

部分代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Jul 11 16:31:16 2022

@author: chen
"""

import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st

n = 50
p = 0.1

x = np.arange(1, 3*n*p)
y = [st.binom.pmf(i, n, p) for i in x]
plt.plot(x, y, 'r', label='binormial, n=50,p=0.1')
plt.legend()

y1 = [st.norm.pdf(i, n*p, np.sqrt(n*p*(1-p))) for i in x]
plt.plot(x, y1, 'b', label='norm, mu=np, sigma^2=np(1-p)')
plt.legend(fontsize=20)


plt.figure()
n = 100
p = 0.1

x = np.arange(1, 3*n*p)
y = [st.binom.pmf(i, n, p) for i in x]
plt.plot(x, y, 'r', label='binormial, n=100,p=0.1')
plt.legend()

y1 = [st.norm.pdf(i, n*p, np.sqrt(n*p*(1-p))) for i in x]
plt.plot(x, y1, 'b', label='norm, mu=np, sigma^2=np(1-p)')
plt.legend(fontsize=20)

3 与贝塔分布的关系

二项分布与贝塔分布也有一定的联系,二项分布可以视为特殊的贝塔分布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心态与习惯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值