首页 > 其他分享 >R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归|附代码数据

R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归|附代码数据

时间:2023-09-24 21:46:43浏览次数:40  
标签:采样 Metropolis 语言 回归 贝叶斯 Gibbs block Hastings

全文链接:http://tecdat.cn/?p=11617

最近我们被客户要求撰写关于block Gibbs吉布斯采样的研究报告,包括一些图形和统计输出。

在这篇文章中,我将对多元线性回归使用block的Gibbs采样,得出block的Gibbs采样所需的条件后验分布。然后,对采样器进行编码,并使用模拟数据对其进行测试  点击文末“阅读原文”获取完整代码数据 )。

 贝叶斯模型

假设我们有一个样本量的主题。贝叶斯多元回归假设该向量是从多元正态分布中提取的 ,通过使用恒等矩阵,我们假设独立的观察结果。

图片

到目前为止,这与多元正态回归相同。则将概率最大化可得出以下解 :

图片

贝叶斯模型是通过指定为一个先验分布得到 。在此示例中,我将在以下情况下使用 先验值 

图片

block Gibbs

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

图片

条件后验取更多的线性代数。

图片

这是一个非常漂亮和直观的结果。条件后验的协方差矩阵是协方差矩阵的估计,图片

还要注意,条件后验是一个多元分布。因此,在Gibbs采样器的每次迭代中,我们从后验绘制出一个完整的矢量 。

模拟

我模拟的 结果向量图片。 

运行 Gibbs采样器 会生成对真实系数和方差参数的估计。运行了500,000次迭代。周期为100,000次,10次迭代。

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

   
# 计算后验摘要统计信息
post_dist %>%
  group_by(para) %>%
  summarise(median=median(draw),
            lwr=quantile(.025),
            upr=quantile(.975)) %>%
 
# 合并汇总统计信息
post_dist <- post_dist %>%
  left_join(post_sum_stats, by='param')
 
# 绘制MCMC链
ggplot(post_dist,aes(x=iter,y=dra)) +
  geom_line() +
  geom_hline(aes(yintercept=true_vals))

图片

这是修整后参数的后验分布:


点击标题查阅往期内容

图片

Python用MCMC马尔科夫链蒙特卡洛、拒绝抽样和Metropolis-Hastings采样算法

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

   
ggplot(post_dist,aes(x=draw)) +
  geom_histogram(aes(x=draw),bins=50) +
  geom_vline(aes(xintercept = true_vals))

图片

似乎能够获得这些参数的合理后验估计。为了确保贝叶斯估计器正常工作,我对1,000个模拟数据集重复了此过程。

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

以下是这些评估的摘要。

图片

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

扩展 

我们可以对该模型进行许多扩展。例如,可以使用除正态分布外的其他分布来拟合不同类型的结果。 例如,如果我们有二元数据,则可以将其建模为:

图片

然后在上放一个先验分布。这个想法将贝叶斯线性回归推广到贝叶斯GLM。

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


图片

点击文末 “阅读原文”

获取全文完整资料。

本文选自《R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归》。

点击标题查阅往期内容

Python用MCMC马尔科夫链蒙特卡洛、拒绝抽样和Metropolis-Hastings采样算法
R语言贝叶斯METROPOLIS-HASTINGS GIBBS 吉布斯采样器估计变点指数分布分析泊松过程车站等待时间
R语言马尔可夫MCMC中的METROPOLIS HASTINGS,MH算法抽样(采样)法可视化实例
python贝叶斯随机过程:马尔可夫链Markov-Chain,MC和Metropolis-Hastings,MH采样算法可视化
Python贝叶斯推断Metropolis-Hastings(M-H)MCMC采样算法的实现
Metropolis Hastings采样和贝叶斯泊松回归Poisson模型
Matlab用BUGS马尔可夫区制转换Markov switching随机波动率模型、序列蒙特卡罗SMC、M H采样分析时间序列R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
R语言BUGS序列蒙特卡罗SMC、马尔可夫转换随机波动率SV模型、粒子滤波、Metropolis Hasting采样时间序列分析
R语言Metropolis Hastings采样和贝叶斯泊松回归Poisson模型
R语言贝叶斯MCMC:用rstan建立线性回归模型分析汽车数据和可视化诊断
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
R语言贝叶斯Poisson泊松-正态分布模型分析职业足球比赛进球数
R语言用Rcpp加速Metropolis-Hastings抽样估计贝叶斯逻辑回归模型的参数
R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据
R语言中的block Gibbs吉布斯采样贝叶斯多元线性回归
Python贝叶斯回归分析住房负担能力数据集
R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析
Python用PyMC3实现贝叶斯线性回归模型
R语言用WinBUGS 软件对学术能力测验建立层次(分层)贝叶斯模型
R语言Gibbs抽样的贝叶斯简单线性回归仿真分析
R语言和STAN,JAGS:用RSTAN,RJAG建立贝叶斯多元线性回归预测选举数据
R语言基于copula的贝叶斯分层混合模型的诊断准确性研究
R语言贝叶斯线性回归和多元线性回归构建工资预测模型
R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
R语言stan进行基于贝叶斯推断的回归模型
R语言中RStan贝叶斯层次模型分析示例
R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型
WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较
R语言实现MCMC中的Metropolis–Hastings算法与吉布斯采样
R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例
R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化
视频:R语言中的Stan概率编程MCMC采样的贝叶斯模型
R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计

