自从贝叶斯理论诞生以后,频率学派和贝叶斯学派的争论一直没有停歇,平时的学习太注重公式计算,故在此谈谈自己对贝叶斯理论的一些认识。
频率学派认为概率是基于大量实验所得的定值(大数定理),比如抛掷一枚材质均匀的硬币10000次,出现正面的次数有4995次,反面的次数有5005次,大致认为出现正反面的概率都是50%。然而现实生活中很多事情是无法做大量实验的,比如某人得心脏病的概率是5%,显然我们无法通过多次实验来计算出这个概率值。回到硬币的例子,如果只允许你抛5次,5次的结果都是正面,那么出现正面的概率是100%了吗?显然这是存在弊端的。
再来看一个非常经典的医学上的例子:有一种很稀有的病,得病的人检测结果呈阳性的概率是0.9,没得病的人检测结果呈阴性的概率也是0.9,人们患这种病的概率是0.01。如果某人的检测结果呈阳性,那么他患这种病的概率是多少?
直观上看:患病的人检测呈阳性的概率是0.9,这个人被检测为阳性,那么有很大概率这个人是患病的。不妨试着算算:
假设用A表示检测结果为阳性,B表示患病,那么可以很轻松的计算出:
可以看到:即使检测结果呈阳性,患病的概率仍然只有8.3%,和我们的直观认识并不相同。
上面的计算其实就用了贝叶斯公式:后验概率(P(B|A))等于条件概率(P(A|B))(似然函数)乘以先验概率(P(B)),再除以一个常数因子。我们在已知先验概率的前提下,通过新的观测值(P(A|B))(检测结果是否阳性)来预测患病的概率。
关于常数因子(P(A))可以这样理解:分子(P(A,B))表示检测结果呈阳性并且患病的概率,那么还有一部分人(P(A,ar B))检测结果呈阳性但是没有患病,(P(A,B)+P(A,ar B)=P(A)),我们要求的(P(B|A))即检测呈阳性的人中患病的人所占的比例(cfrac{P(A,B)}{P(A)})。
更加一般的贝叶斯公式:
如果参数( heta)的分布是离散的:
如果参数( heta)的分布是连续的:
后验概率密度表示在已知x的前提下关于参数( heta)的一个概率密度函数,即( heta)是一个分布,而不是一个固定的值,这是贝叶斯学派与传统学派最大的不同。
似然函数(f(x| heta))可以这么理解:每个事件的背后都有一个分布,这个分布里是含有参数的,并且传统学派认为这个参数( heta)是固定的,我们做了大量的实验,用很多样本x就是为了求出这个参数的值,观测到的样本x是以参数( heta)为前提的一个分布。为了估计( heta),我们用到了矩估计和极大似然估计,本质上都是一样的,我们在参数( heta)的前提下,从总体X中采样n个样本,用样本的性质来大致替代总体的参数( heta)。具体到极大似然:通过找到使似然函数(prod_{i=1}^{n}f(x_i| heta))最大的参数当作( heta),其实就是选择一个( heta)使得样本出现的概率最大,本质上仍然是在拟合样本数据。
从上面的分析可以看出:我们的未知参数( heta)是从样本中计算得到的,必然和总体中原本的参数值存在误差,并且只能求得一个固定的参数值。贝叶斯理论认为:参数( heta)不应该是一个单独的值,更加合理的解释应该是参数( heta)有很多取值,并且每个取值都有相应的概率,即参数是服从某种分布的。概率最大的那个参数值即最大后验估计,参数取值的中位数即后验中位数估计,参数取值的均值即后验期望估计。为什么仍然叫估计呢?因为我们的后验分布是从似然计算得到的,我们无法采样所有的总体中的样本,所以也就无法计算出参数( heta)的精确分布。
最后来看看先验分布(pi( heta)),即在获得实验观测值之前对未知参数分布的一个主观认识,这也是贝叶斯学派一直被攻击的一点,客观的统计学中竟然引入了主观的因素!比如对于材质均匀的硬币,在抛掷之前,我们脑海中就会认为出现正反面的概率各是0.5。
但是很多时候先验分布是很难获得的,如果硬币材质不均匀,我们的先验又应当是什么分布呢?此时就引入了课程上讲的无信息先验,当我们对事件没有了解的时候,认为参数所有取值的概率都是相等的,在硬币实验中,我们认为( heta)是服从(0,1)的均匀分布。接着我们来做实验,看看后验分布会怎么变化(图源:Cameron Davidson-Pilon, Probabilistic Programming and Bayesian Methods for Hackers, 2016):
从图中可以看出:起初是均匀分布,连续抛掷了2次正面,此时认为该硬币正面向上的概率为1的可能性是最大的,但注意:正面向上的概率取0.6,0.4的可能也不是没有,不过这种可能性更小罢了。如果我们用极大似然去估计,就会得到该硬币正面向上的概率是1,正面向上的概率取0.6,0.4的可能为0,这显然与现实不符!接着抛了一次反面,正面向上的概率分布又进行了修正,不断通过观测值修正我们的后验,最终得到一个稳定的后验分布。
均匀分布(U(a,b))作为先验看起来很好用,但是他本质上还是有倾向性的,即认为在区间(a,b)内是有取值的,在区间外是没有取值的可能的,更加合理的无信息先验可以选取一个大方差的高斯分布。
选择高斯分布作为先验带来的一个问题是计算上的复杂性骤然提高,所以引入了共轭先验分布:即后验分布(pi( heta|x))与先验分布(pi( heta))是同一种类型的分布,就称先验分布(pi( heta))是(f(x| heta))的共轭先验分布。这样我们在计算后验分布时,就无需计算复杂的积分,只要调整先验分布的参数即可确定后验分布。可以证明:(eta)分布是二项分布(B(n,p))中参数(p)的共轭先验分布。即如果总体(X| hetasim B(N, heta)),从中采样n个样本,样本分布即似然函数(f(x| heta))服从(eta)分布,假设先验( hetasimeta(a,b)),那么后验分布( heta|xsimeta(a+sum x_i,b+nN-sum x_i))。
证明:
总体(X| hetasim B(N, heta)),先验( hetasimeta(a,b)),(X=(X_1,...,X_n)^T)是来自总体的n个样本,则样本分布为:
可以看到:似然函数(L( heta))具有(eta)分布的核,先验的核为( heta^{a-1}(1- heta)^{b-1}),所以后验为:
显然后验分布的核与(eta)分布的核是同种类型,即( heta|xsimeta(a+sum x_i,b+nN-sum x_i)),所以(eta)分布是二项分布(B(n,p))中参数(p)的共轭先验分布。