【概率分布】泊松分布(Poisson Distribution)

article/2025/3/16 17:34:49

定义:

现实生活多数服从于泊松分布

假设你在一个呼叫中心工作,一天里你大概会接到多少个电话?它可以是任何一个数字。现在,呼叫中心一天的呼叫总数可以用泊松分布来建模。这里有一些例子:

  • 医院在一天内录制的紧急电话的数量。
  • 某个地区在一天内报告的失窃的数量。
  • 在一小时内抵达沙龙的客户人数。
  • 书中每一页打印错误的数量。 泊松分布适用于在随机时间和空间上发生事件的情况,其中,我们只关注事件发生的次数。

当以下假设有效时,则称为泊松分布

  • 任何一个成功的事件都不应该影响另一个成功的事件。
  • 在短时间内成功的概率必须等于在更长的间内成功的概率。
  • 时间间隔很小时,在给间隔时间内成功的概率趋向于零。

 泊松分布中使用了这些符号:

  • λ是事件发生的速率

  • t是时间间隔的长

  • X是该时间间隔内的事件数。

  • 其中,X称为泊松随机变量,X的概率分布称为泊松分布。

  • 令μ表示长度为t的间隔中的平均事件数。那么,µ = λ*t。

 例如说一个医院中,每个病人来看病都是随机并独立的概率,则该医院一天(或者其他特定时间段,一小时,一周等等)接纳的病人总数可以看做是一个服从poisson分布的随机变量。但是为什么可以这样处理呢? 通俗定义:假定一个事件在一段时间内随机发生,且符合以下条件:

  • (1)将该时间段无限分隔成若干个小的时间段,在这个接近于零的小时间段里,该事件发生一次的概率与这个极小时间段的长度成正比。
  • (2)在每一个极小时间段内,该事件发生两次及以上的概率恒等于零。
  • (3)该事件在不同的小时间段里,发生与否相互独立。

则该事件称为poisson process。这个第二定义就更加利于大家理解了,回到医院的例子之中,如果我们把一天分成24个小时,或者24x60分钟,或者24x3600秒。时间分的越短,这个时间段里来病人的概率就越小(比如说医院在正午12点到正午12点又一毫秒之间来病人的概率是不是很接近于零?)。 条件一符合。另外如果我们把时间分的很细很细,是不是同时来两个病人(或者两个以上的病人)就是不可能的事件?即使两个病人同时来,也总有一个人先迈步子跨进医院大门吧。条件二也符合。倒是条件三的要求比较苛刻。应用到实际例子中就是说病人们来医院的概率必须是相互独立的,如果不是,则不能看作是poisson分布。
 

已知平均每小时出生3个婴儿,请问下一个小时,会出生几个?

有可能一下子出生6个,也有可能一个都不出生。这是我们没法知道的。

泊松分布就是描述某段时间内,事件具体的发生概率。

 

 

上面就是泊松分布的公式。等号的左边,P 表示概率,N表示某种函数关系,t 表示时间,n 表示数量,1小时内出生3个婴儿的概率,就表示为 P(N(1) = 3) 。等号的右边,λ 表示事件的频率。

接下来两个小时,一个婴儿都不出生的概率是0.25%,基本不可能发生。

 

 接下来一个小时,至少出生两个婴儿的概率是80%。

 

 

# IMPORTS
import numpy as np
import scipy.stats as stats
import matplotlib.pyplot as plt
import matplotlib.style as style
from IPython.core.display import HTML# PLOTTING CONFIG
%matplotlib inline
style.use('fivethirtyeight')
plt.rcParams["figure.figsize"] = (14, 7)plt.figure(dpi=100)# PDF
plt.bar(x=np.arange(20), height=(stats.poisson.pmf(np.arange(20), mu=5)), width=.75,alpha=0.75)# CDF
plt.plot(np.arange(20), stats.poisson.cdf(np.arange(20), mu=5),color="#fc4f30",)# LEGEND
plt.text(x=8, y=.45, s="pmf (normed)", alpha=.75, weight="bold", color="#008fd5")
plt.text(x=8.5, y=.9, s="cdf", alpha=.75, weight="bold", color="#fc4f30")# TICKS
plt.xticks(range(21)[::2])
plt.tick_params(axis = 'both', which = 'major', labelsize = 18)
plt.axhline(y = 0.005, color = 'black', linewidth = 1.3, alpha = .7)# TITLE, SUBTITLE & FOOTER
plt.text(x = -2.5, y = 1.25, s = "Poisson Distribution - Overview",fontsize = 26, weight = 'bold', alpha = .75)
plt.text(x = -2.5, y = 1.1, s = 'Depicted below are the normed probability mass function (pmf) and the cumulative density\nfunction (cdf) of a Poisson distributed random variable $ y \sim Poi(\lambda) $, given $ \lambda = 5 $.',fontsize = 19, alpha = .85)

 改变参数λ:

plt.figure(dpi=100)# PDF LAM = 1
plt.scatter(np.arange(20),(stats.poisson.pmf(np.arange(20), mu=1)),#/np.max(stats.poisson.pmf(np.arange(20), mu=1))),alpha=0.75,s=100)
plt.plot(np.arange(20),(stats.poisson.pmf(np.arange(20), mu=1)),#/np.max(stats.poisson.pmf(np.arange(20), mu=1))),alpha=0.75,)# PDF LAM = 5
plt.scatter(np.arange(20),(stats.poisson.pmf(np.arange(20), mu=5)),alpha=0.75,s=100)
plt.plot(np.arange(20),(stats.poisson.pmf(np.arange(20), mu=5)),alpha=0.75,)# PDF LAM = 10
plt.scatter(np.arange(20),(stats.poisson.pmf(np.arange(20), mu=10)),alpha=0.75,s=100)
plt.plot(np.arange(20),(stats.poisson.pmf(np.arange(20), mu=10)),alpha=0.75,)# LEGEND
plt.text(x=3, y=.1, s="$\lambda = 1$", alpha=.75, rotation=-65, weight="bold", color="#008fd5")
plt.text(x=8.25, y=.075, s="$\lambda = 5$", alpha=.75, rotation=-35, weight="bold", color="#fc4f30")
plt.text(x=14.5, y=.06, s="$\lambda = 10$", alpha=.75, rotation=-20, weight="bold", color="#e5ae38")# TICKS
plt.xticks(range(21)[::2])
plt.tick_params(axis = 'both', which = 'major', labelsize = 18)
plt.axhline(y = 0, color = 'black', linewidth = 1.3, alpha = .7)# TITLE, SUBTITLE & FOOTER
plt.text(x = -2.5, y = .475, s = "Poisson Distribution - $\lambda$",fontsize = 26, weight = 'bold', alpha = .75)
plt.text(x = -2.5, y = .425, s = 'Depicted below are three Poisson distributed random variables with varying $\lambda $. As one can easily\nsee the parameter $\lambda$ shifts and flattens the distribution (the smaller $ \lambda $ the sharper the function).',fontsize = 19, alpha = .85)

  构造随机分布:

import numpy as np
from scipy.stats import poisson# draw a single sample
np.random.seed(42)
print(poisson.rvs(mu=10), end="\n\n")# draw 10 samples
print(poisson.rvs(mu=10, size=10), end="\n\n")
12[ 6 11 14  7  8  9 11  8 10  7]

 画出概率密度函数:

from scipy.stats import poisson# additional imports for plotting purpose
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams["figure.figsize"] = (14,7)# continuous pdf for the plot
x_s = np.arange(15)
y_s = poisson.pmf(k=x_s, mu=5)
plt.scatter(x_s, y_s, s=100);

 计算累积概率密度函数的概率: 

from scipy.stats import poisson# probability of x less or equal 0.3
print("P(X <=3) = {}".format(poisson.cdf(k=3, mu=5)))# probability of x in [-0.2, +0.2]
print("P(2 < X <= 8) = {}".format(poisson.cdf(k=8, mu=5) - poisson.cdf(k=2, mu=5)))
P(X <=3) = 0.2650259152973616
P(2 < X <= 8) = 0.8072543457950705

  绘制λ:

from collections import Counterplt.figure(dpi=100)##### COMPUTATION #####
# DECLARING THE "TRUE" PARAMETERS UNDERLYING THE SAMPLE
lambda_real = 7# DRAW A SAMPLE OF N=1000
np.random.seed(42)
sample = poisson.rvs(mu=lambda_real, size=1000)# ESTIMATE MU AND SIGMA
lambda_est = np.mean(sample)
print("Estimated LAMBDA: {}".format(lambda_est))##### PLOTTING #####
# SAMPLE DISTRIBUTION
cnt = Counter(sample)
_, values = zip(*sorted(cnt.items()))
plt.bar(range(len(values)), values/np.sum(values), alpha=0.25);# TRUE CURVE
plt.plot(range(18), poisson.pmf(k=range(18), mu=lambda_real), color="#fc4f30")# ESTIMATED CURVE
plt.plot(range(18), poisson.pmf(k=range(18), mu=lambda_est), color="#e5ae38")# LEGEND
plt.text(x=6, y=.06, s="sample", alpha=.75, weight="bold", color="#008fd5")
plt.text(x=3.5, y=.14, s="true distrubtion", rotation=60, alpha=.75, weight="bold", color="#fc4f30")
plt.text(x=1, y=.08, s="estimated distribution", rotation=60, alpha=.75, weight="bold", color="#e5ae38")# TICKS
plt.xticks(range(17)[::2])
plt.tick_params(axis = 'both', which = 'major', labelsize = 18)
plt.axhline(y = 0.0009, color = 'black', linewidth = 1.3, alpha = .7)# TITLE, SUBTITLE & FOOTER
plt.text(x = -2.5, y = 0.19, s = "Poisson Distribution - Parameter Estimation",fontsize = 26, weight = 'bold', alpha = .75)
plt.text(x = -2.5, y = 0.17, s = 'Depicted below is the distribution of a sample (blue) drawn from a Poisson distribution with $\lambda = 7$.\nAlso the estimated distrubution with $\lambda \sim {:.3f}$ is shown (yellow).'.format(np.mean(sample)),fontsize = 19, alpha = .85)

 


http://chatgpt.dhexx.cn/article/4QlHXGjK.shtml

相关文章

概率论与数理统计---随机变量的分布

一维离散型随机变量 基本概念 随机变量 随机变量就是随机事件的数值体现。 例如投色子记录色子的点数&#xff0c;记录的点数其实就是一个随机变量&#xff0c;他是这个点数出现的数值体现。 注意&#xff1a; 随机变量X X(e) , 是一个单实值函数&#xff0c;每个随机事件…

nginx怎么处理php,nginx无法访问php怎么办

nginx无法访问php的解决方法&#xff1a;1、使用文本编辑器打开php-fpm.conf配置文件&#xff1b;2、修改配置【listen /tmp/php-cgi.sock】&#xff1b;3、重启nginx即可。 问题描述&#xff1a; 在nginx的根目录新建了一个index.php文件&#xff0c;但是在访问php文件的时候…

mac电脑安装nginx+php

一、安装nginx #安装nginx brew install nginx#查看nginx版本 nginx -Vcd /usr/local/etc/nginxls -l#如果没有nginx.conf执行下面命令 sudo cp nginx.conf.default nginx.conf#启动nginx服务 brew services start nginx//查看nginx是否启动成功 ps aux|grep nginx nginx启动…

docker搭建nginx+php环境

一、docker拉取nginx和php镜像 命令如下&#xff1a; docker pull nginx:latest docker pull php:7.4-fpm1、创建本地挂载路径&#xff1a; mkdir -p /docker/nginx/www/myphp (-p代表递归创建&#xff0c;按目录层级创建目录)2、创建php容器 docker run --name myphp -v /…

nginx简单配置隐藏php后缀(项目真实配置在主配置中情况)

1、在云服务器上面开发php,网上能搜到的都是直接在nginx主要配置文件nginx.conf里面加上,由于是宝塔一键部署的nginx环境,所以nginx.conf在/www/server/nginx/conf/nginx.conf这个位置, 这是网上大佬们说的直接在配置文件加一个路径配置 location / {try_files $uri $uri/…

Nginx配置大全

1.nginx下载 下载地址&#xff1a;nginx: download 2.nginx结构分析 conf-------配置文件 contrib-----应用模块 docs--------说明文档 html--------首页/错误页面 logs---------日志文件 temp--------临时文件 nginx.exe-----主程序 3.nginx配置文件解析 #user nobod…

nginx+php-fpm的安装和配置

环境 虚拟机&#xff1a;VMware 16.2.4 OS&#xff1a;centos 7.6 远程连接工具&#xff1a;Xshell 7 nginx版本&#xff1a; nginx-1.14.2 php版本&#xff1a;php-7.2.12 一、nginx安装准备 1.将压缩包上传到指定目录并解压 2.进入解压后生成的nginx目录 3.创建worker进…

nginx配置多个PHP项目

部署项目 1、静态网页 2、laravel项目&#xff08;含laravel-admin&#xff09; 静态网页部署见文章域名备案完后网站部署 在上篇文章中nginx.conf中user 为root ,访问是成功的&#xff0c;后续看了一些文章&#xff0c;提示最好不要用root启动nginx 指定其他用户&#xff08;…

CentOS7 --详细配置Nginx支持PHP程序

为了弄好php和nginx&#xff0c;耗费了我不少时间&#xff0c;哎。整体来说过程不是很难&#xff0c;主要是中间出的问题让人头疼。 第一步&#xff1a;selinux和防火墙设置 &#xff08;之前安装好nginx&#xff0c;启动成功后&#xff0c;仍旧访问不了页面。发现是防火墙和s…

配置Nginx来支持PHP

人工手动安装好了LNMP环境&#xff0c;但在网站上打开php网页都变成了下载。研究了一下&#xff0c;原来是Nginx还没配置好以支持php。 修改Nginx的配置文件 我的Nginx安装目录是 /usr/local/nginx&#xff0c;切换到该目录&#xff1a; cd /usr/local/nginx打开nginx.conf配…

Ubuntu 20.04 安装配置nginx + PHP

步骤 ## 先清除干净相关的软件&#xff0c;例如apache、php、nginx本身 sudo apt update sudo apt-get autoremove --purge php-fpm sudo apt-get autoremove --purge apache2 sudo apt-get autoremove --purge nginx ## 开始安装nginx sudo apt-get install nginx ## 设置U…

配置Linux+Nginx+php环境搭建

1.安装pcre。pcre是一个perl库&#xff0c;Nginx的HTTP模块使用pcre来解析正则表达式。 2.安装zlib。zlib是一个文件压缩和解压缩的库&#xff0c;Nginx使用zlib对HTTP数据包进行gzip压缩和解压。 yum -y install gcc pcre-devel.x86_64 zlib-devel.x86_64 已安装:gcc.x86_64…

安装PHP解析环境 nginx配置php 实现mysql的连接

什么是PHP&#xff1a;1、PHP是一种被广泛应用的开源通用脚本语言&#xff0c;尤其适用于 Web 开发。 2、拥有快速&#xff0c;灵活&#xff0c;实用的特点&#xff0c;PHP能做任何事&#xff0c;包括你的个人博客甚至是全球性的大型站点系统。 下面实例操作安装PHP软件包 首…

ubuntu22.4配置nginx和php

实验操作步骤 安装ngix 这里使用命令&#xff1a; sudo apt install nginx 2. icestoneicestone-nb:~$ sudo apt install nginx 3. [sudo] icestone 的密码&#xff1a; 4. 正在读取软件包列表... 完成 5. 正在分析软件包的依赖关系树... 完成 6. 正在读取状态信息... 完成 …

Nginx(十九)nginx配置php

一 了解的基础知识 1&#xff09; nginx本身不能处理PHP,它只是个web服务器-->只能处理静态请求,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给web服务器,最后再给客户端备注&#xff1a; nginx默认并不支持php等动态语言,nginx是服务器主要用来处理…

NGINX配置PHP网站

NGINX配置PHP网站 NGINX配置PHP网站源码安装NGINX安装PHP修改PHP参数重启PHP修改nginx配置文件重启NGINX测试解决报错问题 NGINX配置PHP网站 源码安装NGINX 脚本一键安装&#xff1a; 安装路径&#xff1a;/opt/nginx 源码路径&#xff1a;/root/ #!/bin/bash useradd -s /sb…

【Nginx和PHP教程(一)】安装、配置及初步使用

1. nginx基本介绍 2. nginx安装和环境配置 3. php基本介绍 4. php的安装和环境配置 5. JavaScript、php、html等的区别 6. ubuntu系统中php的安装和环境配置 1. nginx基本介绍 Nginx&#xff08;发音为“engine X”&#xff09;是一款高性能的、轻量级的Web服务器软件&am…

JADE开发求助

求助&#xff1a;JADE创建Agent时遇到这种情况是怎么回事&#xff1f;

Jade入门学习

title: Jade入门学习 date: 2018-05-17 20:09:31 tags: [jade, pug] jade是超高性能的node JavaScript模板引擎&#xff0c;有着非常强大的API和大量杰出的特性。它主要针对node的服务端。由于商标的原因&#xff0c;改为Pug&#xff0c;哈巴狗。Pug有它本身的缺点——可移植性…

Jade linux 位置,jade 6.5 安装教程

简介&#xff1a; MDI Jade是一款XRD分析软件&#xff0c;可以分析X射线衍射&#xff0c;分析出衍射图谱&#xff0c;获得材料的成分、材料内部原子或分子的结构或形态等信息的研究手段。 MDI Jade可以对X射线衍射进行分析&#xff0c;通过分析得到的结果&#xff0c;软件可以判…