R语言stan进行贝叶斯推理分析

匿名 (未验证) 提交于 2019-12-02 23:57:01

原文连接:http://tecdat.cn/?p=6252

R的Stan


可以从许多统计软件包中运行Stan。到目前为止,我一直在从R运行Stan,首先按照快速入门指南中的说明安装并运行所有内容。

简单线性回归


第一步是为Stan模型编写文件。这包含一个文件linreg.stan:

  

该文件的第一部分称为数据,它声明了将作为输入传递给Stan的标量,向量和矩阵。

接下来,我们可以通过运行以下R代码来模拟数据集,并使用Stan和我们的文件linreg.stan来拟合模型:

  

第一次安装Stan模型时,模型编译成C ++时会有几秒钟的延迟。然而,正如Stan的开发人员描述的那样,一旦编译了模型,就可以将其应用于新的数据集而无需重复编译过程(在执行模拟研究的背景下具有很大的优势。

在上面的代码中,我们要求Stan运行4个独立的链,每个链有1000次迭代。运行后,我们可以通过以下方式汇总输出:

  

对于回归斜率β,我们的后验均值为0.95(接近用于模拟数据的真实值1)。为了形成95%的后可信区间,我们简单地采用取样后部的2.5%和97.5%的百分位数,这里是0.75到1.17。

您可以从拟合的模型中获取各种其他数量。一种是绘制其中一个模型参数的后验分布。要获得回归斜率,我们可以执行以下操作:

  

β的后验分布直方图

现在让我们使用标准普通最小二乘拟合线性模型:

  

这给出了我们对斜率0.95的估计,与Stan的后验平均值相差2位小数,标准误差为0.11,这与Stan的后验SD相同。

stan和贝叶斯推理


有兴趣探索Stan并使用它来执行贝叶斯推理,这是出于测量误差和数据缺失的问题。正如多年前WinBUGS和其他人的作者所描述和展示的那样,贝叶斯方法在解决不同的不确定性来源问题时非常自然,这些不确定性来源超出参数不确定性,例如缺失数据或用误差测量的协变量。实际上,对于缺失数据的流行的多重插补方法是在贝叶斯范式内发展的,并且实际上可以被视为对完整贝叶斯分析的近似。

非常感谢您阅读本文,有任何问题请在下面留言!

大数据部落――中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务
统计分析和数据挖掘咨询服务 :y0.cn/teradat(咨询服务请联系官网客服

QQ:3025393450
【服务场景】
科研项目;
公司项目外包 ;线上线下一对一培训 ;数据采集;学术研究;报告撰写;市场调查。
【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询服务

分享最新的大数据资讯,每天学习一点数据分析,让我们一起做有态度的数据人

微信客服号:lico_9e


欢迎选修我们的R语言数据分析挖掘必知必会课程!




欢迎关注微信公众号,了解更多数据干货资讯!

非常感谢您阅读本文,有任何问题请在下面留言!

大数据部落――中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服务
统计分析和数据挖掘咨询服务 :y0.cn/teradat(咨询服务请联系官网客服

QQ:3025393450
【服务场景】
科研项目;
公司项目外包 ;线上线下一对一培训 ;数据采集;学术研究;报告撰写;市场调查。
【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询服务

分享最新的大数据资讯,每天学习一点数据分析,让我们一起做有态度的数据人

微信客服号:lico_9e


欢迎选修我们的R语言数据分析挖掘必知必会课程!




欢迎关注微信公众号,了解更多数据干货资讯!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!