BMSI系列的第七篇,介绍叶斯框架下的线性回归

手敲难免出现纰漏,有任何疑似错误或者不清楚的地方请直接在下方评论区留言(评论区只开在【Series】下),谢谢各位读者。

线性回归是统计中极其基础而十分重要的部分,相信读者对其不会陌生。本节则探讨贝叶斯框架下的线性回归的形式,并和传统的线性回归进行对比加深理解。

传统的线性回归的结论

我们使用记号。根据数理统计的知识不难得参数的极大似然估计为

且其分布为

其中

的分布为

模型假设

我们假设,自变量,因变量,进一步地,我们认为即二者独立。那么模型参数的后验分布

可以看到,如果我们只关心的话,我们只需要关注,这和我们传统的线性回归是一致的。而

为方便记,下文中将合并为表示数据信息。

无信息先验

推导

此时,。现在我们求取其后验。类似于第二节中多参数模型的分析,我们先,求出后两个后再求边缘密度。先看第一项,有

可以看到指数部分是的二次型,因此设,于是有

对比相关项我们有

也就是

接下来求,我们有

也就是

由此,进一步得到(参见多参数模型)。但事实上我们很少使用这一结论,因为在抽样的过程中,我们完全可以先抽,再在此基础上抽

对比

可以看到二者的形式极为相似,让我们更加细致地查看二者的差别

在传统的回归中,我们有真实、确定但未知的参数,参数的不确定性是由于使用的样本不能完全代表整体,也就是抽样时所引入的。此时


而在无信息先验的贝叶斯线性回归中,参数的不确定性由后验分布来解释


共轭先验

推导

我们取

那么后验分布为

其中

在R中,arm包里的bayesglm提供了共轭先验下的贝叶斯线性回归的一个实现,可以通过设定priro.mean等信息调整先验,具体的请使用??arm::bayesglm查看文档。

数值计算的技巧

可以看到许多地方都出现了。我们知道矩阵求逆向来都是计算的瓶颈。一个优化的技巧是使用QR分解。此时


注意到是上三角阵,因此我们无需求的逆。

特殊的先验

我们可以选取形式为的先验。其中有一些可以考虑的特殊情况

  • 为对角阵

其中,第四种情况也称为Zellner’s g-prior。它实现了先验和数据(似然)的一个折衷。对于的选取有以下五种考虑

  • 意味着模型给了先验和数据(总体)相同的权重
  • 意味着先验的权重相当于一个数据点的权重
  • 意味着无信息先验
  • ,即Empirical Bayes estimate。其中


其中为回归的决定系数

  • 也给一个先验,然后做一个完整的贝叶斯分析

在R中,BMS包里的zlm提供了Zellner’s g-prior下的贝叶斯线性回归的一个实现,可以通过设定g来调节结果,具体的请使用??BMS::zlm查看文档。

不同的方差结构

我们之前的讨论中都是假设因变量的方差是独立且相等的,也就是说协方差是单位阵(乘一个标量)。而现在我们放宽这一要求,即。当然,我们是要求是一个对称正定阵。

确定的方差结构

实际使用中,我们通常将设定为,而是完全给定的,则并不知道。也就是我们给定了方差的结构。一个平凡的例子自然是,也就是之前讨论过的。

在这样的框架下,我们有

也就化归为之前讨论过的情形。使用无信息先验,有

计算时,由于是对称正定阵,我们可以使用Cholesky分解或奇异值分解求得以及

几个常见的

  • 。这通常会发生在个观测的平均时
  • 等相关阵,如
  • AR(1),如

注意到,后两个矩阵其实依赖于新的参数,我们将其记为。同样的,我们使用无信息先验,有

不定的方差结构

我们也可以不指定方差的结构,只要满足对称正定性就可以。这里我们讨论两个先验

此时

此时,我们熟悉的是其共轭先验。

此时,

其中