关于数据挖掘:R语言中的block-Gibbs吉布斯采样贝叶斯多元线性回归附代码数据

37次阅读

共计 2962 个字符,预计需要花费 8 分钟才能阅读完成。

全文链接: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 采样用于回归的贝叶斯预计

正文完
 0