一些公式

Gamma函数

(1)

贝叶斯公式

(2)

贝叶斯公式计算二项分布概率

现在有一枚未知硬币,我们想要计算抛出后出现正面的概率。我们使用贝叶斯公式计算硬币出现正面的概率。硬币出现正反率的概率和硬币两面的质量有较大关系,由于硬币未知,我们不知道是否会有人做手脚,于是在实验之前我们认为硬币出现正面的概率服从均匀分布,即

(3)

抛硬币是一个二项试验,所以n次实验中出现x次正面的似然概率为

(4)

把(3)(4)式带入(2)式中,得到

考虑到Gamma函数,进一步推算有

(5)

这个分布就是大名鼎鼎的Beta分布。我们记Beta函数为

记Beta分布为

实际上,抛硬币的例子中,x为正整数,所以抛n次硬币,出现x次正面的后验概率分布为

(6)

可以看到,当a、b为整数时,Beta(a, b)与二项分布Bin(n, p)的表达式有点神似。正是因为这点神似,才让Beta分布与二项分布成为共轭分布。共轭分布我们在后续会详细讲。

Beta分布特性

我们先看看Beta分布有什么特性。

1、          Beta(1, 1)等于均匀分布

2、          作为概率的概率分布,Beta(a, b)在(0, 1)上对θ积分必定为1。

3、          Beta(a, b)同时能作为先验分布和后验分布,必定能够模拟各种概率分布情况。

如上图,Beta分布可以模拟出以(0, 1)上任意点为峰值的曲线,这表明Beta分布可以模拟极大似然法求出的任意最大值点概率值。

Beta分布的统计例子

问题:随机变量,把这n个随机变量排序后得到顺序统计量,然后请问的分布是什么。

为解决这个问题,可以尝试计算落在区间[x, x+Δx]的概率。即求下述式子的值:

首先,把 [0,1] 区间分成三段 [0, x),[x, x+Δx],(x+Δx, 1],然后考虑下简单的情形:即假设n 个数中只有1个落在了区间 [x, x+Δx]内,由于这个区间内的数X(k)是第k大的,所以[0, x)中应该有 k - 1 个数,(x+Δx, 1] 这个区间中应该有n - k 个数。如下图所示:

从而问题转换为下述事件E:

对于上述事件E,有:

其中,o(Δx)表示Δx的高阶无穷小。显然,由于不同的排列组合,即n个数中有一个落在 [x, x+Δx]区间的有n种取法,余下n - 1个数中有k - 1个落在[0, x)的有种组合,所以和事件E等价的事件一共有个。

如果有2个数落在区间[x, x+Δx]呢?如下图所示:

类似于事件E,对于2个数落在区间[x, x+Δx]的事件E':

有:

从上述的事件E、事件E'中,可以看出,只要落在[x, x+Δx]内的数字超过一个,则对应的事件的概率就是 o(Δx)。于是乎有:

从而得到的概率密度函数为:

对比公式(6),可以看到上式正是a、b为整数状态下的Beta分布。

对于,我们很容易计算

共轭分布

在贝叶斯概率理论中,如果后验概率P(θ|x)和先验概率p(θ)满足同样的分布律,那么,先验分布和后验分布被叫做共轭分布,同时,先验分布叫做似然函数的共轭先验分布

文章开头的演算中,我们已经知道使用Beta(1, 1)作为先验分布,结合贝叶斯公式和二项分布似然函数,计算出的后验分布也为Beta分布。

实际上,结合公式(2)(4)(5),我们很容易得到

Beta(a, b) + 实验数据(事件A m次,非事件A n) ~ Beta(a + m, b + n)

参考:

https://blog.csdn.net/ccnt_2012/article/details/81113923

http://www.360doc.com/content/16/0428/10/478627_554452907.shtml#

https://www.zhihu.com/question/21134457

