连续分布

1.均匀分布

class pymc3.distributions.continuous.Uniform(lower = 0,upper = 1,* args,** kwargs )

均匀分布的概率密度函数为:

import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn-darkgrid')
x = np.linspace(-3, 3, 500)
ls = [0., -2]
us = [2., 1]
for l, u in zip(ls, us):y = np.zeros(500)y[(x<u) & (x>l)] = 1.0/(u-l)plt.plot(x, y, label='lower = {}, upper = {}'.format(l, u))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.ylim(0, 1)
plt.legend(loc=1,fontsize=14)
plt.show()

2.正态分布

class pymc3.distributions.continuous.Normal(mu=0, sd=None, tau=None, **kwargs)
'''
mu:均值
sd:标准差(>0),仅在未指定tau时才需要。
tau:精度(>0),仅在未指定sd时才需要。
'''

正态分布的概率密度函数为:

正态分布可以在精度或标准偏差方面进行参数化。两个参数之间的关系由下式给出:

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
plt.style.use('seaborn-darkgrid')
x = np.linspace(-5, 5, 1000)
mus = [0., 0., 0., -2.]
sds = [0.4, 1., 2., 0.4]
for mu, sd in zip(mus, sds):pdf = st.norm.pdf(x, mu, sd)plt.plot(x, pdf, label=r'$\mu$ = {}, $\sigma$ = {}'.format(mu, sd))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.legend(loc=1,fontsize=12)
plt.show()

logp(value)
'''
计算正态分布在指定值的对数概率。
参数:value (numeric) – 计算对数概率的值。如果需要多个值的对数概率,则必须以numpy数组或theano张量值提供值
Returns:TensorVariable
'''

3.截断正态分布

class pymc3.distributions.continuous.TruncatedNormal(mu = 0,sd = None,tau = None,lower = None,upper = None,transform ='auto',* args,** kwargs )
'''
参数:
mu - 均值。
sd(float) - 标准偏差(sd> 0)。
lower(float (可选)) - 左边界。
upper(float (可选)) - 右边界。
'''

概率密度函数为:

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
plt.style.use('seaborn-darkgrid')
x = np.linspace(-10, 10, 1000)
mus = [0.,  0., 0.]
sds = [3.,5.,7.]
a1 = [-3, -5, -5]
b1 = [7, 5, 4]
for mu, sd, a, b in zip(mus, sds,a1,b1):an, bn = (a - mu) / sd, (b - mu) / sdpdf = st.truncnorm.pdf(x, an,bn, loc=mu, scale=sd)plt.plot(x, pdf, label=r'$\mu$ = {}, $\sigma$ = {}, a={}, b={}'.format(mu, sd, a, b))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.legend(loc=1,fontsize=12)
plt.show()

4.Beta分布

class pymc3.distributions.continuous.Beta(alpha=None, beta=None, mu=None, sd=None, *args, **kwargs)
'''
参数:
alpha - alpha> 0。
beta - beta> 0。
mu- 均值(0 <mu <1)。
sd - 标准差(0 <sd <sqrt(mu *(1-mu)))。'''

概率密度函数为:

均值,方差:

注:Beta分布是 二项分布 的共轭先验

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
plt.style.use('seaborn-darkgrid')
x = np.linspace(0, 1, 200)
alphas = [.5, 5., 1., 2., 2.]
betas = [.5, 1., 3., 2., 5.]
for a, b in zip(alphas, betas):pdf = st.beta.pdf(x, a, b)plt.plot(x, pdf, label=r'$\alpha$ = {}, $\beta$ = {}'.format(a, b))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.ylim(0, 4.5)
plt.legend(loc=9)
plt.show()

5.指数分布

class pymc3.distributions.continuous.Exponential(lam, *args, **kwargs)

概率密度函数:

均值,方差:

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
plt.style.use('seaborn-darkgrid')
x = np.linspace(0, 3, 100)
for lam in [0.5, 1., 2.]:pdf = st.expon.pdf(x, scale=1.0/lam)plt.plot(x, pdf, label=r'$\lambda$ = {}'.format(lam))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.legend(loc=1)
plt.show()

6.拉普拉斯分布:

class pymc3.distributions.continuous.Laplace(mu, b, *args, **kwargs)
'''
参数:
mu(float) - 位置参数。
b(float) - 比例参数(b> 0)。
'''

概率密度函数:

均值和方差为:

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
plt.style.use('seaborn-darkgrid')
x = np.linspace(-10, 10, 1000)
mus = [0., 0., 0., -5.]
bs = [1., 2., 4., 4.]
for mu, b in zip(mus, bs):pdf = st.laplace.pdf(x, loc=mu, scale=b)plt.plot(x, pdf, label=r'$\mu$ = {}, $b$ = {}'.format(mu, b))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.legend(loc=1)
plt.show()

7.t分布

class pymc3.distributions.continuous.StudentT(nu, mu=0, lam=None, sd=None, *args, **kwargs)
'''
参数:
nu(float) - 自由度,也称为正态参数(nu> 0)。
mu(float) - 位置参数。
sd(float) - 比例参数(sd> 0)。当nu增加时,收敛于标准偏差。(仅在未指定lam时才需要)
lam(float) - 比例参数(lam> 0)。随着nu的增加,精度趋于一致。(仅在未指定sd时才需要)
'''

概率密度函数:

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
plt.style.use('seaborn-darkgrid')
x = np.linspace(-8, 8, 200)
mus = [0., 0., -2., -2.]
sds = [1., 1., 1., 2.]
dfs = [1., 5., 5., 5.]
for mu, sd, df in zip(mus, sds, dfs):pdf = st.t.pdf(x, df, loc=mu, scale=sd)plt.plot(x, pdf, label=r'$\mu$ = {}, $\sigma$ = {}, $\nu$ = {}'.format(mu, sd, df))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.legend(loc=1)
plt.show()

8.Gamma分布

class pymc3.distributions.continuous.Gamma(alpha=None, beta=None, mu=None, sd=None, *args, **kwargs)
'''
参数:
alpha(float) - 形状参数(alpha> 0)。
beta(float) - 速率参数(beta> 0)。
mu(float) - 可选形状参数(mu> 0)。
sd(float) - 可选比例参数(sd> 0)。
'''

概率密度函数:

均值和方差为:

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
plt.style.use('seaborn-darkgrid')
x = np.linspace(0, 20, 200)
alphas = [1., 2., 3., 7.5]
betas = [.5, .5, 1., 1.]
for a, b in zip(alphas, betas):pdf = st.gamma.pdf(x, a, scale=1.0/b)plt.plot(x, pdf, label=r'$\alpha$ = {}, $\beta$ = {}'.format(a, b))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.legend(loc=1)
plt.show()

9.卡方分布

class pymc3.distributions.continuous.ChiSquared(nu, *args, **kwargs)
'''
参数:  nu(int) - 自由度(nu> 0)
'''

概率密度函数为:

均值和方差:

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
plt.style.use('seaborn-darkgrid')
x = np.linspace(0, 15, 200)
for df in [1, 2, 3, 6, 9]:pdf = st.chi2.pdf(x, df)plt.plot(x, pdf, label=r'$\nu$ = {}'.format(df))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.ylim(0, 0.6)
plt.legend(loc=1)
plt.show()

10.半正太分布

class pymc3.distributions.continuous.HalfNormal(sd=None, tau=None, *args, **kwargs)
'''
参数:
sd(float) - 比例参数sigma(sd> 0)(仅在tau未指定时才需要)。
tau(float) - 精度tau(tau> 0)(仅在未指定sd时才需要)。'''

概率密度函数:

均值和方差:

import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
plt.style.use('seaborn-darkgrid')
x = np.linspace(0, 5, 200)
for sd in [0.4, 1., 2.]:pdf = st.halfnorm.pdf(x, scale=sd)plt.plot(x, pdf, label=r'$\sigma$ = {}'.format(sd))
plt.xlabel('x', fontsize=12)
plt.ylabel('f(x)', fontsize=12)
plt.legend(loc=1)
plt.show()

参考:

http://docs.pymc.io/api/distributions/continuous.html

