概率分布介绍:泊松分布

  • 泊松分布 (Poisson Distribution)
    • 定义
    • 代码
  • 为什么泊松不得不发明泊松分布?
  • 为什么非得是泊松分布的形式呢?
    • 二项分布
    • 二项分布的缺点
      • 1. 二项随机变量xxx是只有0或1
      • 2. 二项分布中,实验次数nnn应该提前知道
  • 泊松分布的公式推导
  • 泊松分布的特点
  • 函数图像
  • 参考

泊松分布 (Poisson Distribution)

定义

假设在一定时间间隔 (interval)中一个事件可能会发生0,1,2,…次,在一个间隔中平均发生事件的次数由λ\lambdaλ决定,λ\lambdaλ是事件发生比率 (event rate)。在一定时间间隔中发生kkk次事件的概率如下:

P(kevents in interval )=e−λλkk!P(k \text { events in interval })=e^{-\lambda} \frac{\lambda^{k}}{k !}P(k events in interval )=e−λk!λk​

代码

使用from scipy import stats; stats.poisson.pmf(x,mu)

为什么泊松不得不发明泊松分布?

当时主要的问题是预测未来中发生事件的次数,更正式地说,预测在固定间隔的时间里,预测该事件发生n次的概率。

“事件”可理解为一天中访问你网站的访客数、一天中所接到的电话数。

为什么非得是泊松分布的形式呢?

例如:每周平均有15个人给我的博客点赞,我想预测下一周的点赞数。假设现在并不知道泊松分布,如何解决?可以试试二项分布 ([[Binomial Distribution]])

二项分布

如果使用二项分布来解决,令xxx表示在nnn次重复实验中发生点赞的次数,ppp表示每次实验的点赞概率(Probability)。我们现在已知的是每周平均的点赞比率(rate)为15个赞/周,并不知道点赞概率ppp和博客访客数nnn的任何信息。

因此,我们需要得到更多的信息ppp和nnn,来建模成二项分布问题。

假设过去的1年(=52周)的数据中,一共有10000人看了我的博客,其中有800个人点赞了。这样平均每周访客数=10000/52=19210000/52=19210000/52=192,平均每周点赞数=800/52=15800/52=15800/52=15。可得到概率p=800/10000=0.08=8%p=800/10000=0.08=8\%p=800/10000=0.08=8%

使用二项分布的概率质量函数 (Probability Mass Function),可预测下一周有20个人点赞的概率为:
Bin(m=20∣N=192,p=0.08)=N!(N−m)!m!pm(1−p)N−m=0.04657\text{Bin}(m=20 \mid N=192, p=0.08)= \frac{N !}{(N-m) ! m !} p^{m}(1-p)^{N-m} = 0.04657Bin(m=20∣N=192,p=0.08)=(N−m)!m!N!​pm(1−p)N−m=0.04657

二项分布的缺点

1. 二项随机变量xxx是只有0或1

上面的过程中,可以将xxx=该周有15次点赞;也可以是xxx=该天有(15/7)=2.1个赞;也可以是xxx=该小时有(15/7*24)=0.1个赞。这意味着大多数小时没有赞,而有的小时有一个点赞。仔细想想,似乎一定时间内出现超过1个点赞的情况也是合理的(比如文章早上刚发布的时候)。由此,二项分布的问题是它无法在一个时间单元中包含超过1次的事件。(在这里,时间单元是1小时)

那么,我们将1小时切分成60分钟,时间单元是1分钟,使得1小时能够包含多个事件。问题得到解决了吗?还没有,比如何同学的5G视频,一晚上点赞就过百万,1分钟内不止一个赞。那我们再将时间单元切分成秒,这样1分钟又能包含多个事件。这样思考下去,我们会将已有的事件单元不断地切分,直到满足一个时间单元只包含一个事件,而大的时间单元能够包含1个以上的事件。

形式化来看,这意味着n→∞n \to \inftyn→∞,当我们假定比率(rate)固定,则必须让p→0p \to 0p→0。否则,点赞数n×p→∞n \times p \to \inftyn×p→∞

基于以上的约束,时间单元变得无穷小。我们不用担心同一个时间单元包含一个以上的事件了。

