stan-dev/rstanarm

rstanarm R package for Bayesian applied regression modeling

解决的问题

rstanarm 为 R 中的贝叶斯应用回归建模提供了易于入门的入口。它通过模仿常见的频率学派模型拟合函数(如 glmlm)的语法和行为,解决了贝叶斯软件学习曲线陡峭的问题,使用户无需手动编写复杂的 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 开发者编写的预编译程序,最大限度减少采样问题。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目