Beta分布深入理解的更多相关文章

  1. Beta分布从入门到精通

    近期一直有点小忙,可是不知道在瞎忙什么,最终有时间把Beta分布的整理弄完. 以下的内容.夹杂着英文和中文,呵呵- Beta Distribution Beta Distribution Defini ...

  2. 如何通俗理解贝叶斯推断与beta分布?

    有一枚硬币(不知道它是否公平),假如抛了三次,三次都是“花”: 能够说明它两面都是“花”吗? 1 贝叶斯推断 按照传统的算法,抛了三次得到三次“花”,那么“花”的概率应该是: 但是抛三次实在太少了,完 ...

  3. 二项分布和Beta分布

    原文为: 二项分布和Beta分布 二项分布和Beta分布 In [15]: %pylab inline import pylab as pl import numpy as np from scipy ...

  4. 关于Beta分布、二项分布与Dirichlet分布、多项分布的关系

    在机器学习领域中,概率模型是一个常用的利器.用它来对问题进行建模,有几点好处:1)当给定参数分布的假设空间后,可以通过很严格的数学推导,得到模型的似然分布,这样模型可以有很好的概率解释:2)可以利用现 ...

  5. Dirichlet分布深入理解

    Dirichlet分布 我们把Beta分布推广到高维的场景,就是Dirichlet分布.Dirichlet分布定义如下 Dirichlet分布与多项式分布共轭.多项式分布定义如下 共轭关系表示如下 D ...

  6. 伯努利分布、二项分布、Beta分布、多项分布和Dirichlet分布与他们之间的关系,以及在LDA中的应用

    在看LDA的时候,遇到的数学公式分布有些多,因此在这里总结一下思路. 一.伯努利试验.伯努利过程与伯努利分布 先说一下什么是伯努利试验: 维基百科伯努利试验中: 伯努利试验(Bernoulli tri ...

  7. 指数家族-Beta分布

    2. Beta分布 2.1 Beta分布 我们将由几个问题来得引出几个分布: 问题一:1:  2:把这个  个随机变量排序后得到顺序统计量  3:问  是什么分布 首先我们尝试计算  落在一个区间   ...

  8. Beta分布和Dirichlet分布

    在<Gamma函数是如何被发现的?>里证明了\begin{align*} B(m, n) = \int_0^1 x^{m-1} (1-x)^{n-1} \text{d} x = \frac ...

  9. 二项分布 多项分布 伽马函数 Beta分布

    http://blog.csdn.net/shuimu12345678/article/details/30773929 0-1分布: 在一次试验中,要么为0要么为1的分布,叫0-1分布. 二项分布: ...

随机推荐

  1. 洛谷P3246 序列 [HNOI2016] 莫队/线段树+扫描线

    正解:莫队/线段树+扫描线 解题报告: 传送门! 似乎是有两种方法的,,,所以分别港下好了QAQ 第一种,莫队 看到这种询问很多区间之类的就会自然而然地想到莫队趴?然后仔细思考一下,发现复杂度似乎是欧 ...

  2. 【PyQt5-Qt Designer】Qt 的标准对话框总结

    PyQt5 各种弹出对话框的总结 忙碌了两天才总结完,深刻体会到 “编程在实践中才能领悟更深”,后续有了更多的 理解继续来补充... 效果如下: 参考: https://www.cnblogs.com ...

  3. python基础数据类型考试题

    Python基础数据类型考试题 考试时间:两个半小时                      满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...

  4. ubuntu编译opencv3.1遇到的问题

    网上有很多关于编译的具体步骤,我也是按照网上的说明一步步操作的,这里主要想记录的是在安装完之后,import cv2不存在以及其他的libopencv_hdf.so.3.1等找不到的问题,如果将这样的 ...

  5. oracle中is和as的区别

    在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别:在视图(VIEW)中只能用AS不能用IS:在游标(CURSOR)中只能用IS不能用AS.

  6. yum方式安装lnmp

    1.安装mysql>>>yum -y install mariadb mariadb-server 给root用户设置密码 >>>mysqladmin -uroot ...

  7. 可快速生成增删curd改查功能的插件

    仿造Django中的admin自己实现增删改查.模糊搜索.批量操作.条件筛选.popup功能的插件 1.创建组件 首先创建一个app,这里取名为stark,在settings.py中将其进行注册 IN ...

  8. what's the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法

    计算机可以进行的运算有很多种,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.字符串和列表的算数运算只能用+和*,字典没有顺序,所以不能进行算数运算和比较运算.比较运算中= ...

  9. 类属性"get"必须声明主体,因为它未标记为 abstract 或 extern[解决方法]

    当在页面cs文件中,写类属性时,运行会碰到以下问题:CS0501: “ASP.default_aspx.Person.Level.get”必须声明主体,因为它未标记为 abstract 或 exter ...

  10. ORM模板层

    1.模板语言之变量 def index(request): name='lqz' age=18 ll=['name','age'] dic={'name':name,'age':age} class ...