泊松分布一

news2024/11/15 8:53:03

文章目录

  • 1. 泊松分布定义
  • 2.泊松分布具体实例
    • 实例1:
    • 实例2:
  • 3.生成泊松分布的代码

在这里插入图片描述
泊松分布适合于描述单位间隔(时间、距离、面积、体积)内随机事件发生的次数的概率分布。如电话交换机接到呼叫的次数、汽车站台的候客人数、机器出现的故障数、自然灾害发生的次数、DNA序列的变异数、放射性原子核的衰变数、一年内撞击地球的直径大于1米的陨石数量、CCD/CMOS像元接受光子的数量等等。

1. 泊松分布定义

定义
如果一个离散随机变量 X X X,它的质量密度函数由下式给出,则我们称这个离散随机变量 X X X服从泊松分布
f ( k ; λ ) = p ( X = k ) = λ k e − λ k ! , λ > 0 , k = 0 , 1 , 2 , 3 , . . . f(k;\lambda)=p(X=k)=\frac{\lambda^{k}e^{-\lambda}}{k!},\lambda>0,k=0,1,2,3,... f(k;λ)=p(X=k)=k!λkeλ,λ>0,k=0,1,2,3,...
假设与有效条件
以下假设成立时,泊松分布模型适用:

  • 事件在一个时间间隔内发生,且k可以取值0,1,2,…;
  • 一个事件的发生不影响下一个事件发生的概率,也就是事件发生是相互独立的;
  • 事件发生的平均速率(average event rate)与任何事件的发生无关。一般为简单起见,通常假定事件发生的平均速率为常数,但实际上可能随时间而变化;
  • 两个事件不可能在完全相同的时刻发生,即在每一小段的时间内正好有一个事件发生或不发生。

如果这些条件成立,那么 k k k就是一个泊松随机变量, k k k的分布就是一个泊松分布。
泊松分布的概率质量函数为

泊松分布的参数λ是随机事件发生次数的数学期望值,且服从泊松分布的随机变量,其数学期望与方差相等,即 λ = E ( X ) = V a r ( X ) \lambda=E(X)=Var(X) λ=E(X)=Var(X)
性质:服从泊松分布的随机变量,其数学期望与方差相等,同为参数{\displaystyle \lambda }\lambda : {\displaystyle E(X)=V(X)=\lambda }{\displaystyle E(X)=V(X)=\lambda }

2.泊松分布具体实例

实例1:

在一条特定的河流上,平均每 100 年发生一次洪水。假设发生洪水次数符合泊松分布,那么计算 100 年间发生k = 0、1、2、3、4、5 或 6 次洪水的概率 就可以用泊松分布的公式直接计算。

因为平均事件率(average event rate)是每 100 年发生一次洪水,所以 λ = 1 \lambda=1 λ=1.

p ( 100 年 内 发 生 k 次 洪 水 ) = λ k e − λ k ! = 1 k e − 1 k ! = e − 1 k ! p(100年内发生k次洪水)=\frac{\lambda^{k}e^{-\lambda}}{k!}=\frac{1^{k}e^{-1}}{k!}=\frac{e^{-1}}{k!} p(100k)=k!λkeλ=k!1ke1=k!e1
p ( 100 年 内 发 生 0 次 洪 水 ) = 1 0 e − 1 0 ! = e − 1 1 ≈ 0.368 p(100年内发生0次洪水)=\frac{1^{0}e^{-1}}{0!}=\frac{e^{-1}}{1}\approx0.368 p(1000)=0!10e1=1e10.368
p ( 100 年 内 发 生 1 次 洪 水 ) = 1 1 e − 1 1 ! = e − 1 1 ≈ 0.368 p(100年内发生1次洪水)=\frac{1^{1}e^{-1}}{1!}=\frac{e^{-1}}{1}\approx0.368 p(1001)=1!11e1=1e10.368
p ( 100 年 内 发 生 2 次 洪 水 ) = 1 2 e − 1 2 ! = e − 1 2 ≈ 0.184 p(100年内发生2次洪水)=\frac{1^{2}e^{-1}}{2!}=\frac{e^{-1}}{2}\approx0.184 p(1002)=2!12e1=2e10.184
p ( k = 3 ) = 0.061 p(k=3)=0.061 p(k=3)=0.061
p ( k = 4 ) = 0.015 p(k=4)=0.015 p(k=4)=0.015

