在这篇文章中,我将对多元线性回归做同样的事情。我将得出阻塞的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实战
拒绝背锅 运筹帷幄