概率统计15——泊松分布

article/2025/3/16 17:04:05

  很多场合下,我们感兴趣的试验进行了很多次,但其中成功的却发生的相当稀少。例如一个芯片的生厂商想要把生产出的芯片做一番检测后再出售。每个芯片都有一个不能正常工作的微小概率p,在数量为n的一大批芯片中,出现r个故障芯片的概率是多少?

 

相关阅读

 

单变量微积分30——幂级数和泰勒级数

 

概率统计13——二项分布与多项分布

 

二项式的泊松近似

  问题似乎很简单,芯片故障的概率符合二项分布X~B(n,p),我们可以用二项分布计算出现r个故障芯片的概率:

  实际问题是,芯片的数量很大,但故障率又是一个很小的数值,虽然二项分布提供了一个精确的概率模型,但计算起来并不容易,而且在计算时还会丢掉大量的精度。既然这样,还不如一开始就使用一个近似式计算预期的概率。

  我们首先看看全部芯片都合格(每次试验都不成功)的概率:

  等号两边同时取对数:

  接下来需要利用一点无穷级数和积分的知识:

  同时我们也知道∫dx/1-x的精确表达:

  由此可以得到:

  当p远远小于1,且np2远远小于1时,可以忽略p的高阶项,得到近似式:

  n个芯片全部合格的概率约等于e-np,出现r个故障芯片的概率又是多少呢?直接计算并不容易,幸运的是,我们可以用二项分布精确表达r个和r-1个故障芯片的概率的比值:

  当n很大时,对于少量r个故障芯片来说,n-(r-1) ≈ n;对于很小概率p来说,p/(1-p) ≈ p,因此上式可以得到近似地表达为:

  类似地,可以计算出B(r-1;n,p)/B(r-2;n,p)……直到B(1;n,p)/B(0;n,p):

  这就是二项分布的泊松近似,对于给定的n和r来说,泊松分布计算起来比二项分布简单多了。泊松近似经常用P(r; λ)表示。当n很大,λ2/n(即np2)远远小于1时,泊松近似非常理想。

泊松分布

  我们知道ex的泰勒展开式:

  现在把r = 0,1,2,…的所有P(r; λ)相加:

  由此看出二项分布的泊松近似有一个很好的性质:r = 0,1,2,…的所有P(r; λ)之和等于1。因此可以把P(X=r; λ)用于离散型随机变量的质量函数,其中随机变量取正整数,对于每一个正实数λ,都可以指定一个泊松分布:

  泊松分布记作X~Po(λ)。

 

  二项分布产生于对同一个伯努利试验的多次重复,而泊松分布用于描述时间发生在随机的区间点(时间或空间,比如一星期或一公里)上的情形。例如某一服务设施在一定时间内到达的人数,电话交换机接到呼叫的次数,汽车站台的候客人数,机器出现的故障数,自然灾害发生的次数,一块产品上的缺陷数,显微镜下单位分区内的细菌分布数等等。假设这种事件发生在一个区间点上的可能性与发生在其他任何时间点上的可能性完全一致,而且这些事件的发生时相互独立的,那么在任何给定的单位区间内发生r个事件的概率可以由泊松分布P(X=r; λ)给出,其中随机变量X表示在给定的单位区间内发生的事件的个数,λ是事件的平均发生率(单位区间内事件发生的平均发生次数)。

  泊松分布的形状取决于λ的大小,λ较小,则分布向右偏斜,随着λ的增大,分布逐渐变得对称:

  泊松分布成立的条件是λ2/n(即np2)远远小于1。我们用2个示例看看泊松分布是如何应用于实际的。

噪声数据的分布

  图像的在传播过程中可能会受到某些干扰,从而使某个像素点变成了噪声。假设一个给定像素出错的概率是1/10-5,且每个像素出错相互独立的。对于一幅1000×1000的图像来说,噪声的分布是什么?

  

  对于传播后的图像来说,每个像素不是正确就是错误,我们可以使用二项分布得到精确概率模型,但是相关的参数要么极大,要么极小,因此使用泊松近似看起来是个不错的主意。1000×1000的图像有n=106个像素,错误率是p=10-5,n和p是个悬殊的比率,λ2/n=10-4远远小于1,泊松近似将非常理想。

 

  下面的代码对比了泊松分布和二项分布:

import numpy as np
import matplotlib.pyplot as plt
from scipy import statsn = 10 ** 6 # 单位区间上的点
p = 10 ** -5  # 事件在单位区间上发生的概率
lam = n * p # λ = np
print('X ~ Po(X=r;λ)'.format(lam))rs = np.array(range(1, 26, 1)) # 随机变量的取值
# 泊松分布 X ~ Po(X=r;λ)
ps = stats.poisson.pmf(rs, lam) # 每个随机变量对应的概率
# 二项分布 X ~ B(X=r;n,p)
bs = stats.binom.pmf(rs, n, p) # 每个随机变量对应的概率fig = plt.figure(figsize=(10, 4))
plt.subplots_adjust(hspace=0.5)  # 调整子图之间的上下边距ax1 = fig.add_subplot(2, 2, 1)
ax1.set_xlabel('r')
ax1.set_ylabel('P(X=r;λ)'.format(lam))
ax1.set_title('泊松分布')
ax1.bar(left=rs, height=ps, width=0.5)ax2 = fig.add_subplot(2, 2, 2)
ax2.set_xlabel('r')
ax2.set_ylabel('P(X=r;{0},{1})'.format(n, p))
ax2.set_title('二项分布')
ax2.bar(left=rs, height=bs, width=0.5)ax3 = fig.add_subplot(2, 2, 3)
ax3.set_xlabel('r')
ax3.set_ylabel('泊松分布-二项分布'.format(n, p))
ax3.set_title('误差')
ax3.bar(left=rs, height=(bs - ps), width=0.5)plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 解决中文下的坐标轴负号显示问题
plt.show()print('最大误差', np.max(bs - ps))

  可以看到,两个分布的形状几乎相同,二者的最大误差是6.254614978717932e-07,该数值远远小于1。

程序无故障的概率

  假设某个公司开有一个带伤上线的系统,每周平均的故障次数是2次,在下周不发生故障概率是多少?

  泊松分布是离散概率分布,是一个描述给定的时间间隔内事件发生次数的模型,而时间是一个连续区间。面对连续区间,一个自然的选择是把区间分成n等份,每个时间小段事件发生的概率就是pn = p/n,n越大,pn越小,npn2<<1时泊松近似非常理想。当n→∞时,pn→0,此时将得到一个准确的模型。也就是说,如果事件的平均发生率是λ,那么泊松分布就是一个单位时间内事件发生的准确模型。

  回到问题,每周平均的故障次数是2次,我们可以把“一周”看作单位时间,程序的故障率是λ=2,在下周不发生故障的概率相当于发生了0个故障的概率:

  类似的例子还有很多,比如根据历史数据预测网站的访问量在1小时内达到某个值的概率;根据历史报告预测某个路段发生事故的概率。

期望和方差

  泊松分布告诉我们,事件在单位区间内平均发生的次数是λ,也就是E[X]= λ。更简洁的地方在于,泊松分布的方差也是λ。

  也就是说,如果给出了一个泊松分布X~Po(λ),那么你根本不用计算,它的参数就是期望和方差


  出处:微信公众号 "我是8位的"

  本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途! 

  扫描二维码关注作者公众号“我是8位的”


http://chatgpt.dhexx.cn/article/PTLdo4Bc.shtml

相关文章

概率论~泊松分布

可能是要放假的原因吧还是因为今天走路摔了下&#xff0c;我觉得我的 胳膊特别疼&#xff0c;打字也特别难受&#xff0c;感觉特别困&#xff0c;看了好长时间的概率题想不明白。 就边写边分析吧。当n很大p很小的时候&#xff0c;二项分布C(n,k)pk(1-p)n-k 近似于通常当n≧10,p…

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

定义&#xff1a; 现实生活多数服从于泊松分布 假设你在一个呼叫中心工作&#xff0c;一天里你大概会接到多少个电话&#xff1f;它可以是任何一个数字。现在&#xff0c;呼叫中心一天的呼叫总数可以用泊松分布来建模。这里有一些例子&#xff1a; 医院在一天内录制的紧急电话…

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

一维离散型随机变量 基本概念 随机变量 随机变量就是随机事件的数值体现。 例如投色子记录色子的点数&#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;