贝叶斯及其相关基础知识

历史背景

       贝叶斯全名为托马斯·贝叶斯(Thomas Bayes,1701-1761),是一位与牛顿同时代的牧师,是一位业余数学家,平时就思考些有关上帝的事情,当然,统计学家都认为概率这个东西就是上帝在掷骰子。当时贝叶斯发现了古典统计学当中的一些缺点,从而提出了自己的“贝叶斯统计学”,但贝叶斯统计当中由于引入了一个主观因素(先验概率,下文会介绍),一点都不被当时的人认可。直到20世纪中期,也就是快200年后了,统计学家在古典统计学中遇到了瓶颈,伴随着计算机技术的发展,当统计学家使用贝叶斯统计理论时发现能解决很多之前不能解决的问题,从而贝叶斯统计学一下子火了起来,两个统计学派从此争论不休。 

什么是概率? 

       掷硬币的例子说明了古典统计学的思想,就是概率是基于大量实验的,也就是 大数定理。那么现在再问你,有些事件,例如:明天下雨的概率是30%;A地会发生地震的概率是5%;一个人得心脏病的概率是40%…… 这些概率怎么解释呢?难道是A地真的100次的机会里,地震了5次吗?肯定不是这样,所以古典统计学就无法解释了。再回到掷硬币的例子中,如果你没有机会掷1000次这么多次,而是只掷了3次,可这3次又都是正面,那该怎么办?难道这个正面的概率就是100%了吗?这也是古典统计学的弊端。 

联合概率、边际概率、条件概率 

 某离散分布:

联合概率、边际概率、条件概率的关系:

  • Pr(X=x, Y=y)为“XY的联合概率”
  • Pr(X=x)为“X的边际概率”
  • Pr(X=x | Y=y)为“X基于Y的条件概率”
  • Pr(Y=y)为“Y的边际概率”

从上式子中可以看到: 
Pr(X=x, Y=y) = Pr(X=x | Y=y) * Pr(Y=y) 
即:“XY的联合概率”=“X基于Y的条件概率”乘以“Y的边际概率” 
这个就是联合概率、边际概率、条件概率之间的转换计算公式

前面表述的是离散分布,对于连续分布,也差不多。 
只需要将“累加”换成“积分”。 

è¿éåå¾çæè¿° 

举个例子:生病的几率

一种癌症,得了这个癌症的人被检测出为阳性的几率为90%,未得这种癌症的人被检测出阴性的几率为90%,而人群中得这种癌症的几率为1%,一个人被检测出阳性,问这个人得癌症的几率为多少?
猛地一看,被检查出阳性,而且得癌症的话阳性的概率是90%,那想必这个人应该是难以幸免了。那我们接下来就算算看。

我们用 AA 表示事件 “测出为阳性”, 用 B1B1 表示“得癌症”, B2B2 表示“未得癌症”。根据题目,我们知道如下信息:

P(A|B1)=0.9,P(A|B2)=0.1,P(B1)=0.01,P(B2)=0.99P(A|B1)=0.9,P(A|B2)=0.1,P(B1)=0.01,P(B2)=0.99


那么我们现在想得到的是已知为阳性的情况下,得癌症的几率 P(B1,A)P(B1,A) :

 

P(B1,A)=P(B1)⋅P(A|B1)=0.01×0.9=0.009P(B1,A)=P(B1)⋅P(A|B1)=0.01×0.9=0.009


这里 P(B1,A)P(B1,A) 表示的是联合概率,得癌症且检测出阳性的概率是人群中得癌症的概率乘上得癌症时测出是阳性的几率,是0.009。同理可得得癌症且检测出阳性的概率:

P(B2,A)=P(B2)⋅P(A|B2)=0.99×0.1=0.099P(B2,A)=P(B2)⋅P(A|B2)=0.99×0.1=0.099


这个概率是什么意思呢?其实是指如果人群中有1000个人,检测出阳性并且得癌症的人有9个,检测出阳性但未得癌症的人有99个。可以看出,检测出阳性并不可怕,不得癌症的是绝大多数的,这跟我们一开始的直觉判断是不同的!可直到现在,我们并没有得到所谓的“在检测出阳性的前提下得癌症的 概率 ”,怎么得到呢?很简单,就是看被测出为阳性的这108(9+99)人里,9人和99人分别占的比例就是我们要的,也就是说我们只需要添加一个归一化因子(normalization)就可以了。

贝叶斯公式

我们把上面例题中的 A 变成样本(sample) x , 把 B 变成参数(parameter) θ, 我们便得到我们的贝叶斯公式: 

可以看出上面这个例子中,B 事件的分布是离散的,所以在分母用的是求和符号 ∑ 。那如果我们的参数 θ 的分布是连续的呢?没错,那就要用积分,于是我们终于得到了真正的 贝叶斯公式 :

 

