页面载入中,请稍后...

Bayesian估计|线性模型估计

作者: zzy5111398 分类: 估计方法,数据科学 发布时间: 2018-08-11 23:47

经济线性模型估计最常遇到的问题无外乎参数不理想或超越经济意义无法解释,这时用Bayesian方法就可以引入先验概率调参。然而我发现网上没有太好的贝叶斯估计教程,于是将这个系列的模型估计记录在宽客居上,以便同学们交流

上图由John K. Kruschke绘制

1. OLS&MLE
首先,我们先按照常见的方式构建一个线性计量模型。

$y_t = x_t *B+v_t$或$Y = X *B+V$

Where, $Y_t=[y_1, y_2, …, y_T]^\top$, $X_t=[x^1, x^2, …, x^k, …,x^K], x^k = [x^k_1, x^k_2, …, x^k_T]^\top, or x_t = [x^1_t, x^2_t, …, x^K_t]$, $B_t=[b_1, b_2, …, b_K]^\top$, $V=[v_1, v_2, …, v_T]^\top$.

对于该模型,频率派的理解为,参数矩阵B存在一个“真值”,即输入X与输出Y的对应关系仅受随机扰动项V的影响,否则就是线性关系。而建立的模型如果能够使得随机扰动项看上去真的只是“扰动”(随机或白噪声),那就说明这个模型是建立正确了。那么,参数B的真值几何,就是参数估计需要做的。

首先,最常见的估计方法就是OLS,OLS实际上是基于一个误差最小化,即无约束最小化误差的方法。

即$\underset{B}{arg} min (Y-X*B)^\top(Y-X*B)$。

其中$(Y-X*B)^\top(Y-X*B)=Y^\top Y-(X*B)^\top*Y-Y^\top *(X*B)+(X*B)^\top(X*B)$

$=Y^\top Y-B^\top *X^\top *Y-Y^\top *X*B+B^\top * X^\top * X*B$

Due to, $\frac{\partial B^\top * A}{\partial B}=A$ and$\frac{\partial B^\top * A *B}{\partial B}=2 A *B$.

We can transfer the first order condition into,

$\frac{\partial  (Y-X*B)^\top(Y-X*B)}{\partial B}=2X^\top *Y-2X^\top * X*B=0\Rightarrow B=(X^\top X)^{-1}X^\top Y$

教材中通常将OLS建立在误差白噪声序列$V\sim i.i.d. N(0,\sigma^2)$、随机试验(即正交条件,cov(X,V)=0)和自变量线性无关($rank(X^\top X)=rank(X)=K$)等假定下,实际上这只是为了保证OLS的良好性质(BLUE),实际上与求出OLS的估计量无关。相关推导参考任一本计量教材线性模型章节即可。

实际上在OLS被高斯证明是BLUE的同时(高斯-马尔可夫定理),高斯也提出了一个MLE(最大概然法)。直到1922年Fisher才正式发表了该方法并给出了参数估计性质。

MLE其实建立在与OLS完全不同的逻辑基础上,在我看来,OLS更像是为了拟合曲线用的,但MLE则更多是为了寻找模型中的参数估计量。

MLE对模型的要求高于OLS,前文提到,得到OLS估计量甚至不需要假定误差的分布,只需要一个超定方程组就可以得到数值解(参数估计)。但是MLE需要建立在误差分布已知的条件下,也就是Y的分布已知,以最简单的白噪声序列为例,我们想得到输出的似然函数只需要用其分布假定给出即可,

$F(Y|B,\sigma^2)=(2\pi \sigma^2)^{-T/2}exp(-\frac{(Y-X*B)^\top(Y-X*B)}{2\sigma^2})$

我们想得到能使该函数最大的B,但是显然这个函数不适合用来求导,于是我们可以用其对数似然函数。于是可以发现得到的最优函数和OLS一致,于是有$B_{OLS}=B_{MLE}$。

MLE与OLS最大的区别在于,MLE需要得到似然函数,也就是需要得到输出误差的分布,最终也是为了得到参数的“真值”。这时贝叶斯学派对参数空间提出了新的理解,模型的参数真的不会变吗?

Bayesian方法

贝叶斯学派提出将先验分布结合实际数据进行参数估计。贝叶斯学派对于估计模型的设定是与先前一致的,但是对于参数($B,\sigma$)的理解却略有不同,即参数本身从属于先验分布而在观测后应当从属于后验分布。

首先,贝叶斯学派给出了先验分布和后验分布的定义,即参数原本从属的分布和在现有数据观测下的参数分布,即$p(B)$和$p(B|Y)$(假定$\sigma$已知)。

其次,根据贝叶斯公式,$p(B|Y)=\frac{p(B,Y)}{p(Y)}=\frac{p(Y|B)*p(B)}{p(Y)}$,即可以求出后验分布,其中$p(Y|B)$为似然函数。

举个最简单的例子,即$\sigma$已知且先验分布为多元正态分布$p(B)\sim N(B_0, \Sigma_0)$。

Step1. 先验概率密度

根据先验分布,我们可以得到先验概率密度为,

$p(B)=(2\pi)^{-\frac{K}{2}}|\Sigma_0|^{\frac{1}{2}}exp[-\frac{(B-B_0)^{\top}\Sigma_0^{-1}(B-B_0)}{2}]\propto exp[-\frac{(B-B_0)^{\top}\Sigma_0^{-1}(B-B_0)}{2}]$

且由于$(2\pi)^{-\frac{K}{2}}|\Sigma_0|^{\frac{1}{2}}$为常数,因此正比于如上式所示高斯函数。

Step2. 后验分布

根据贝叶斯公式,我们可以得到$p(B|Y)=\frac{p(B,Y)}{p(Y)}\propto p(Y|B)*p(B)$

将似然函数(likelihood function)和先验概率密度带入我们就可以得到,

$p(B|Y)\propto exp[-\frac{(B-B_0)^{\top}\Sigma_0^{-1}(B-B_0)}{2}]*exp(-\frac{(Y-X*B)^\top(Y-X*B)}{2\sigma^2})$

因式分解即可得到,$p(B|Y) \sim N(M^*, V^*)$,其中

$V^* = (\Sigma_0^{-1}+\frac{X^{\top}X}{\sigma^2})^{-1}$,$M^* = (\Sigma_0^{-1}+\frac{X^{\top}X}{\sigma^2})^{-1} (\Sigma_0^{-1}B_0+\frac{X^{\top}X}{\sigma^2}B_{OLS})$

最后,我们得到的后验分布还是正态分布,且均值是先验均值和MLE和OLS估计量的加权平均数,其权重正是各自的方差(先验分布和数据)。因此,我们有理由相信贝叶斯估计的结果是结合先验分布和数据结果的联合估计。

至此,本节结束,也算是给贝叶斯估计的章节开了个头,下文我们会继续探讨贝叶斯估计在更为一般情形下的应用。


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。