stan-dev/rstanarm
rstanarm R package for Bayesian applied regression modeling
解决的问题
rstanarm 为 R 中的贝叶斯应用回归建模提供了易于入门的入口。它通过模仿常见的频率学派模型拟合函数(如 glm 或 lm)的语法和行为,解决了贝叶斯软件学习曲线陡峭的问题,使用户无需手动编写复杂的 Stan 代码即可进行贝叶斯推断。
工作原理
该包作为 rstan 包和 Stan 概率编程语言的接口。它使用由 Stan 开发者优化的预编译 Stan 程序,以确保数值稳定性和采样效率。用户使用标准的 R 公式和数据框指定模型,该包会自动将模型转换为 Stan 的后端估计。
支持多种估计算法:
- 采样(MCMC):默认且最可靠的方法,使用哈密顿蒙特卡洛(HMC)。
- 均值场变分推断:对后验分布的快速近似。
- 全秩变分推断:比均值场更真实但计算成本更高的近似。
- 优化:使用 L-BFGS 算法寻找后验众数(目前仅支持
stan_glm)。
适用人群
- 希望使用熟悉的 R 语法从频率学派推断过渡到贝叶斯推断的频率学派研究人员。
- 希望避免从零开始编写自己的 Stan 模型,而使用专业实现、稳定可靠的预编译模型的资深贝叶斯用户。
特色亮点
- 广泛的模型支持:包括线性模型(
stan_lm)、广义线性模型(stan_glm)、混合效应模型(stan_glmer)、非线性混合效应模型(stan_nlmer)以及纵向和生存数据的联合模型(stan_jm)。 - 生态系统集成:与
bayesplot(用于后验预测检查)、loo(用于交叉验证和模型比较)以及shinystan(用于基于 GUI 的诊断)无缝集成。 - 可自定义先验:允许用户为模型参数指定先验分布,以融入先验知识。
- 数值稳定性:使用 Stan 开发者编写的预编译程序,最大限度减少采样问题。
相关
- 项目
- 项目
- 项目
- 项目
- 项目