python-介绍泊松分布(poisson分布)

2023-05-16

一、泊松分布问题:

假设我每天接到骚扰电话的次数服从泊松分布,并且经统计平均每天我会接到20个骚扰电话。
请问:
1、我明天接到15个骚扰电话的概率?
2、我明天接到24个骚扰电话以下的概率(包含24)?

二、泊松分布公式:

首先要清楚,泊松分布是离散的,也就是说我接到骚扰电话次数必须是整数,要么就是15次,要么就是16次...,而不会是15.5次。

泊松分布的概率函数为:

P(X=k)=\frac{\lambda ^{k}}{k!}e^{-\lambda },k=0,1,2,....

累积概率分布函数为:

P(X\leq x)=\sum_{k=0}^{x}\frac{\lambda ^{k}e^{-\lambda }}{k!}    

其实就是概率函数的累加。

均值方差:泊松分布的均值和方差都是\lambda

针对上面的问1这里\lambda就是20,k就是15。

 

三、解决问题

方法一:根据公式编写代码

import math

def p_possion(k, m):
    kjie = 1  #k!
    for i in range(1, k+1):
        kjie*=i
    pk = math.pow(m, k)/kjie*math.e**(-m)
    return pk

p = p_possion(15, 20)
print("接到15个骚扰电话的概率:",p)

p=0
for i in range(0,25):
    p+=p_possion(i, 20)
print("接到24个骚扰电话以下的概率:",p)

结果:

接到15个骚扰电话的概率: 0.0516488535317584
接到24个骚扰电话以下的概率: 0.8432273781737633

方法二:用scipy包中的scipy.stats.poisson

from scipy import stats

p = stats.poisson.pmf(15, 20)
print("接到15个骚扰电话的概率:",p)

p = stats.poisson.cdf(24, 20)
print("接到24个骚扰电话以下的概率:",p)

四、泊松概率及累积概率分布

仍以骚扰电话为例,计算接到电话0~50次的概率:

from scipy import stats
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False#用来正常显示负号

X=range(0,51)
Y=[]
for k in X:
    p = stats.poisson.pmf(k, 20)
    Y.append(p)

plt.bar(X, Y, color="red")
plt.xlabel("次数")
plt.ylabel("概率")
plt.title("接到骚扰电话次数及概率")
plt.show()

结果:

首先可以看出,在均值20附近,概率最大,均值两边概率呈递减状态。再者可以看到这结果很像二项分布,也像正态分布,关于两者三个分布的相似,这里不做讨论。

五、查表

查表前面代码中有涉及,其实就是查累积概率。查询\lambda=100,发生次数小于等于120的概率:

from scipy import stats

p = stats.poisson.cdf(120, 100)
print(p)

结果:0.9773306709216473

六、随机数生成

生成服从\lambda=50的泊松分布随机数100个:

from scipy import stats
# 设置random_state时,每次生成的随机数一样。不设置或为None时,多次生成的随机数不一样
sample = stats.poisson.rvs(mu=50, size=100, random_state=3)
print(sample)

结果:

[51 45 60 40 34 53 54 45 45 49 51 46 48 61 47 53 47 48 45 49 52 45 43 50
 50 54 54 47 47 46 36 72 54 55 52 37 42 41 54 54 55 58 53 53 51 43 58 38
 63 50 44 53 48 43 53 45 67 37 51 42 54 47 59 55 54 55 55 46 60 43 54 45
 59 44 58 45 51 58 56 47 54 33 55 50 58 49 60 37 51 43 50 52 52 45 42 44
 49 54 52 48]

 

author:蓝何忠

email:lanhezhong@163.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python-介绍泊松分布(poisson分布) 的相关文章