实例2:

María Dolores Ugarte及其同事在一篇报道中指出世界杯足球比赛中的平均进球数约为2.5个,也适合泊松分布。 因为平均事件率(average event rate)为每场比赛 2.5 个进球,所以 λ = 2.5。
p ( 一 场 世 界 杯 比 赛 进 k 个 球 ) = 2. 5 k e − 2.5 k ! p(一场世界杯比赛进k个球)=\frac{2.5^{k}e^{-2.5}}{k!} p(k)=k!2.5ke2.5
p ( 一 场 世 界 杯 比 赛 进 0 个 球 ) = 2. 5 0 e − 2.5 0 ! = e − 2.5 1 ≈ 0.082 p(一场世界杯比赛进0个球)=\frac{2.5^{0}e^{-2.5}}{0!}=\frac{e^{-2.5}}{1}\approx0.082 p(0)=0!2.50e2.5=1e2.50.082
p ( 一 场 世 界 杯 比 赛 进 1 个 球 ) = 2. 5 1 e − 2.5 1 ! = 2.5 e − 2.5 1 ≈ 0.205 p(一场世界杯比赛进1个球)=\frac{2.5^{1}e^{-2.5}}{1!}=\frac{2.5e^{-2.5}}{1}\approx0.205 p(1)=1!2.51e2.5=12.5e2.50.205
p ( 一 场 世 界 杯 比 赛 进 2 个 球 ) = 2. 5 2 e − 2.5 2 ! = 6.25 e − 2.5 2 ≈ 0.257 p(一场世界杯比赛进2个球)=\frac{2.5^{2}e^{-2.5}}{2!}=\frac{6.25e^{-2.5}}{2}\approx0.257 p(2)=2!2.52e2.5=26.25e2.50.257
p ( k = 3 ) = 0.213 p(k=3)=0.213 p(k=3)=0.213
p ( k = 4 ) = 0.133 p(k=4)=0.133 p(k=4)=0.133
p ( k = 5 ) = 0.067 p(k=5)=0.067 p(k=5)=0.067

3.生成泊松分布的代码

import numpy as np
import matplotlib.pyplot as plt


def poisson(lam:float,max_k:int):
    """
    采用迭代求解的方式计算泊松分布
    泊松分布:p(k) = exp(-lam) * (lam**k) / k!,k>=0.
    迭代方式:p(k) = p(k-1) * lam / k, k>=1, and p(0) = exp(-lam).
    """
    poisson_score = []
    # p(0) = exp(-lam)
    p_0 = np.exp(-lam)
    poisson_score.append(p_0)

    k_mult = 1 # 计算阶乘的中间变量
    for i in range(1,max_k):
        p_k = poisson_score[-1] * lam / i
        poisson_score.append(p_k)
    
    return poisson_score


def main():
    lam1 = 1
    lam2 = 2
    lam3 = 5
    lam4 = 10
    
    max_k = 20

    poisson_score1 = poisson(lam1,max_k)
    poisson_score2 = poisson(lam2,max_k)
    poisson_score3 = poisson(lam3,max_k)
    poisson_score4 = poisson(lam4,max_k)
    
    x = np.arange(len(poisson_score1))

    plt.plot(x,poisson_score1,'c*-',c='b',label='lambda='+str(lam1))
    plt.plot(x,poisson_score2,'c*-',c='g',label='lambda='+str(lam2))
    plt.plot(x,poisson_score3,'c*-',c='r',label='lambda='+str(lam3))
    plt.plot(x,poisson_score4,'cv-',c='b',label='lambda='+str(lam4))
   
    plt.title("Poisson distribution")
    plt.ylabel("Probability")
    plt.xlabel("k")
    plt.xticks(x,[str(item) for item in range(len(poisson_score1))]) # 刻度
    plt.grid(True)
    plt.legend()
    plt.show()