其中 π 指的是参数的概率分布, π(θ)指的是先验概率, π(θ|x)指的是后验概率, f(x|θ) 指的是我们观测到的样本的分布,也就是似然函数(likelihood),记住 竖线 | 左边的才是我们需要的。其中积分求的区间 Θ指的是参数 θ 所有可能取到的值的域,所以可以看出后验概率 π(θ|x) 是在知道 x 的前提下在 Θ 域内的一个关于 θ 的概率密度分布,每一个 θ 都有一个对应的可能性(也就是概率)。

理解贝叶斯公式

似然函数 

        首先来看似然函数 f(x|θ),似然函数听起来很陌生,其实就是我们在概率论当中看到的各种概率分布 f(x),那为什么后面要加个参数 |θ 呢?我们知道,掷硬币这个事件是服从伯努利分布的 Ber(p), n次的伯努利实验就是我们熟知的二项分布 Bin(n,p), 这里的p就是一个参数,原来我们在做实验之前,这个参数就已经存在了(可以理解为上帝已经定好了),我们抽样出很多的样本 x 是为了找出这个参数,我们上面所说的掷硬币的例子,由于我们掷了1000次有492次是正面,根据求期望的公式 n⋅p=μ (492就是我们的期望)可以得出参数 p 为 492/1000=0.492,所以我们才认为正面的概率是近似50%的。 

       现在我们知道了,其实我们观测到样本 x 的分布是在以某个参数 θ 为前提下得出来的,所以我们记为 f(x|θ),只是我们并不知道这个参数是多少。所以 参数估计 成为了统计学里很大的一个课题,古典统计学中常用的方法有两种:矩方法(momnet) 和 最大似然估计(maximum likelihood estimate, mle) ,我们常用的像上面掷硬币例子中求均值的方法,本质就是矩估计方法,这是基于大数定理的。而统计学中更广泛的是使用最大似然估计的方法,原理其实很简单,在这简单说一下:假设我们有 n 个样本 x1,x2,x3,…,xn 它们每一个变量都对应一个似然函数:

我们现在把这些似然函数乘起来:

我们只要找到令 lik(θ)这个函数最大的 θ 值,便是我们想要的参数值(具体计算参考[2]中p184)。

后验分布(Posterior distribution)

        现在到了贝叶斯的时间了。以前我们想知道一个参数,要通过大量的观测值才能得出,而且是只能得出一个参数值。而现在运用了贝叶斯统计思想,这个后验概率分布 π(θ|x) 其实是一系列参数值 θ 的概率分布,再说简单点就是我们得到了许多个参数 θ及其对应的可能性,我们只需要从中选取我们想要的值就可以了:有时我们想要概率最大的那个参数,那这就是 后验众数估计(posterior mode estimator);有时我们想知道参数分布的中位数,那这就是 后验中位数估计(posterior median estimator);有时我们想知道的是这个参数分布的均值,那就是 后验期望估计。这三种估计没有谁好谁坏,只是提供了三种方法得出参数,看需要来选择。现在这样看来得到的参数是不是更具有说服力?

置信区间和可信区间

       在这里我想提一下 置信区间(confidence interval, CI) 和 可信区间(credibility interval,CI),我觉得这是刚学贝叶斯时候非常容易弄混的概念。
       再举个例子:一个班级男生的身高可能服从某种正态分布 N(μ,σ2),然后我们把全班男生的身高给记录下来,用高中就学过的求均值和方差的公式就可以算出来这两个参数,要知道我们真正想知道的是这个参数 μ,σ2,当然样本越多,得出的结果就接近真实值(其实并没有人知道什么是真实值,可能只有上帝知道)。等我们算出了均值和方差,我们这时候一般会构建一个95%或者90%的置信区间,这个置信区间是对于 样本 x 来说的,我只算出了一个 μ 和 一个σ 参数值的情况下,95%的置信区间意味着在这个区间里的样本是可以相信是服从以 μ,σ 为参数的正态分布的,一定要记住置信区间的概念中是指 一个参数值 的情况下!
而我们也会对我们得到的后验概率分布构造一个90%或95%的区间,称之为可信区间。这个可信区间是对于 参数 θ 来说的,我们的到了 很多的参数值,取其中概率更大一些的90%或95%,便成了可信区间。

