泊松分布描述在给定时间间隔内发生K次事件的概率。
如果给定随机变量X服从泊松分布,那么X恰等于k次的公式为:
P(X=k) = λk * e-λ / k!
参数解释:
- λ: 给定时间内发送事件均值
- k: 发送事件的次数
- e: 常量,近似为 2.71828
泊松分布需要满足下列几个条件:
- 发生事件次数可数
- 给定时间内发送次数的均值已知
- 每个结果是独立的
- 发送概率与时间间隔成比例
泊松实验的一个例子是某医院每小时分娩的人数。例如,假设某家医院每小时平均分娩10例。这是一个泊松实验,因为它有以下四个性质:
实验中成功的次数是可以计算的-我们可以计算出生的次数。
在特定的时间间隔内发生的平均成功次数是已知的——已知平均每小时发生10次分娩。
每个结果都是独立的——一个母亲在给定的一小时内生产的概率是独立的
成功发生的概率与时间间隔的大小成正比——间隔的时间越长,出生的概率就越高。
下面解释Python计算泊松分布的几个示例。
生成泊松分布数据
使用poisson.rvs(mu, size) 函数生成服从泊松分布数据,给定均值和样本大小:
from scipy.stats import poisson
data = poisson.rvs(mu=3, size=10)
print(data)
# array([2, 2, 2, 0, 7, 2, 1, 2, 5, 5])
计算泊松分布概率
使用poisson.pmf(k, mu) 和 poisson.cdf(k, mu)函数计算泊松分布相关的概率.
等于某值得概率
某商店每天平均有三位顾客,某天恰好有5人的概率:
from scipy.stats import poisson
poisson.pmf(k=5, mu=3)
# 结果为 0.100819
小于某值的概率
某商店平均每天卖7个足球,那么某天卖出足球数量小于5的概率:
from scipy.stats import poisson
# 计算累积概率
poisson.cdf(k=4, mu=7)
# 结果为 0.172992
大于某值的概率
某商店平均每天卖15个罐头,则某天卖出罐头超过20听的概率:
from scipy.stats import poisson
# 1减去累积概率
1-poisson.cdf(k=20, mu=15)
# 结果为 0.082971
泊松分布直方图
可以通过matplotlib.pyplot画泊松分布直方图:文章来源:https://www.toymoban.com/news/detail-400632.html
from scipy.stats import poisson
import matplotlib.pyplot as plt
# 生成10000样本大小的泊松分布数据集
x = poisson.rvs(mu=3, size=10000)
# 创建泊松分布直方图
plt.hist(x, density=True, edgecolor='black')
plt.show()
文章来源地址https://www.toymoban.com/news/detail-400632.html
到了这里,关于Python计算泊松分布教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!