随机推荐

  • java学习记录(一)

    前言 因为在大创项目中要用到一点点java 所以想利用这段时间 快速的入门一下简单的Java 试图在项目中不拖后腿 ps 小白自学 如有错误还请指正 偶然间看到编程的学习要点 在此记录一下 明确学习目标 锁定一门语言版本 努力学习 认真研读
  • C++ 之HTTP post请求

    一 建立会话 xff08 Session xff09 对象 xff1a CInternetSession mysession 二 连接到Http服务器 xff1a CHttpConnection myconn 61 mysession Ge
  • C语言Printf函数深入解析

    Printf这个函数让大家又爱又恨 xff0c 第一次接触c语言编程 xff0c 基本都是调用printf打印 Hellow World xff01 但当真正深入使用编程后 xff0c 才发现printf并不是一个简单的函数 尤其是从事嵌入
  • SQL笔试经典50题及答案解析

    转 SQL笔试经典50题及答案解析 建表语句 create table Student sid varchar 10 sname varchar 10 sage datetime ssex nvarchar 10 insert into S
  • redis高可用集群搭建

    redis高可用集群搭建 恶魔的复活的博客 CSDN博客 redis集群搭建
  • 80027efe

    微软更新了签名算法 xff0c 从 2019 年开始 xff0c 开始弃用SHA 1 xff0c 逐步改为SHA 2加密算法 导致windows upate更新报80072EFE错误 此方法同样适用于Windows 7系统 建议手动下载安装
  • ts 动态加载import()

    import 函数 简介 import命令会被 JavaScript 引擎静态分析 xff0c 先于模块内的其他模块执行 xff08 叫做 连接 更合适 xff09 所以 xff0c 下面的代码会报错 报错if x 61 61 61 2 i
  • Ubuntu 文件文件夹查看权限和设置权限

    ubuntu下查看权限的命令为 xff1a ls l filename ls ld folder ubuntu下设置权限的命令为 xff1a 一共有10位数 其中 xff1a 最前面那个 代表的是类型 中间那三个 rw 代表的是所有者 xf
  • mysql不能启动:Unit mysql.service failed to load: No such file or directory的解决办法

    Failed to issue method call Unit MySQL service failed to load No such file or directory的解决办法 作者 xff1a chszs xff0c 转载需注明
  • round()函数的用法

    python中round 函数的用法 round a b a 需要进行四舍五入的数字 b 指定的位数 xff0c 按此位数进行四舍五入 注解 如果 b 大于 0 xff0c 则四舍五入到指定的小数位 如果 b 等于 0 xff0c 则四舍五
  • linux mysql 查看默认端口号和修改端口号

    如何查看mysql 默认端口号和修改端口号 2015 03 19 17 42 18 1 登录mysql root 64 test mysql u root p Enter password 2 使用命令show global variabl
  • netty 二进制简单通信

    环境 xff1a netty版本4 0 36Final jdk7 服务端 xff1a 1 App java package com mind core import com mind core net websocket server Ne
  • js 字符串转换成数字的三种方法, 取float型小数点后两位数的方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的 例如两个文本框a和b 如果获得a的value值为11 b的value值为9 那么a value要小于b value 因为他们都是字符串形式的 在网上找了一下js字符串转数字的文章
  • 二次贝塞尔曲线长度

    二次贝塞尔曲线通常以如下方式构建 xff0c 给定二维平面上的固定点P0 P1 P2 xff0c 用B t 表示该条曲线 用一个动画来演示 xff0c 可以更加清楚的表明这条曲线的构建过程 如果t变量本身线形变化的话 xff0c 这条贝塞尔
  • 损坏的主控文件表,CHKDSK被终止.如何恢复数据

    这种情况是分区结构出现异常 引起的分区错误 单击右键属性看到的是RAW格式 移动硬盘的话 xff0c 很大程度是因为强拔之类的操作 xff0c 也可能是坏道 病毒 xff0c 硬盘本身质量问题引起的 因为系统读取移动硬盘信息困难 xff0c
  • Microsoft SQL Server 2008 R2 官方简体中文正式版下载(附激活序列号密钥)

    微软官方发布的Microsoft SQL Server 2008 R2 简体中文完整版 基于SQL Server 2008提供可靠高效的智能数据平台构建而成 xff0c SQL Server 2008 R2 提供了大量新改进 xff0c 可
  • 不重装系统将系统移动到固态硬盘,并修改为C盘

    如今很多人升级电脑都会考虑换块固态硬盘 xff0c 如果重装系统 xff0c 又要重新安装一系列的软件 xff0c 拷贝一系列的数据 这里教大家怎样直接用固态硬盘代替C盘 xff0c 并且不会影响数据和软件 1 首先是在原电脑上加装新固态硬
  • python进行t检验示例

    t检验主要是针对正态总体均值的假设检验 xff0c 即检验样本的均值与某个值的差异 xff0c 或者两个样本的均值是否有差异等 其不需要事先知道总体的方差 xff0c 并且在少量样本情况下也可以进行检验 python进行t检验使用scipy
  • python-正态分布查表应用(scipy.stats.norm)

    1 公式 xff1a 正态分布概率密度公式 xff1a 可通过转换为标准正态分布 2 概率密度 xff1a 标准正态分布在某个点的概率密度可用scipy stats norm pdf计算 xff0c 下面模拟计算 5 5的概率密度 from
  • python-介绍泊松分布(poisson分布)

    一 泊松分布问题 xff1a 假设我每天接到骚扰电话的次数服从泊松分布 xff0c 并且经统计平均每天我会接到20个骚扰电话 请问 xff1a 1 我明天接到15个骚扰电话的概率 xff1f 2 我明天接到24个骚扰电话以下的概率 xff0