2. 二项分布中,实验次数nnn应该提前知道

在用二项分布时,无法直接用比率(rate)来计算点赞概率ppp,而是需要nnn和ppp才能使用二项分布的概率质量函数。而泊松分布不需要知道nnn和ppp。它假定了nnn是一个无穷大的数,而ppp是无穷小的数。泊松分布的唯一参数是比率λ\lambdaλ(即xxx的期望)。现实中,得知nnn和ppp得进行很多次实验,而短时间内,比率(rate)很容易得到(例如,在下午2点-4点,收到了4个点赞)。

泊松分布的公式推导

泊松分布的特点

  1. 泊松分布可看作是对稀有事件的建模,其中的比率λ\lambdaλ可以是任意的,但通常不要太小。

  2. 泊松分布是非对称的,通常往右偏移。

  3. λ\lambdaλ越大,分布图像越像一个正态分布。图像来自wiki

  1. 泊松分布的假设(什么情况适合用泊松分布建模)

每个时间单元的事件平均发生比率是常数

例如:博客的每小时平均点赞数不太可能服从泊松分布,而博客每个月的平均点赞数可近似看作是固定的

事件是独立的

假如你的博客写的很好,被公众号转发推广了,那可能会有大批的读者来阅读,这种情况下的点赞数就不满足泊松分布了。

  1. 泊松分布和指数分布的关系

若每个时间单元发生事件的次数服从泊松分布,那么两次事件发生间等待的时间服从指数分布。泊松分布是离散的,而指数分布是连续的,这两个分布紧密相关。

函数图像

import matplotlib.pyplot as plt
import numpy as np
from scipy import stats# Create x and y
x = np.arange(35)
y1 = stats.binom.pmf(x, 192, 0.08)
y2 = stats.poisson.pmf(x,10)
y3 = stats.poisson.pmf(x,17)
y4 = stats.poisson.pmf(x,20)
# Create the plot
fig, ax = plt.subplots()
plt.plot(x, y1, label='binomial(N=192, mu=0.08)', linewidth=3, color='black')
plt.plot(x, y2, label='poisson(mu=10)', linewidth=3, color='royalblue')
plt.plot(x, y3, label='poisson(mu=17)', linewidth=3, color='orange')
plt.plot(x, y4, label='poisson(mu=25)', linewidth=3)
# Make the x=0, y=0 thicker
# ax.set_aspect('equal')
ax.grid(True, which='both')
ax.axhline(y=0, color='k')
ax.axvline(x=0, color='k')
# Add a title
plt.title('Probability Mass Function', fontsize=20)
# Add X and y Label
plt.xlabel('x', fontsize=16)
plt.ylabel('f(x)', fontsize=16)
# Add a grid
# plt.grid(alpha=.4, linestyle='--')
# Add a Legend
plt.legend(bbox_to_anchor=(1, 1), loc='best', borderaxespad=1, fontsize=12)
# Show the plot
plt.show()


参考

Poisson Distribution — Intuition, Examples, and Derivation