先验分布(Prior distribution)

       说完了后验分布,现在就来说说先验分布。先验分布就是你在取得实验观测值以前对一个参数概率分布的 主观判断,这也就是为什么贝叶斯统计学一直不被认可的原因,统计学或者数学都是客观的,怎么能加入主观因素呢?但事实证明这样的效果会非常好!
       再拿掷硬币的例子来看(怎么老是拿这个举例,是有多爱钱。。。),在扔之前你会有判断正面的概率是50%,这就是所谓的先验概率,但如果是在打赌,为了让自己的描述准确点,我们可能会说正面的概率为0.5的可能性最大,0.45的几率小点,0.4的几率再小点,0.1的几率几乎没有等等,这就形成了一个先验概率分布。
       那么现在又有新的问题了,如果我告诉你这个硬币的材质是不均匀的,那正面的可能性是多少呢?这就让人犯糊涂了,我们想有主观判断也无从下手,于是我们就想说那就先认为 0 1 之间每一种的可能性都是相同的吧,也就是设置成0~1之间的均匀分布 Uni(0,1)作为先验分布吧,这就是贝叶斯统计学当中的 无信息先验(noninformative prior)!那么下面我们就通过不断掷硬币来看看,这个概率到是多少,贝叶斯过程如下:

pri2

       从图中我们可以看出,0次试验的时候就是我们的先验假设——均匀分布,然后掷了第一次是正面,于是概率分布倾向于1,第二次又是正,概率是1的可能性更大了,但 注意:这时候在0.5的概率还是有的,只不过概率很小,在0.2的概率变得更小。第三次是反面,于是概率分布被修正了一下,从为1的概率最大变成了2/3左右最大(3次试验,2次正1次反当然概率是2/3的概率最大)。再下面就是进行更多次的试验,后验概率不断根据观测值在改变,当次数很大的时候,结果趋向于0.5(哈哈,结果这还是一枚普通的硬币,不过这个事件告诉我们,直觉是不可靠的,一定亲自实验才行~)。有的人会说,这还不是在大量数据下得到了正面概率为0.5嘛,有什么好稀奇的? 注意了!画重点了!(敲黑板) 记住,不要和一个统计学家或者数学家打赌!跑题了,跑题了。。。说回来,我们上面就说到了古典概率学的弊端就是如果掷了2次都是正面,那我们就会认为正面的概率是1,而在贝叶斯统计学中,如果我们掷了2次都是正面,只能说明正面是1的可能性最大,但还是有可能为0.5, 0.6, 0.7等等的,这就是对古典统计学的一种完善和补充,于是我们也就是解释了,我们所谓的 地震的概率为5%;生病的概率为10%等等这些概率的意义了,这就是贝叶斯统计学的哲学思想。

MCMC(Markov chain Monte Carlo)

      你以为说到这贝叶斯的事情就结束了?那你真的就是太naive了。贝叶斯公式里的 θ 只是一个参数,有没有想过有两个参数怎么办?还能怎么办,分布的积分改成双重积分呗。可以可以,那如果有3个、5个、10个参数呢?还有十重积分嘛?很显然积分这个工具只适合我们在一维和二维的情况下进行计算,三维以上的效果就已经不好了;其实不仅仅在于多维情况,就算是在一维情况很多积分也很难用数值方法计算出来,那该怎么办?于是便有了MCMC方法,全称是 马尔科夫链蒙特卡洛方法。 

第二个MC:蒙特卡洛方法

       虽然蒙特卡洛方法是MCMC中的第二个MC,但先解释蒙特卡洛方法会更加容易理解。蒙特卡洛方法也称蒙特卡洛抽样方法,其基本思想是通过大量取样来近似得到想要的答案。有一个经典的试验就是计算圆周率,在一个边上为1的正方形中画一个内切圆,圆的面积就是 ππ,圆面积比上整体的正方形面积也是 ππ, 现在在正方形内产生大量随机数,最后我们只需要计算在圆内点的个数比上总体点的个数,便近似得到了圆周率 ππ 的值(这些统计学家是真聪明啊。。。)。
       现在回到贝叶斯公式,我们现在有一个后验概率 π(θ|x)π(θ|x) ,但我们其实最想知道的是 h(θ)h(θ) 的后验期望:

        怎么又跑出来一个 h(θ) ?不要着急,如果我们令 h(θ)=θ, 那上面这个积分求得就是我们想要的后验期望估计了!(当然 h(θ)还可以是其他情况,会得到其他我们想要的结果,例如后验最大估计,后验方差等等,这里就不赘述了) 蒙特卡洛方法指出:如果我们可以从后验概率分布 π(θ|x) 中抽取大量的独立同分布(i.i.d)的观测值 θ1,θ2,…,θm,于是我们可以用如下公式:

在大数定理的支持下,hm 就可看作是 E[h(θ)|x]的近似值。但是这个方法在多维和后验分布形式未知的情况下,很难抽样,于是便有了第一个MC,马尔科夫链的方法。

第一个MC:马尔科夫链

马尔科夫链也称之为马氏链,先来看一下数学定义:

 

意思就是,从 Xn,Xn−1,…,X0到 Xn+1Xn+1 的转移概率只与 Xn+1 的前一个状态 Xn 有关。

如果条件概率 P(Xn+1|Xn) 与 n 无关,成为一个固定值,那么就称这个马氏链有平稳转移概率,记为 pij 。并且我们称 P=(pij) 为马氏链的转移矩阵,且满足条件:

 

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值