标签:采样,Metropolis,语言,回归,贝叶斯,Gibbs,block,Hastings
From: https://www.cnblogs.com/tecdat/p/17726735.html

相关文章

  • R语言Gibbs抽样的贝叶斯简单线性回归仿真分析|附代码数据
    全文下载链接:http://tecdat.cn/?p=4612最近我们被客户要求撰写关于贝叶斯简单线性回归的研究报告,包括一些图形和统计输出。贝叶斯分析的许多介绍都使用了相对简单的教学实例(例如,根据伯努利数据给出成功概率的推理)。虽然这很好地介绍了贝叶斯原理,但是这些原则的扩展并不是直截了......
  • crash —— 获取系统NODE、ZONE、SECTION、MEMBLOCK等信息
    crash>kmem-nNODESIZEPGLIST_DATABOOTMEM_DATANODE_ZONES0100925439ffff88e03ffc1000----ffff88e03ffc1000ffff88e03ffc5000......
  • qbxt 4179 积木中赛(block)
    原题小P准备了一次预测活动,每个参与活动的人都可以在PPP队获胜,GGG队获胜和平局三种结果中选择自己要预测的一种。如果第\(i\)个人预测正确,那么小P需要付给他\(a_i\)元,否则他需要给小P付\(b_i\)元。小P目前已经收到了\(n\)个人报名参加活动的信息,并知道他们每......
  • 拓端tecdat|R语言贝叶斯非参数模型:密度估计、非参数化随机效应meta分析心肌梗死数据|
    原文链接:http://tecdat.cn/?p=23785原文出处:拓端数据部落公众号最近我们被客户要求撰写关于贝叶斯非参数模型的研究报告,包括一些图形和统计输出。概述最近,我们使用贝叶斯非参数(BNP)混合模型进行马尔科夫链蒙特卡洛(MCMC)推断。在这篇文章中,我们通过展示如何使用具有不同内核的非......
  • DesignWare Building Block IP学习
    DesignWareBuildingBlock1.基本介绍DesignWareBuildingBlockIP(以下简称DWBB),也叫做FoundationLibrary,是一个紧密集成在Synopsys综合环境中的可重用智能功能块集合。使用DWBB可以在综合时实现透明且高水平的性能优化。DWBB中含有大量组件,可以实现设计重用并显著地提升生......
  • R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例|附代码数据
    原文链接:http://tecdat.cn/?p=21545原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于贝叶斯推断的研究报告,包括一些图形和统计输出。示例1:使用MCMC的指数分布采样任何MCMC方案的目标都是从“目标”分布产生样本。在这种情况下,我们将使用平均值为1的指数分布作为我们......
  • R语言和Stan,JAGS:用rstan,rjags建立贝叶斯多元线性回归预测选举数据|附代码数据
    原文链接:http://tecdat.cn/?p=21978 原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于Stan,JAGS的研究报告,包括一些图形和统计输出。本文将介绍如何在R中用rstan和rjags做贝叶斯回归分析,R中有不少包可以用来做贝叶斯回归分析,比如最早的(同时也是参考文献和例子最多的)R2......
  • R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实
    原文链接:http://tecdat.cn/?p=23236 原文出处:拓端数据部落公众号最近我们被客户要求撰写关于贝叶斯MCMC的研究报告,包括一些图形和统计输出。什么是频率学派?在频率学派中,观察样本是随机的,而参数是固定的、未知的数量。概率被解释为一个随机过程的许多观测的预期频率。有一......
  • 更新wsl,docker无法启动wrong fs type, bad option, bad superblock on cgroup, missi
    PSC:\Users\xxxx>wsl-vWSL版本:2.0.0.0内核版本:5.15.123.1-1WSLg版本:1.0.57MSRDC版本:1.2.4485Direct3D版本:1.608.2-61064218DXCore版本:10.0.25880.1000-230602-1350.mainWindows版本:10.0.22000.2295sudoservicedockerstartmount:/sys/fs/cgroup/cpuset:wron......
  • R语言RStan MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据|附代码
    原文链接:http://tecdat.cn/?p=24456原文出处:拓端数据部落公众号最近我们被客户要求撰写关于RStan的研究报告,包括一些图形和统计输出。如果你正在进行统计分析:想要加一些先验信息,最终你想要的是预测。所以你决定使用贝叶斯。但是,你没有共轭先验。你可能会花费很长时间编写Metr......