if __name__ == "__main__":
    main()

参考文献
[1].https://en.wikipedia.org/wiki/Poisson_distribution

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Android】用无障碍服务整个脚本——我看刑

本文灵感来源:李跳跳真实好友 app 目录无障碍服务(AccessibilityService)模拟点击组件ID & 组件文本坐标后台保活效果图存在缺陷缺陷一缺陷二缺陷三缺陷四无障碍服务(AccessibilityService) 无障碍服务(AccessibilityService),是Google推出为了帮助…

从零搭建Sentry

前言 Sentry 为一套开源的应用监控和错误追踪的解决方案。这套解决方案由对应各种语言的 SDK 和一套庞大的数据后台服务组成。应用需要通过与之绑定的 token 接入 Sentry SDK 完成数据上报的配置。通过 Sentry SDK 的配置,还可以上报错误关联的版本信息、发布环境。…

四信机房环境监测方案上线 实现集中监控,统一管理

随着“东数西算”工程和新基建的加速落地,数智化技术正逐渐渗透到各领域。以机房行业为例,由于数据中心建设规模的逐步壮大,机房设备市场需求同步增长,为行业用户带来更多可能性。 伴随着机房中设备数量不断增多,如何…

Vue2实现浏览器ctrl+f功能

Vue2实现浏览器ctrlf功能 安装插件 使用一个Vue2的插件search-bar-vue2 npm install search-bar-vue2全局注册 //全局注册 import SearchBar from search-bar-vue2 Vue.use(SearchBar)局部注册 <template><div><search-bar :root"#app" :highlig…

【VUE】实现分页组件

&#x1f4d8;前言 &#x1f6a9;&#x1f6a9;&#x1f6a9; &#x1f48e;个人主页: 阿选不出来 &#x1f4a8;&#x1f4a8;&#x1f4a8; &#x1f48e;个人简介: 一名大二在校生,学习方向前端,不定时更新自己学习道路上的一些笔记. &#x1f4a8;&#x1f4a8;&#x1f4a…

Navigation--导航机理

1.ROS navigation为移动机器人导航相关包的集合&#xff0c;实现定位规划避障等相关功能。 整体工作流程为&#xff1a; 1.加载地图 navigation通过map_server加载现有地图。navigation无建图相关包&#xff0c;需另外实现后保存&#xff0c;默认只支持2维地图&#xff0c;其…

[附源码]Python计算机毕业设计Django游戏商城平台论文

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;我…

推荐测试用例管理工具,看这篇就行。

我们在考虑测试用例管理的时候&#xff0c;其实不能单纯考虑测试用管理&#xff0c;因为你的测试用例是需要和需求关联起来的&#xff0c;是需要和 bug 关联起来的。在有些行业&#xff0c;比如汽车、医药&#xff0c;不仅要对需求进行测试&#xff0c;还需要对架构设计、详细设…

某CCF C会议对国内和国外作者实行两套标准, 引27%+中稿者发声!

点击文末公众号卡片&#xff0c;不错过计算机会议投稿信息 本文主要反映轻松参会交流群内UIC22(CCF C类) 的81位国内中稿作者的诉求&#xff08;占UIC22中稿数的27%&#xff09;。目前群内作者们的诉求为&#xff0c;希望国内作者可选择线上参会。因为线下参会有困难&#xff0…

2023年湖北监理工程师报考时间是什么时候?

