概率分布有两种类型:离散(discrete)概率分布连续(continuous)概率分布

离散概率分布也称为概率质量函数(probability mass function)。离散概率分布包括:

  • 伯努利分布(Bernoulli distribution)
  • 二项分布(binomial distribution)
  • 几何分布(geometric distribution)
  • 泊松分布(Poisson distribution)等。

连续概率分布也称为概率密度函数(probability density function),它们是具有连续取值(例如一条实线上的值)的函数。连续概率分布包括:

  • 正态分布(normal distribution)
  • 指数分布(exponential distribution)
  • β分布(beta distribution)等。

1. 两点分布(伯努利分布)

伯努利试验:

伯努利试验是在同样的条件下重复地、各次之间相互独立地进行的一种试验。

即只先进行一次伯努利试验,该事件发生的概率为p,不发生的概率为1-p。这是一个最简单的分布,任何一个只有两种结果的随机现象都服从0-1分布。

最常见的例子为抛硬币

其中,期望E=pE = pE=p ,方差D=p(1−p)2+(1−p)(0−p)2=p(1−p)D = p(1-p)^2+(1-p)(0-p)^2 = p(1-p)D=p(1−p)2+(1−p)(0−p)2=p(1−p)

2. 二项分布(n重伯努利分布)

用数学符号 X~B(n,p) 来表示二项分布。即做n个两点分布的实验,其中,E=npE = npE=np,D=np(1−p)D = np(1-p)D=np(1−p)。而它的概率分布函数为:P(k)=Cnkpk(1−p)n−kP(k)=C_n^kp^k(1-p)^{n-k}P(k)=Cnk​pk(1−p)n−k。

对于抛硬币的问题,做100次实验,正反面概率都为0.5,观察其概率分布函数:

from scipy.stats import binom
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np# Binomial distribution
n = 100
p = 0.5
k = np.arange(20,80)
binomial = binom.pmf(k,n,p)
plt.plot(k, binomial, 'o-')
plt.title('binomial:n=%i,p=%.2f'%(n,p))
plt.xlabel('number of success') #正面向上的次数
plt.ylabel('probalility of success')
plt.grid(True)
plt.show()

结果显示如下:

观察概率分布图,可以看到,对于n = 100次实验中,有50次成功的概率(正面向上)的概率最大。

3. 几何分布

用数学符号 X~GE(p) 来表示几何分布。即在n次伯努利实验中,第k次实验才得到第一次成功的概率分布。其中:P(k)=(1−p)(k−1)pP(k) = (1-p)^{(k-1)}pP(k)=(1−p)(k−1)p。期望值E=1/pE = 1/pE=1/p 推导方法就是利用利用错位相减法然后求lim - k ->无穷 。方差D=(1−p)/p2D = (1-p)/p^2D=(1−p)/p2 推导方法利用了D(x)=E(x)2−E(x2)D(x) = E(x)^2-E(x^2)D(x)=E(x)2−E(x2),其中E(x2)E(x^2)E(x2)求解同上。

对于抛硬币的问题,正反面概率都为0.5,观察第k次实验才得到第一次成功的概率分布函数:

from scipy.stats import geom# 几何分布(geometric distribution)
n = 10
p = 0.5
k = np.arange(1,10)
geom_dis = geom.pmf(k,p)
plt.plot(k, geom_dis, 'o-')
plt.title('geometric distribution')
plt.xlabel('i-st item success')
plt.ylabel('probalility of i-st item success')
plt.grid(True)
plt.show()

显示结果如下:

4. 泊松分布

用数学符号X~P(λ) 表示泊松分布。描述单位时间/面积内,随机事件发生的次数。P(x=k)=λkk!e(−λ),k=0,1,2,...λ>0P(x = k) = \frac{λ^k}{k!}e^{(-λ) } ,k = 0,1,2, ... λ >0P(x=k)=k!λk​e(−λ),k=0,1,2,...λ>0。泊松分布可作为二项分布的极限而得到。

一般的说,若X~B(n,p),其中n很大,p很小,因而 np=λ 不太大时,X的分布接近于泊松分布 P(λ)。λ:单位时间/面积下,随机事件的平均发生率。期望值E = λ,方差D = λ。譬如:某一服务设施一定时间内到达的人数、一个月内机器损坏的次数等。

假设某地区,一年中发生枪击案的平均次数为2。考察一下不同次数的概率分布:

from scipy.stats import poisson# 泊松分布(poisson distribution)
mu = 2
x = np.arange(10)
plt.plot(x, poisson.pmf(x, mu),'o')
plt.title(u'poisson distribution')
plt.xlabel('shot case count')
plt.ylabel('probalility of shot case count')
plt.grid(True)
plt.show()

结果显示如下:


一年内的枪击案发生次数的分布如上所示。可以看到1次和2次的枪击案发生概率最高。

与二项分布对比:

# 二项分布和泊松分布对比
fig,ax = plt.subplots(1,1)n = 1000
p = 0.1
x = np.arange(80,120)
p1, = ax.plot(x, binom.pmf(x, n, p),'b*',label = 'binom')mu = n*p
p2, = ax.plot(x, poisson.pmf(x, mu),'ro',label = 'poisson')plt.legend(handles = [p1, p2])
plt.title(u'possion and binomial')
plt.show()

可以看到这里当n=1000,p=0.1时, λ=100,泊松分布和二项分布已经很接近了。

5. 指数分布

用数学符号 X~E(λ) 表示指数分布。

指数分布的特性:无记忆性。比如灯泡的使用寿命服从指数分布,无论他已经使用多长一段时间,假设为s,只要还没有损坏,它能再使用一段时间t 的概率与一件新产品使用时间t 的概率一样

这个证明过程简单表示:P(s+t∣s)=P(s+t,s)/P(s)=F(s+t)/F(s)=P(t)P(s+t| s) = P(s+t , s)/P(s) = F(s+t)/F(s)=P(t)P(s+t∣s)=P(s+t,s)/P(s)=F(s+t)/F(s)=P(t)

它的概率密度函数为:

