贝叶斯定理与极大似然估计
贝叶斯定理
贝叶斯定理是以条件概率为基础的,所以我们要首先复习下条件概率。
所谓"条件概率"(Conditional probability),就是指在事件B发生的情况下,事件A发生的概率,用P(A|B)来表示。
可以很清楚地看到在事件B发生的情况下,事件A发生的概率就是P(A∩B)除以P(B)
P(B)乘过去,易得:
同理:
从文氏图中很显然
所以可得:
最后我们就推导出了条件概率的计算公式:
上式也可以理解为贝叶斯定理的公式。
我们把P(A)称为"先验概率"(Prior probability),即在B事件发生之前,我们对A事件概率的一个判断。P(A|B)称为"后验概率"(Posterior probability),即在B事件发生之后,我们对A事件概率的重新评估。 称为"可能性函数"(Likelyhood),这是一个调整因子,使得预估概率更接近真实概率。
所以,条件概率可以理解成下面的式子:
后验概率 = 先验概率 x 调整因子
这就是贝叶斯推断的含义。我们先预估一个"先验概率",然后加入实验结果,看这个实验到底是增强还是削弱了"先验概率",由此得到更接近事实的"后验概率"。
在这里,如果"可能性函数",意味着"先验概率"被增强,事件A的发生的可能性变大;如果"可能性函数"=1,意味着B事件无助于判断事件A的可能性;如果"可能性函数"<1,意味着"先验概率"被削弱,事件A的可能性变小。
三门问题
问题描述
三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let’s Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的概率?
- 最开始的时候,我们对这三扇门之后有什么一无所知,所以我们最好的做法是公平对待三扇门,我们假设(n=1,2,3) 为第n个门之后有汽车,那么我们有
- 假设我们选择门1,主持人打开了门2,这时根据我们打开的门之后是否有汽车,主持人打开的门的概率是会有变化的:如果门1后有汽车,对于正常人来说,主持人打开门2和门3的概率基本上应该是一致的,为1/2;如果门2后有汽车,主持人打开门2的概率是0,如果门3后有汽车,主持人打开门2的概率是1
- 我们设事件 B = { 主持人打开了门2 },那么我们可以得到:
- 假设 1 号门后是汽车,那2和3号门后都是羊,那么主持人打开门2和门3是一样的,概率都是0.5,即,
- 假设 2 号门后是汽车,因为主持人已知汽车在哪个门后面,那么主持人是不会打开门2的,即
- 假设 3 号门后是汽车,那么门1和门2后面都是羊,此时参赛者已经选择了1号门,主持人别无选择只能打开2号门,所以
那么我们计算 ,这个式子表示我们在得到主持人打开的门2后面没有汽车这个事实之后,对于这个概率的调整:
而P(B)可以通过全概率公式计算:
很容易计算出:
所以三门问题的答案是如果换门会增加赢得汽车的概率。不换门的话,赢得汽车的几率是1/3。换门的话,赢得汽车的几率是2/3。
极大似然估计
要明白极大似然估计的思想,我们先来引入一个概念-似然函数
在数理统计学中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性。
</br>
“似然性”与“概率”意思相近,都是指某种事件发生的可能性,但是在统计学中,“似然性”和“概率”又有明确的区分。概率用于在已知一些参数的情况下,预测接下来的观测所得到的结果,而似然性则是用于在已知某些观测所得到的结果时,对有关事物的性质的参数进行估计。
在这种意义上,似然函数可以理解为条件概率的逆反。
在已知某个参数 B 时,事件 A 会发生的概率写作。那么我们反过来构造表示似然性的方法:已知有事件 A 发生,运用似然函数 ,估计参数 B 的可能性。
形式上,似然函数也是一种条件概率函数,但我们关注的变量改变了。
通过一个掷硬币的例子来解释下概率和似然函数的区别:
概率是给定某一参数值,求某一结果的可能性。
例如,抛一枚匀质硬币,抛10次,6次正面向上的可能性多大? "匀质硬币"表明参数值是0.5,"抛10次,六次正面向上"这是一个结果,概率(probability)是求这一结果的可能性。使用公式:n=10, k=6, P=0.5, Q=0.5, 计算得:0.205。
即,匀质硬币,抛10次,6次向上的概率是0.205
似然是给定某一结果,求某一参数值的可能性。
例如,抛一枚硬币,抛10次,结果是6次正面向上,其是匀质的可能性多大?"抛10次,结果是6次正面向",这是一个给定的结果,问"匀质"的可能性,即求参数值=0.5的可能性。
计算公式与上面相同。结果相同,只是视角不同。
与此相联系的是最大似然法(极大似然法),问题就变成:
"抛10次,结果是6次正面朝上,那么,参数P的最大可能值是什么?"。
当然,从0到1的可能性都有。怎么求出可能性最大的(即最像的)的呢?最基本的办法是一个一个试,先求参数值为0.01的可能性(即概率),再算参数值为0.02的概率,依此类推,直到0.99的概率,看看哪个参数值的概率最大,就把它作为参数的估计值,这就是最大似然法。
我们通过代码模拟下,看是否可以绘制出可视化的曲线:
from scipy.special import comb
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#计算概率
def getProbability(n, k, p):
return comb(n,k)*pow(p, k)*pow(1-p, (n-k))
result = []
for i in range(100):
result.append(getProbability(10,6,0.01*i))
fig = plt.figure(figsize=(10, 5))
ax1 = fig.add_subplot(111)
ax1.plot(np.linspace(0, 1.0, num=100), result, 'ko')
ax1.set_title('最大似然估计')
fig.show()
image
可以看出参数值为0.6的概率最大,因此0.6就是用极大似然法求出的参数估计值。
但这只是一次实验的结果,如果我们进行大量的实验,并且每次投掷的次数也加大,参数值的估计值会趋于0.5。