贝叶斯估计

本文简单的介绍了贝叶斯估计方法,以及如何使用贝叶斯估计来解决一些实际问题。

目录

1.引入

我定点投篮, 投5次, 次次投中, 问:我的投篮技术如何?再比如科比投篮, 投100次, 次次投中, 问:科比投篮技术如何?如果我们使用经典方法:矩法估计、极大似然估计, 得到的结果是我和科比投蓝准确率都是100%, 即我和科比技术一样, 都是百投百中。

在统计学中, 主要有两个学派:

  • 频率学派 是经典学派, 带头人是Pearson、Fisher、Neyman;他们的主要观点是概率指的是相对频率, 是真实世界的客观属性。参数是固定的未知常数。由于参数不会波动, 因此不能对其进行概率描述。而统计过程应该具有定义良好的频率稳定性。如:一个95%的置信区间应覆盖参数真实值至少95%的频率。我们根据联合分布密度\(p(x_1,x_2,..x_n ; \theta)\)求解参数值。
  • 贝叶斯学派 概率描述的是主观信念的程度, 而不是频率。这样除了对从随机变化产生的数据进行概率描述外, 我们还可以对其他事物进行概率描述。可以对各个参数进行概率描述, 即使它们是固定的常数, 即为参数生成一个概率分布来对它们进行推导, 点估计和区间估计可以从这些分布得到。

统计学更多关注频率推断, 而机器学习和数据挖掘更偏爱贝叶斯推断。

对频率学派的批评主要表现在两点:第一是置信区间[u1,u2]是指该区间覆盖u的概率(不是u位于区间的概率), 而频率中u不是变量。第二是评价方法, 假设检验、参数估计等都是多次重复的结果, 很难知道一次实验发生的可能性。

2.贝叶斯方法

回忆一下贝叶斯定理 \(f(y | x) = \frac{f(x | y)f(y)}{\int{f(x | y)f(y)dy}}\) 利用贝叶斯规则将数据和参数的分布联合起来, 就是
\(f(\theta | x) = \frac{f(x | \theta)f(\theta)}{\int{f(x | \theta)f(\theta)dy}}\)

也可以写成 \(posterior = \frac{likelihood×prior}{normalizing constant}\) , 有时候 normalizing constant 也称之为 evidence.

贝叶斯推断的基本步骤如下:

  • 选择一个概率密度函数 \(f(\theta)\) , 用来表示在取得数据之前我们对某个参数 \(\theta\) 的信念, 称之为先验分布
  • 选择一个模型 \(f(x | \theta)\) , 用于表示在给定参数 \(\theta\) 情况下我们对x的信念
  • 当得到数据 \(X_1, X_2, ..., X_n\) 后, 更新我们的信念且计算后验分布 \(f( \theta | X_1,...,X_n)\)
  • 从后验概率中得到点估计和区间估计

反对贝叶斯学派的观点

  • 不方便:后验区间不是真正的置信区间, 估计通常都是有偏估计
  • 计算强度大:积分/仿真或近似很难处理
  • 不必要的复杂:即使没有先验信息也要有先验函数
  • 假设检验:贝叶斯假设检验对先验的选取很敏感

2.1贝叶斯公式的密度函数形式

总体依赖于参数 \(\theta\) 的概率函数在贝叶斯统计中记为\(P(x|\theta)\), 它表示在随机变量\(\theta\)取某个给定值时总体的条件概率函数;根据参数 \(\theta\) 的先验信息可确定先验分布 \(\pi(\theta)\);

从贝叶斯观点看, 样本 \(x_1, x_2 , ... , x_n\) 的产生分两步进行:

首先从先验分布 \(\pi ( \theta )\) 产生一个样本 \(\theta_0\) , 然后从 \(P(x | \theta_0)\) 中产生一组样本。这时样本的联合条件概率函数为 \(p(x_1,...,x_n | \theta_0) = \prod_{i=1}^n{p(x | i | \theta_0)}\) , 这个分布综合了总体信息和样本信息;

\(\theta_0\) 是未知的, 它是按先验分布 \(\pi(\theta)\) 产生的。为把先验信息综合进去, 不能只考虑 \(\theta_0\) , 对 \(\theta\) 的其它值发生的可能性也要加以考虑, 故要用 \(\pi(\theta)\) 进行综合。这样一来, 样本 \(x_1,..., x_n\) 和参数 \(\theta\) 的联合分布为: \(h(x_1,x_2,...,x_n, \theta) = p(x_1,x_2,...,x_n | \theta)\pi(\theta)\) , 这个联合分布把总体信息样本信息先验信息三种可用信息都综合进去了。

在没有样本信息时, 人们只能依据先验分布对 \(\theta\) 作出推断。在有了样本观察值 \(x_1, x_2 ,..., x_n\) 之后, 则应依据 \(h(x_1,x_2,...,x_n, \theta)\) 对 \(\theta\) 作出推断。由于 \(h(x_1,x_2,...,x_n, \theta) = \pi(\theta) m(x_1,x_2,...,x_n)\) , 其中,
\(m(x_1,...,x_n) = \int_\theta{h(x_1,...,x_n,\theta)d\theta} = \int_\theta{p(x_1,...,x_n | \theta)\pi(\theta)d\theta}\) 是 \(x_1, x_2 ,..., x_n\) 的边际概率函数, 它与 \(\theta\) 无关, 不含 \(\theta\) 的任何信息。因此能用来对 \(\theta\) 作出推断的仅是条件分布 \(\pi(\theta | x_1,x_2,...,x_n)\) , 它的计算公式是
\(\pi(\theta | x_1,...,x_n) = \frac{h(x_1,...x_n,\theta)}{m(x_1,...,x_n)} = \frac{p(x_1,...,x_n | \theta)\pi(\theta)}{\prod_\theta{p(x_1,...,x_n | theta)\pi(\theta)}d\theta}\)