PyMC3中常见连续概率分布相关推荐

  1. c# 标准正太分布函数_机器学习中常见的几种概率分布

    1.均匀分布 均匀分布是关于定义在区间[a,b](a<b)上连续变量的简单概率分布,其概率密度函数如下图所示. 均匀分布的概率密度函数 若变量x服从均匀分布U(x | 0,1)且a<b,则 ...

  2. matlab径向分布函数作图_常见的概率分布(matlab作图)

    一.常见的概率分布 表1.1 概率分布分类表 连续随机变量分布 连续统计量分布 离散随机变量分布 分布 分布 二项分布 连续均匀分布 非中心 分布 离散均匀分布 (Gamma)分布 分布 几何分布 指 ...

  3. 深度学习中常见的损失函数

    文章来源于AI的那些事儿,作者黄鸿波 2018年我出版了<TensorFlow进阶指南 基础.算法与应用>这本书,今天我把这本书中关于常见的损失函数这一节的内容公开出来,希望能对大家有所帮 ...

  4. 机器学习中用到的概率知识_山顶洞人学机器学习之——几种常见的概率分布

    机器学习是实现人工智能的重要技术之一.在学习机器学习的过程中,必须要掌握一些基础的数学与统计知识.之前的两篇文章我们分别讲述了中心极限定理与大数定律,它们是数据分析的理论基础.今天我们来介绍几种常见的 ...

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

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

  6. 统计系列(二)常见的概率分布

    统计系列(二)常见的概率分布 离散概率分布 伯努利分布 背景:抛一次硬币,正面朝上的概率 定义:一次试验中,只有两种结果,成功(X=1)概率为p,失败(X=0)概率为1-p.定义为伯努利试验. 数学描 ...

  7. chi2inv函数 matlab_[转载]常见的概率分布(matlab作图)

    一.常见的概率分布 表1.1 概率分布分类表 连续随机变量分布 连续统计量分布 离散随机变量分布 分布 分布 二项分布 连续均匀分布 非中心 分布 离散均匀分布 (Gamma)分布 分布 几何分布 指 ...

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

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

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

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

最新文章

  1. Linux相关问题-CentOS6.5 x64版本号下Tomcat无法自启动的解决的方法
  2. redis pool
  3. 清除word中超链接
  4. java 8流自定义收集器_Java 8编写自定义收集器简介
  5. 【转】三、QT例子-打开一个图片并且显示
  6. linux文件的三个主要的修改时间
  7. android获取签名信息
  8. Linux学习笔记(二十三)shell介绍、history命令历史、命令补全和别名、通配符、...
  9. mysql卸载报错1606_MySQL5卸载及重装出错问题记录
  10. 台达plc控制伺服电机编程实例_plc控制伺服电机程序实例讲解!成功都是可以复制的!...
  11. pyodbc linux 乱码,python-无法在Linux上安装pyodbc
  12. python实现excel表格图片识别,并转换成excel文件
  13. 判断是不是数字 Java_java如何判断是不是数字
  14. 知名互联网公司都在使用哪些数据库
  15. 为什需要采用增广拉格朗日函数
  16. 使用python制作读取示波器波形的GUI小工具
  17. html.dropdownlist 样式,使用@ Html.DropDownList()添加要选择的css类
  18. cad角度命令怎么输入_CAD教程 | CAD大佬也是这样过来的,制图命令的输入方法及操步骤...
  19. 编译原理,C语言实现LR(0)分析(扩展文法的生成、项目集规范簇的生成、ACTION GOTO表的生成、句子的分析)
  20. 小程序SetTimeOut的一个坑

热门文章

  1. 有限体积法(4)——一维扩散方程数值求解(第二类边界条件)
  2. springboot身体健康诊疗系统毕业设计源码181049
  3. BurpSuite学习:在火狐浏览器使用foxyproxy添加代理127.0.0.1后无法正常上网
  4. warmup-实验吧
  5. python三大,Python三大器
  6. 基于微信小程序的新生自助报到系统设计与实现-计算机毕业设计源码+LW文档
  7. 数组与动态数组_验证步骤
  8. 韵语编年(之十二:1990——1994)
  9. 跨越财富鸿沟:技术写作带来的无限可能 —— 怎样通过技术写作实现财富自由?
  10. 百度地图点聚合MarkerClusterer性能优化