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

news2024/11/26 0:40:01

文章目录

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

泊松分布

如果在有限时间 ( 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 ss

p,q = 0.2, 0.8
ns = [10, 500, 25000, 1250000]

fig = plt.figure()
for i,n in enumerate(ns):
    lam = n * p
    rs = 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 ss

p = 0.1
#lam = 100
ns = [10, 500, 25000, 1250000]

fig = plt.figure()
for i,n in enumerate(ns):
    lam = 0.1 * n
    rs = 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.coloradmin.cn/o/538994.html

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

相关文章

chatgpt赋能Python-pycharm改名字

PyCharm更名为JetBrains PyCharm——专属Python开发者的最佳IDE JetBrains PyCharm是一款Python开发者最喜欢使用的IDE之一。然而,在2021年初,这款世界著名的Python IDE进行了一次重大更名——PyCharm更名为JetBrains PyCharm。在这篇文章中&#xff0c…

Rust每日一练(Leetday0003) 整数反转、字串转整数、回文数

目录 7. 整数反转 Reverse Integer 🌟🌟 8. 字符串转换整数 String-to-integer (atoi) 🌟🌟 9. 回文数 Palindrome Number 🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一…

chatgpt赋能Python-pycharm提取数据

PyCharm提取数据指南 PyCharm作为一款强大的Python IDE,在数据科学和数据分析领域广受欢迎。它不仅可以用于Python代码开发,还能够提高数据的处理效率。本文将介绍如何在PyCharm中使用Python代码提取数据,以及探讨如何最大化地发挥其数据处理…

chatgpt赋能Python-pycharm行数

PyCharm行数:如何轻松管理您的代码库 作为一个有10年Python编程经验的工程师,我知道管理庞大代码库的挑战。在这种情况下,行数管理是一个非常重要的方面。幸运的是,有很多现代的集成开发环境(IDE)可以帮助…

chatgpt赋能Python-pycharm粘贴把空格识别成行

PyCharm粘贴把空格识别成行:你需要知道的所有事情 作为一名有10年Python编程经验的工程师,我经常使用PyCharm,它是一款流行的 Python 集成环境 (IDE)。今天,我想分享一些有关 PyCharm 粘贴把空格识别成行的信息。 什么是PyCharm…

Windows活动目录以及部分Windows网络应用服务器

一.本地用户和组 Windows Server2008本地用户与组: 用户:就是包含用户名、密码、权限以及说明。 用户组:具有相同性质的用户归结在一起,统一授权,组成用户组。 用户组分类:全局组、本地组、特殊组。 各组名及其权限: Administrators&#…

不用等待列表,马上解锁New Bing GPT-4功能

大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加:keeepdance,备注:chatgpt,拉你进群。 今年1月份,微软投资OpenAI 100亿之后,就迅速把ChatGPT的能力接…

chatgpt赋能Python-pycharm添加numpy库

PyCharm添加Numpy库 PyCharm是一款功能强大的Python集成开发环境,广泛应用于Python程序开发和数据分析领域。Numpy是Python中著名的科学计算库,包括数组、矩阵、数学函数等模块,是数据科学领域中不可或缺的工具。 本篇SEO文章将介绍如何在P…

Android之 Activity活动详解

一 四大组件 1.1 Activity组件,它一个单独的窗口,程序流程都必须在Activity中运行。 1.2 service组件,用于在后台完成用户指定的操作。 1.3 content provider组件,会为所有的应用准备一个内容窗口,并且保留数据库、…

《程序员面试金典(第6版)》面试题 16.24. 数对和(哈希映射,双指针)

题目描述 设计一个算法,找出数组中两数之和为指定值的所有整数对。一个数只能属于一个数对。 题目传送门 示例 1: 输入: nums [5,6,5], target 11 输出: [[5,6]]示例 2: 输入: nums [5,6,5,6], target 11 输出: [[5,6],[5,6]]提示: nums.length &…

抖音SEO矩阵系统源码开发(一)

抖音seo矩阵营销系统/抖音SEO矩阵号管理系统/抖音霸屏源码开发搭建,抖音官方团队大力推广抖音SEO生态,我们应如何布局开发抖音SEO矩阵系统,来达到账号排名优化的效果,很显然,账号关键词起到了很关键的作用。首先&#…

强化学习笔记-06 Temporal-Difference TD时分学习

本文是博主对《Reinforcement Learning- An introduction》的阅读笔记,不涉及内容的翻译,主要为个人的理解和思考。 TD学习是现代强化学习方法的核心,其是蒙特卡罗法和动态规划法的结合,一方面,其同蒙特卡罗法一样&…

opengauss的pull-request

一个pull-request其实是一个分支,而不是一个提交,所以一个pull-request里可以容纳多个提交,pull-request的提交过程原理很像(应该就是)rebase一个分支,然后将这个分支合入目标分支。 下面是我修改代码并且…

【软件测试】软件测试岗位会越来越少吗?

我的整体意见是测试岗位不会变少,反而相对于其他岗位会变的更重要一些。 首先纠正一个非常非常错误的观念。测试和测试开发是两个岗位?No,不是的。测试开发是属于测试的。 测试开发只不过是使用类似于开发的技术和能力,来达到测…

第十四章 使用Postfix与Dovecot部署邮件系统

文章目录 第十四章 使用Postfix与Dovecot部署邮件系统一、电子邮件系统1、常见的邮件协议2、注意事项 二、部署电子邮件系统1、部署基础的电子邮件系统(1)、配置服务器主机名称(2)、配置服务器的DNS地址(3)…

GDPU C语言 天码行空12 (未完待续)

&#x1f351; C语言实验专栏 编程题 1. 统计文本文件中各类字符的个数 &#x1f351; C语言读写文件 #include <stdio.h> #include<ctype.h> //判断字符类型函数的头文件int main() {FILE *fp1 NULL,*fp2 NULL;fp1 fopen("f1.txt", "w")…

MyBatis练习

阅读教程实例&#xff0c;我们了解原理后可以自己模仿地写一个程序练练手。 1、创建表&#xff0c;然后手动导入数据 create table four kings (id int primary key,name varchar(4) ,idea varchar(20) )CHARSETutf8;; 2、 写一个实体类&#xff0c;对应数据库的表 package …

什么是网络自动化?有多重要?

什么是网络自动化 网络自动化是在网络环境中实现网络和安全自动化的方法&#xff0c;通过减少人力工作量和人为错误来最大限度地提高效率。 网络自动化是自动化每个网络任务&#xff08;如配置管理、备份和监控&#xff09;的过程&#xff0c;以实现管理大型网络基础架构的最…

小红薯评/论数据采集工具

一、小红薯【评/论】采集工具链接&#xff1a; http://106.53.68.168:9920/xhs-comment-spider 二、使用方式 1、打开网页链接后&#xff0c;按照网页各步骤提示进行操作即可。 2、采集数据时&#xff0c;页面右上角显示【RUNNING】代表在运行中&#xff0c;采集结束后&#xf…

【软件测试】初级测试,如何走向中高级软件测试?

关于软件测试这几年是越来越红火&#xff0c;待遇对于其他行业也是非常的高&#xff0c;万八千的待遇很正常&#xff0c;而现在软件测试行业等级越来越专业化&#xff0c;对软件测试工程师的要求也是越来越高&#xff0c;软件测试工程师一般会分为初级软件测试工程师&#xff0…