这个条件分布称为 \(\theta\) 的后验分布, 它集中了总体、样本和先验中有关 \(\theta\) 的一切信息。后验分布 \(\pi ( \theta | x_1,...,x_n)\) 的计算公式就是用概率函数表示的贝叶斯公式。它是用总体和样本对先验分布 \(\pi(\theta)\) 作调整的结果。贝叶斯统计的一切推断都是基于后验分布进行。

2.2贝叶斯估计

基于后验分布 \(\pi ( \theta | x_1,...,x_n)\) 对 \(\theta\) 所作的贝叶斯估计有多种, 常用有如下三种:

  • 使用后验分布的密度函数最大值作为 \(\theta\) 的点估计, 称为最大后验估计;
  • 使用后验分布的中位数作为 \(\theta\) 的点估计, 称为后验中位数估计;
  • 使用后验分布的均值作为 \(\theta\) 的点估计, 称为后验期望估计。

用得最多的是后验期望估计, 它一般也简称为贝叶斯估计, 记为 \(\hat{\theta_B}\) 。 我们在试验前对事件A没有什么了解, 从而对其发生的概率 \(\theta\) 也没有任何信息。在这种场合, 贝叶斯本人建议采用“同等无知”的原则使用区间(0,1)上的均匀分布U(0,1)作为 \(\theta\) 的先验分布, 因为它取(0,1)上的每一点的机会均等。贝叶斯的这个建议被后人称为贝叶斯假设

2.3共轭先验分布

若后验分布 \(\pi ( \theta | x)\) 与 \(\pi ( \theta)\) 属于同一个分布族, 则称该分布族是 \(\theta\) 的共轭先验分布(族)。

  • 二项分布 \(b(n,\theta)\) 中的成功概率 \(\theta\) 的共轭先验分布是贝塔分布 \(Beta(a,b)\) ;
  • 泊松分布 \(P(\theta)\) 中的均值 \(\theta\) 的共轭先验分布是伽玛分布 \(Ga(\alpha,\gamma)\) ;
  • 在方差已知时, 正态均值 \(\theta\) 的共轭先验分布是正态分布 \(N(\mu,\sigma^2)\) ;
  • 在均值已知时, 正态方差 \(\sigma^2\) 的共轭先验分布是倒伽玛分布 \(IGa(\alpha,\gamma)\) 。

其他的常见的共轭先验(Conjugate prior)可以参考wikipedia. 那么先验知识从哪里来呢?

我们可能在观测数据之前就有一些主观观点或真正的先验知识。但是, 通常我们并没有真正的先验知识或者我们在贝叶斯估计时想更客观些, 这时可以选择无信息的先验(noninformative prior)。或者可以从数据估计先验。这被称为经验贝叶斯(empirical Bayes)。

3.总结与案例

在参数模型中, 当样本数目很多时, 贝叶斯方法和频率方法得到的近似相同的推理。但通常二者的结果不同(一个是确切值, 一个是概率分布)。贝叶斯方法和频率推理是为了解决不同的问题, 贝叶斯方法用于结合先验知识和数据, 而频率方法用于构造长期稳定的性能(如置信区间)。另外, 当参数空间为高维时, 通常采用贝叶斯方法.但当参数比数据还多时, 没有统计方法能跨越自然的本质约束。即使先验知识选择得当, 也只能对“过去”预测很好, 对将来不一定能预测很好(You cannot get something for nothing. A little bit of data, will not help you to learn about a million dimensional, complex problem.)

设某事件A在一次试验中发生的概率为 \(\theta\) , 为估计 \(\theta\) , 对试验进行了n次独立观测, 其中事件A发生了X次, 显然 \(X | \theta\) 服从 \(b(n, \theta)\) , 即 \(P(X=x | \theta) = {n \choose x} \theta^x (1-\theta)^{n-x}, x=0,1,...,n\) , 对于先验概率 \(\pi ( \theta)\) , 我们采用贝叶斯假设, 即认为是均匀分布。那么X和 \(\theta\) 的联合分布如下: \(h(x, \theta) = {n \choose x} \theta^x (1- \theta)^{n-x}, x=0,1,...,n, 0 < \theta < 1\)

根据联合分布, 求得X的边际分布如下: \({n \choose x }\int_0^1{ \theta^x(1- \theta)^{n-x}}d \theta = {n \choose x} \frac{\Gamma(x+1)\Gamma(n-x+1)}{\Gamma(n+2)}\) , 最后求出 \(\theta\) 的后验分布:

\[\pi ( \theta | x) = \frac{h(x, \theta)}{m(x)} = \frac{\Gamma(n+2)}{\Gamma(x+1) \Gamma(n-x+1)} \theta^{(x+1)-1}(1- \theta)^{(n-x+1)-1}, 0 < \theta < 1\]

最后的结果说明 \(\theta | x\) 服从 \(Beta(x+1,n-x+1)\) , 因此后验期望估计为 \(\hat{\theta_B} = E ( \theta | x) = \frac{x+1}{n+2}\) .

本文总阅读量