f(x)={λe−λxx>0,λ>00x≤0f(x)=\begin{cases} \lambda e^{-\lambda x} & x>0,\lambda > 0\\ 0 & x\le0 \end{cases} f(x)={λe−λx0​x>0,λ>0x≤0​

期望值E=1/λE=1/λE=1/λ,方差D=1/λ2D=1/λ^2D=1/λ2。

from scipy.stats import expon
# 指数分布
fig,ax = plt.subplots(1,1)lambdaUse = 2
loc = 0
scale = 1.0/lambdaUse#ppf:累积分布函数的反函数。q=0.01时,ppf就是p(X<x)=0.01时的x值。
x = np.linspace(expon.ppf(0.01,loc,scale),expon.ppf(0.99,loc,scale),100)
ax.plot(x, expon.pdf(x,loc,scale),'b-',label = 'expon')
plt.xlabel('x')
plt.ylabel('f(x)')
plt.title(u'expon distribution')
plt.show()

显示结果如下:

6. 正态分布(高斯分布)

用数学符号 X~N(μ,σ^2) 表示正态分布。期望值E=μE = μE=μ,方差D=σ2D = σ^2D=σ2。

正态分布是比较常见的,譬如学生考试成绩的人数分布、身高分布等。

它的概率密度函数是:

f(x)=12πσexp(−(x−μ)22σ2)f(x)=\frac{1}{\sqrt{2\pi} \sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2})f(x)=2π​σ1​exp(−2σ2(x−μ)2​)

from scipy.stats import norm
# 正态分布(normal distribution)
fig,ax = plt.subplots(1,1)loc = 1
scale = 2.0#ppf:累积分布函数的反函数。q=0.01时,ppf就是p(X<x)=0.01时的x值。
x = np.linspace(norm.ppf(0.01,loc,scale),norm.ppf(0.99,loc,scale),100)
ax.plot(x, norm.pdf(x,loc,scale),'-',label = 'norm')plt.title(u'normal distribution')
plt.show()


附:
code


参考:

  1. 概率论中常见分布总结以及python的scipy库使用:两点分布、二项分布、几何分布、泊松分布、均匀分布、指数分布、正态分布

THE END.

常见分布及其概率分布图相关推荐

  1. scipy 概率 泊松分布_概率论中常见分布总结以及python的scipy库使用:两点分布、二项分布、几何分布、泊松分布、均匀分布、指数分布、正态分布......

    概率分布有两种类型:离散(discrete)概率分布和连续(continuous)概率分布. 离散概率分布也称为概率质量函数(probability mass function).离散概率分布的例子有 ...

  2. 概率统计基础(三):常见分布与假设检验

    这次概率统计学习基于:Datawhale概率统计组队学习文档 1. 写在前面 这次借着在Datawhale组织的概率统计专题学习的机会再重新温习一遍数学基础,所谓机器学习和深度学习, 背后的逻辑都是数 ...

  3. 概率统计(三)常见分布与假设检验

    常见分布与假设检验 一.一般随机变量 二.常见分布 1.离散型分布 (1)二项分布 (2)泊松分布 (3)几何分布 (4)负二项分布 (5)超几何分布 2.连续型分布 (1)均匀分布 (2)正态分布 ...

  4. python概率论_概率论中常见分布总结以及python的scipy库使用

    概率分布有两种类型:离散(discrete)概率分布和连续(continuous)概率分布. 离散概率分布也称为概率质量函数(probability mass function).离散概率分布的例子有 ...

  5. python统计数据画概率曲线_统计学入门级:常见概率分布+python绘制分布图

    基本概念 离散型随机变量 如果随机变量X的所有取值都可以逐个列举出来,则称X为离散型随机变量.相应的概率分布有二项分布,泊松分布. 连续型随机变量 如果随机变量X的所有取值无法逐个列举出来,而是取数轴 ...

  6. 概率论中常见分布总结以及python的scipy库使用:两点分布、二项分布、几何分布、泊松分布、均匀分布、指数分布、正态分布...

    概率分布有两种类型:离散(discrete)概率分布和连续(continuous)概率分布. 离散概率分布也称为概率质量函数(probability mass function).离散概率分布的例子有 ...

  7. 机器学习数学基础:常见分布与假设检验

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:吴忠强,Datawhale优秀学习者,东北大学 所谓机器学习和深 ...

  8. python所有算法_Python实现的各种常见分布算法示例

    本文实例讲述了Python实现的各种常见分布算法.分享给大家供大家参考,具体如下: #-*- encoding:utf-8 -*- import numpy as np from scipy impo ...

  9. 数据挖掘之数理统计与常见分布与假设检验

    1 一般随机变量 1.1 随机变量的两种类型 根据随机变量可能取值的个数分为离散型(取值有限)和连续型(取值无限)两类. 1.2 离散型随机变量 对于离散型随机变量,使用概率质量函数(probabil ...

  10. Numpy生成随机数及服从常见分布的随机数

    from numpy import random import seaborn as sns 普通随机数 random.randint 返回给定范围内的随机整数 # 只给一个参数时,范围是[0,10) ...

最新文章

  1. android系统密码设置功能,手机锁屏密码怎么设置 三种安卓手机锁屏方式推荐
  2. android studio 混淆jar,android studio如何生成混淆代码的jar
  3. 渣渣小本求职复习之路每天一博客系列——TCP/IP协议栈(5)
  4. P5 Matlab/Simulink 在时域分析中的应用-《Matlab/Simulink与控制系统仿真》程序指令总结
  5. Firefox联手Chrome合作开发网页VR标准
  6. 工业级路由器和家用路由器的区别_5G工业级路由器有哪些优势
  7. JavaScript高级程序设计---学习笔记(四)
  8. Linux 与Windows 7双系统默认引导顺序的修改
  9. 开启Spark history server
  10. 【BZOJ1966】[AHOI2005]病毒检测(动态规划)
  11. 一流科技登上开源供应商名录
  12. Windows10创建工作组、加入工作组、查看工作组包含的所有电脑
  13. 柳传志:联想发展过程中的三大突破
  14. mysql 按拼音码查询,MySQL拼音首字母查询
  15. 输出文本(pre\code\kbd\var...)
  16. php获取目录下所有文件及目录(多种方法)
  17. 程序人生 - 风冷和水冷散热,怎么选?
  18. mxnet rec文件内容分析
  19. 区块链商品溯源系统左侧导航栏+右侧加载页面ajax html
  20. 用Python掷骰子——打麻将没骰子还要出去买?

热门文章

  1. 百度地图--南京行政区域划分
  2. 锐捷破号破解流程笔记
  3. 实现原理 扫描枪_激光条码扫描枪原理及五大组成部分!
  4. Isight多学科参数优化软件模块构成
  5. 海洋迅雷vip帐号获取器 v 1.2
  6. 计算机毕业设计之会议预约系统设计与实现
  7. vue开发App商城实战项目
  8. Mixly米思齐_点阵
  9. 小票打印机 linux 驱动下载,POS58小票机驱动下载
  10. 最详细的vue安装教程