当前位置: 首页 > news >正文

【分布族谱】泊松分布和二项分布、正态分布的关系

文章目录

    • 泊松分布
    • 和二项分布的关系
    • 和正态分布的关系

泊松分布

如果在有限时间 ( 0 , 1 ) (0,1) (0,1)内进行 n n n次伯努利实验,那么每次伯努利实验所占用的时间为 1 n \frac{1}{n} n1,按照自然规律,一件事情肯定是时间越长越容易发生,假定事件发生的概率与 1 n \frac{1}{n} n1成正比,记作 λ n \frac\lambda n nλ,则二项分布变为

P { X = k } = ( n k ) ( λ n ) k ( 1 − λ n ) n − k P\{X=k\}=\binom{n}{k}(\frac{\lambda}{n})^k(1-\frac{\lambda}{n})^{n-k} P{X=k}=(kn)(nλ)k(1nλ)nk

如果这个时间差 1 n \frac1n n1非常小,以至于事件变得近似连续,则有

lim ⁡ n → ∞ P { X = k } = lim ⁡ n → ∞ ( n k ) ( λ n ) k ( 1 − λ n ) n − k \lim_{n\to\infty} P\{X=k\}=\lim_{n\to\infty}\binom{n}{k}(\frac{\lambda}{n})^k(1-\frac{\lambda}{n})^{n-k} nlimP{X=k}=nlim(kn)(nλ)k(1nλ)nk

其中

lim ⁡ n → ∞ ( n k ) ( λ n ) k = λ k k ! \lim_{n\to\infty}\binom{n}{k}(\frac{\lambda}{n})^k=\frac{\lambda^k}{k!} nlim(kn)(nλ)k=k!λk

而后面有一项更是传说中的重要极限

lim ⁡ n → ∞ ( 1 − λ n ) n = e − λ \lim_{n\to\infty}(1-\frac{\lambda}{n})^n=e^{-\lambda} nlim(1nλ)n=eλ

综上就得到了一个新的分布

P ( x = k ) = e − λ λ k k ! P(x=k)=\frac{e^{-\lambda}\lambda^k}{k!} P(x=k)=k!eλλk

此即泊松分布,表示某个随机事件在连续时间内发生的概率,其中 λ n \frac\lambda n nλ表示单位时间内某件事发生的概率。

和二项分布的关系

下面通过scipy中的stats模块,模拟二项分布和泊松分布之间的关联。

import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as ssp,q = 0.2, 0.8
ns = [10, 500, 25000, 1250000]fig = plt.figure()
for i,n in enumerate(ns):lam = n * prs = ss.binom(n, p).rvs(50000)rv = ss.poisson(n*p)st, ed = rv.interval(0.999)xs = np.linspace(st, ed, 100)ax = fig.add_subplot(2,2,i+1)ax.hist(rs, density=True, bins='auto', alpha=0.2)ax.plot(xs, rv.pmf(xs))plt.title(f"n={n}")plt.show()

效果如下

在这里插入图片描述

和正态分布的关系

泊松分布是二项分布在有限时间内的极限情况,而根据中心极限定理,随着伯努利试验次数的增加,二项分布将逼近于 σ 2 = n p q , μ = n p \sigma^2=npq, \mu=np σ2=npq,μ=np的高斯分布。

在通过二项分布推导泊松分布的过程中,比较关键的一步是 λ n \frac{\lambda}{n} nλ作为概率的一个假定,当 n → ∞ n\to\infty n时,可以发现 λ n \frac{\lambda}{n} nλ将趋近于0,如果继续沿用二项分布的模型,那么 q 1 ˉ − λ n − > 0 q\=1-\frac{\lambda}{n}->0 q1ˉnλ>0,从而 n p q ≈ n p npq\approx np npqnp

由此可以得到,当事件趋近于无穷多时,泊松分布将趋近于 μ = λ , σ 2 = λ \mu=\lambda, \sigma^2=\lambda μ=λ,σ2=λ的正态分布。

下面对这个关系进行测试

import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as ssp = 0.1
#lam = 100
ns = [10, 500, 25000, 1250000]fig = plt.figure()
for i,n in enumerate(ns):lam = 0.1 * nrs = ss.poisson(lam).rvs(n)rv = ss.norm(lam, np.sqrt(lam))st, ed = rv.interval(0.999)xs = np.linspace(st, ed, 100)ax = fig.add_subplot(2,2,i+1)ax.hist(rs, density=True, bins='auto', alpha=0.2)ax.plot(xs, rv.pdf(xs))plt.title(f"n={n}")plt.show()

效果如下

在这里插入图片描述

http://www.lryc.cn/news/69329.html

相关文章:

  • 关于QTreeWidget的setData函数
  • Microsoft Office 2003的安装
  • 使用Spring Boot和Spring Cloud实现多租户架构:支持应用多租户部署和管理
  • 智聚北京!相约全球人力资源数智化峰会
  • 工业缺陷检测数据及代码(附代码)
  • CentOS 安装MongoDB 6.0
  • 美团面试,被拷打了一小时....
  • 017+C语言中函数栈帧的创建与销毁(VS2022环境)
  • 马斯克们叫停 GPT-5,更像是场行为艺术
  • 事务基础知识
  • 国产高性能DSP音频处理芯片的工作原理以及应用领域
  • BEVDet4D 论文学习
  • 【设计模式与范式:创建型】43 | 单例模式(下):如何设计实现一个集群环境下的分布式单例模式?
  • Metal入门学习:绘制渲染三角形
  • python 中常见变量类型
  • SVN使用教程(一)
  • 【5.19】四、性能测试—指标、种类
  • Windows平台上的5种敏捷软件开发(过程)模型
  • 一文实现部署AutoGPT
  • 数值计算 - 误差的来源
  • 【软件测试】5年测试老鸟总结,自动化测试成功实施,你应该知道的...
  • 【Hadoop】二、Hadoop MapReduce与Hadoop YARN
  • Python教程:文件I/O的用法
  • 序员工作1年,每天上班清闲,但却焦虑万分,若是你,你会吗?
  • Bed Bath and Beyond EDI 需求分析
  • 【5.20】五、安全测试——渗透测试
  • java版鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统源代码
  • 大语言模型架构设计
  • SpringBoot整合Swagger2,让接口文档管理变得更简单
  • socket | 网络套接字、网络字节序、sockaddr结构