概率分布介绍:泊松分布相关推荐

  1. matlab泊松分布随机数和图像_浅谈可靠性理论中的常用概率分布

    浅谈可靠性理论中的常用概率分布 1. 泊松分布 基本原理 泊松分布是最常见的离散概率分布,适合描述单位时间内随机事件发生的概率. (1) 泊松分布概率密度(不可靠度)计算公式 MATLAB概率密度函数 ...

  2. 概率分布,先懂这6个

    https://www.toutiao.com/a6670349081644106252/ 此文是<10周入门数据分析>系列的第9篇 想了解学习路线,可以先阅读" 学习计划 | ...

  3. 每个数据科学专家都应该知道的六个概率分布

    摘要:概率分布在许多领域都很常见,包括保险.物理.工程.计算机科学甚至社会科学,如心理学和医学.它易于应用,并应用很广泛.本文重点介绍了日常生活中经常能遇到的六个重要分布,并解释了它们的应用. 01 ...

  4. 伯努利分布方差_学计量经济学,你应该知道的六种6个概率分布

    来源丨  网络(http://dataunion.org/32400.html) 编辑丨 小计量 一.介绍 假设你是一所大学的老师.在对一周的作业进行了检查之后,你给所有的学生打了分数.你把这些打了分 ...

  5. 从贝叶斯定理到概率分布:详解概率论基本定义

    转自:机器之心 本文从最基础的概率论到各种概率分布全面梳理了基本的概率知识与概念,这些概念可能会帮助我们了解机器学习或开拓视野.这些概念是数据科学的核心,并经常出现在各种各样的话题上.重温基础知识总是 ...

  6. 概率密度求解定理_从贝叶斯定理到概率分布:综述概率论基本定义

    本文从最基础的概率论到各种概率分布全面梳理了基本的概率知识与概念,这些概念可能会帮助我们了解机器学习或开拓视野.这些概念是数据科学的核心,并经常出现在各种各样的话题上.重温基础知识总是有益的,这样我们 ...

  7. 『统计学』第一部分:常用概率分布

    本文将对统计学中常见的四种分布进行总结,包括二项分布.几何分布.泊松分布.正态分布. 在此之前,首先来看一下统计学中的一些基本概念: 『概率分布』 首先,什么是概率分布? 要明白概率分布,首先考虑两个 ...

  8. 贝叶斯定理~~概率分布

    还是搬来了基础自己学习用哦 ~~ 从最基础的概率论到各种概率分布全面梳理了基本的概率知识与概念,这些概念可能会帮助我们了解机器学习或开拓视野.这些概念是数据科学的核心,并经常出现在各种各样的话题上.重 ...

  9. 机器学习基础:从贝叶斯定理到概率分布

    福利!免费寄送图书!! 长按.扫描下面二维码,关注公众号[摸鱼吧算法工程师]后,后台回复:送书活动.即可参与免费寄送图书<贝叶斯算法与机器学习>活动,活动截止日期为 2022-12-05 ...

  10. 均匀分布取某一点概率_概率分布,先懂这6个

    此文是<10周入门数据分析>系列的第9篇 想了解学习路线,可以先阅读" 学习计划 | 10周入门数据分析 " 本文重点介绍分析中常用的六个重要分布,并解释它们的应用. ...

最新文章

  1. Android应用博客目录
  2. 2-4 zookeeper配置文件介绍,运行zk
  3. python 程序中断_有趣的Python处理程序中断信号
  4. UA MATH524 复变函数2 指数、对数与三角函数
  5. 利用Python编辑一个发送邮件的脚本
  6. 【Python】利用 Python 分析了一波月饼,我得出的结论是?
  7. Ubuntu14.04引导菜单修复
  8. 解决toolbar左边空出一部分的问题
  9. PyOpenCL图像处理:Box模糊
  10. 怎么查电脑系统版本_查中考分数线小程序功能更新,填志愿必备参考
  11. flex中list或Combox中的子项上移下移操作
  12. linux实现NFS自启动,Linux下NFS的搭建
  13. 大数据分析平台的作用有什么
  14. DPDK QOS 3 -- rte meter令牌桶的实现
  15. 我最喜爱的九位历史人物 - 苏轼(Space搬家)
  16. sitemix mysql_用Sitemix免费空间搭建高速日本无限流量GAE流行应用_免费PHP空间 | 微站中国|MicroHost...
  17. [软件更新]vidalia 0.2.0.32
  18. Win10系统怎么还原?Win10如何回到以前的系统
  19. 08-小蜜蜂单片机定时器
  20. 通信技术——水下通信技术的分类、特征、应用及其最新研究进展

热门文章

  1. composer安装fxp/composer-asset-plugin包报错问题解决方案
  2. R语言|lollipop plot
  3. 从0开始的appium+Android+python自动抢红包世界生活
  4. java魔法门1_魔法门之英雄无敌5
  5. linux下docker的使用教程,Linux中docker的使用方法讲解
  6. 1.请求和响应(phalapi框架总结)
  7. 【demo】虫眼镜的制作 制作 完了 finish
  8. 微信网页授权(OAuth2.0) PHP 源码简单实现
  9. python安装库的命令-免费足球现场直播直播
  10. Android如何实现全局的护眼模式