在这篇文章中,我将对多元线性回归做同样的事情。我将得出阻塞的Gibbs采样器所需的条件后验分布。然后我将对采样器进行编码并使用模拟数据对其进行测试。

 一个贝叶斯模型

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

假设我们有一个样本大小的R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第1张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第2张​科目。我们观察R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第3张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第4张​结果向量R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第5张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第6张​。贝叶斯多元回归假设该向量是从多元正态分布中得出的,其中均值向量是R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第7张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第8张​和协方差矩阵R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第9张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第10张​。这里R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第11张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第12张​是观察到R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第13张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第14张​的协变量矩阵。注意,该矩阵的第一列是标识。参数矢量R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第15张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第16张​的R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第17张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第18张​,   R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第19张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第20张​是一种常见的方差参数,R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第21张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第22张​是R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第23张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第24张​单位矩阵。通过使用单位矩阵,我们假设独立观察。从形式上看,

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第25张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第26张​

到目前为止,这与频率设置中看到的多元正态回归相同。假设R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第27张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第28张​是完整列排名,最大化可能性产生解决方案:

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第29张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第30张​

通过为R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第31张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第32张​和指定先验分布来获得贝叶斯模型R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第33张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第34张​。对于这个例子,我将使用平坦的,不正确的先验  R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第35张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第36张​和反伽马先验R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第37张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第38张​:

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第39张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第40张​

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第41张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第42张​

我们假设超级参数是简单的。

联合后验分布

关节后验分布与...成正比

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第43张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第44张​

我们可以这样写,因为我们假设事先独立。那是,

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第45张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第46张​。

替换分布,

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第47张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第48张​

block吉布斯采样器

在对采样器进行编码之前,我们需要导出Gibbs采样器的组件 - 每个参数的后验条件分布。

条件后验R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第49张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第50张​是通过降低因子而R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第51张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第52张​不是从关节后部和重新排列来找到的。这种情况很容易,因为没有什么可以放弃的:

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第53张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第54张​

条件后验R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第55张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第56张​需要更多的线性代数。

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第57张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第58张​

这是一个非常漂亮和直观的结果。因为我们在参数向量上使用平坦先验,所以参数向量的条件后验以最大似然估计为中心  R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第59张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第60张​。条件后验的协方差矩阵是协方差矩阵的频率估计,R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第61张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第62张​

还要注意,条件后验是一个多变量分布,因为它R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第63张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第64张​是一个向量。因此,在Gibbs采样器的每次迭代中,我们从后部绘制整个矢量或“块”。这比从每个参数的条件分布中绘制条件分布一样,一次一个,效率要高得多。这就是程序被称为“阻塞”采样器的原因。

模拟

 我模拟了一个R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第65张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第66张​ 结果向量R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第67张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第68张​。这R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第69张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第70张​是R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第71张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第72张​单位矩阵,R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第73张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第74张​是一个R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第75张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第76张​模型矩阵。真正的参数向量R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第77张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第78张​是

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第79张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第80张​

运行阻塞的Gibbs采样器(block_gibbs()函数)会生成真实系数和方差参数的估计值。运行了500,000次迭代。老化期为100,000,修剪10次迭代。

下面是MCMC链的图,其中真实值用红线表示。

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第81张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第82张​

以下是应用老化和修剪后参数的后验分布:

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第83张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第84张​

似乎我们能够对这些参数进行合理的后验估计。分布并不完全以事实为中心,因为我们的数据集只是事实的一个实现。为了确保贝叶斯估计器正常工作,我重复这个练习1000个模拟数据集。

这将产生1,000套后验平均值和1,000套95%可信区间。平均而言,这1000个后方手段应以真相为中心。平均而言,真实参数值应该在95%的时间内在可信区间内。

以下是这些评估的摘要。

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第85张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第86张​

“Estimator Means”列是所有1,000个模拟的平均后验平均值。非常好。百分比偏差均小于5%。所有参数的95%CI覆盖率约为95%。

 

扩展

我们可以对此模型进行许多扩展。例如,可以使用除Normal之外的其他分布以适应不同类型的结果。例如,如果我们有二进制数据,我们可以将其建模为:

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第87张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第88张​

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第89张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第90张​

然后预先分配R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第91张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第92张​。这个想法将贝叶斯线性回归推广到贝叶斯GLM。

在本文中概述的线性情况下,可以更灵活地对协方差矩阵进行建模。相反,假设协方差矩阵是具有单个共同方差的对角线。这是多元线性回归中的同方差性假设。如果数据是聚类的(例如,每个受试者多次观察),我们可以使用逆Wishart分布来模拟整个协方差矩阵。

还有问题吗?联系我们!

 

大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务

统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服)

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第93张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第94张​QQ:3025393450

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第95张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第96张​

【服务场景】  

科研项目; 公司项目外包;线上线下一对一培训;数据采集;学术研究;报告撰写;市场调查。

【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询服务

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第97张R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归 随笔 第98张​

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