前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python之二项分布、泊松分布

Python之二项分布、泊松分布

作者头像
数据山谷
发布于 2020-11-25 02:32:55
发布于 2020-11-25 02:32:55
2K00
代码可运行
举报
文章被收录于专栏:数据山谷数据山谷
运行总次数:0
代码可运行

点击关注 不迷路

敲黑板,干货已到达战场!!!在数据分析中,二项分布、泊松分布是我们经常用到的两个分布,今天小编将会先简单介绍二项分布基础:伯努利试验、n重伯努利试验以及两点分布,接着咱们讲解二项分布和泊松分布的概念,完事之后,咱们讲解一下二项分布转换泊松分布求解的条件,最后通过python来看一下,为什么二项分布在某种条件下可以转换成泊松分布近似求解。

伯努利试验

相信大家都抛过硬币,抛硬币的时候是不是只有两种结果,要不是正面,要不是反面,其实做这样的一次试验就是一个伯努利试验,现在我们做一个抽象的概括:假设随机试验E只有两个结果,事件A出现和事件A不出现,同时事件A出现的概率为p,不出现的概率为q,0<p<1,q=1-p,这样的一次试验我们把它叫做伯努利试验。将伯努利试验进行n重独立实验,重复做n次,这样的n重独立实验就是n重伯努利试验。

两点分布

伯努利试验所对应的分布就是两点分布,两点分布又称0-1分布,即:随机变量X的分布列为:

X

0

1

P

1-p

p

注:1代表发生的概率,0代表不发生的概率

二项分布

n重伯努利实验中,事件A出现的次数对应分布就是二项分布,即:随机变量X的分布列为:

其中,0<p<1,q=1-p,当n=1时,二项分布就是两点分布。

泊松分布

泊松分布来自数学家 SimeonDenis- Poisson(1781-1840)的名字,泊松分布主要用于测量连续时间或者空间内离散事件发生的次数。公式如下:

λ>0,表示平均发生的次数。如果随机变量服从二项分布,且

也就是说,当n很大,p很小的情况,可以使用泊松分布近似替代二项分布进行求解,为什么呢?

首先,上边讲到的东西其实有一个正式的名称,叫做泊松定理,既然是定理,也就意味着上边的东西一定成立,接下来,我们通过通俗易懂的一个例子来看一下是为什么。

我们以医院在一天内将会有多少婴儿出生的问题(这个问题就服从泊松分布)为例来看:

我们可以将这一天的时间采用极限的思想,无限细分成n个小的时间段,每一个小的时间段内,是不是只有两种结果出现:婴儿出生和婴儿不出生,是不是这样一个小的时间段我们就可以看做是一个一次随机试验,试验的结果只有两个出生和不出生,这样n个小的时间段是不是就可以看做是一个n重伯努利试验,用分布来描述:就是一个二项分布,泊松分布是不是就转换成了一个二项分布呢?所以简单来讲,在n很大,p很小的情况下,二项分布就是泊松分布,泊松分布就是二项分布,当然也就可以近似替代了。

接下来,我们通过计算机来实现这种结果的模拟。

注:一般当n>=20,p<=0.05的时候,就可以用泊松分布近似替代二项分布了。

01

python实现

当n为10,p=0.5时,根据上边条件,我们得知:二项分布应该不能使用泊松分布近似替代,下图显示,n为10,p=0.5时,二项分布和泊松分布也明显不同(具体代码参见下文)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 导入相应库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
# 绘制二项分布和泊松分布图
n = 10
p=0.5
q=1-p
bino = stats.binom(n,p)
x = np.arange(0,n)
y1 = bino.pmf(x)
possion = stats.poisson(n*p)
y2 = possion.pmf(x)
plt.plot(x,y1,label="二项分布")
plt.plot(x,y2,label="泊松分布")
plt.legend()
plt.show()

当n为100,p=0.05时,根据上边条件,我们得知:二项分布应该可以使用泊松分布近似替代,下图显示,n为100,p=0.05时,二项分布和泊松分布就非常近似了(具体代码参见下文)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 导入相应库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
# 绘制二项分布图和泊松分布图
n = 100
p=0.05
q=1-p
bino = stats.binom(n,p)
x = np.arange(0,n)
y1 = bino.pmf(x)
possion = stats.poisson(n*p)
y2 = possion.pmf(x)
plt.plot(x,y1,label="二项分布")
plt.plot(x,y2,label="泊松分布")
plt.legend()
plt.show()

02

总结

今天咱们主要学习了什么叫做二项分布、泊松分布以及泊松分布对二项分布的近似替代,相信大家应该已经清楚了两者之间的关系。下节,我们聚焦二项分布和正态分布,揭秘一下他们两者之间又将有什么样的“爱恨情仇”,敬请期待吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据山谷 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档