2023年湖北监理工程师报考时间是什么时候&#xff1f; 监理工程师考试时间虽说是全国统一的&#xff0c;但是监理工程师报名时间不统一&#xff0c;每个省份自行安排报名时间&#xff0c;监理工程师报名时间基本都是在2.3月份开始报名&#xff0c;具体关注每个省人事考试院网站…

文件包含漏洞(原理及介绍)

文件包含漏洞&#xff08;原理及介绍&#xff09; File inclusion&#xff0c;文件包含&#xff08;漏洞&#xff09;。程序开发人员通常出于灵活性的考虑&#xff0c;会将被包含的文件设置成变量&#xff0c;然后动态调用这些文件。但正是因为调用的灵活性导致用户可能调用一…

flex布局子项属性

flex布局子项属性 1、flex属性 源代码 flex属性定义子项目分配剩余空间&#xff0c;用flex来表示占多少份数 flex: number; 填数值&#xff0c;分配剩余空间的占比 2、align-self控制子项自己在侧轴上的排列方式 源代码 align-self属性允许单个项目有…

Semi-Supervised Classification with Graph Convolutional Networks

Semi-Supervised Classification with Graph Convolutional Networks, ICLR, 2017 要点&#xff1a; 1、可扩展的半监督学习方法 2、基于卷积神经网络的有效变体&#xff0c;直接对图进行操作 3、通过谱图卷积的局部一阶近似来激励卷积架构的选择 4、在图的边数上进行线性缩放…

车辆纵向动力学、加速性能和燃料消耗研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 车辆纵向动力学方面包括车辆传动系统换挡控制、制动系统的设计与控制以及车辆状态的参数估计;车辆横向动力学方面涉及车辆转向…

lua vm 共享 proto

lua vm共享proto 场景 在skynet中&#xff0c;对于每一个lua服务&#xff0c;实际上就是在snlua上启动了一个lua虚拟机去完成lua逻辑&#xff0c;所以skynet的服务是相互隔离的。 这样就会产生一个问题&#xff0c;多个服务都require同一个lua库&#xff0c;每个服务内都会有…

原生API编写简单富文本编辑器001

原生API编写简单富文本编辑器001 从这一节开始&#xff0c;我们将亲自动手&#xff0c;使用我们之前介绍过的浏览器原生API来实现一个简单的可以处理文本的富文本编辑器。 1. 设计 这一个简单版的编辑器&#xff0c;由于我们是基于原生的API&#xff0c;基于浏览器原生API的…

线性表-双向链表

双向链表 双向链表也叫双向表&#xff0c;是链表的一种&#xff0c;它由多个结点组成&#xff0c;每个结点都由一个数据域和两个指针域组成&#xff0c;数据域用来存储数据&#xff0c;其中一个指针域用来指向其后继结点&#xff0c;另一个指针域用来指向前驱结点。链表的头结…

手动实现SpringBoot日志链路追踪

概述 有时候一个业务调用链场景&#xff0c;很长&#xff0c;调了各种各样的方法&#xff0c;看日志的时候&#xff0c;各个接口的日志穿插&#xff0c;确实让人头大。 模糊匹配搜索日志能解决吗&#xff1f;能解决一点点。但是不能完全呈现出整个链路相关的日志。 那要做到方…

致迷茫的程序员一封信——我的程序生涯

0、开头 大家好&#xff0c;我是罗鹏程&#xff0c;一个很老套的开头&#xff0c;哈哈哈。 这封信姗姗来迟&#xff0c;与其说是一封信&#xff0c;不如说是来听听我的故事。从2020开始&#xff0c;收到过很多网友的问题&#xff0c;职业的选择&#xff0c;是做大数据还…

Intellij Idea生成含有META-INF的jar包

新建一个module&#xff0c;如果不会新建的话&#xff0c;参考&#xff1a;Intellij Idea新建module。命名为jar_test。 新建一个java类DateUtil&#xff0c;可以输出当前时间对应的是星期几。代码如下&#xff1a; import java.util.Calendar; import java.util.Date;publi…