stan-dev/rstan

RStan, the R interface to Stan

什么是 RStan

RStan 是官方 R 包,可让您在 R 统计环境中使用 Stan,一种强大的概率编程语言。Stan 通过现代马尔可夫链蒙特卡洛(MCMC)和变分算法进行贝叶斯推断,因此 RStan 实质上是一个桥梁,让 R 用户可以编写 Stan 模型、编译它们,并在不离开 R 的情况下运行推断。


主要功能

功能 对您的意义
在 R 中编写 Stan 模型 使用 Stan 自有的语言(独立的 .stan 文件)定义模型,并通过 stan()sampling() 从 R 中调用。
快速的推断引擎 内部使用 Stan 的基于 C++ 的哈密顿蒙特卡洛(NUTS)和变分推论,提供最先进的贝叶斯后验采样。
自动微分 Stan 的自动微分高效计算对数后验的梯度,这对 HMC 至关重要。
诊断与后处理 返回一个 stanfit 对象,可与 R 的 codabayesplot 等包集成,用于收敛性检查、轨迹图和后验摘要。
跨平台 支持 Windows、macOS 和 Linux;CRAN 提供二进制文件,便于安装。
可扩展 您可以向 Stan 模型添加自定义 C++ 函数,并将其暴露给 R。

如何开始

  1. 安装install.packages("rstan")(或参考详细的 RStan Getting Started Wiki 获取系统特定步骤)。
  2. 编写模型 – 创建一个包含 Stan 代码的文件 model.stan(例如,一个简单的线性回归)。
  3. 拟合模型 – 在 R 中:
    library(rstan)
    fit <- stan(file = "model.stan", data = my_data, iter = 2000, chains = 4)
    print(fit)
    plot(fit)
    
  4. 探索结果 – 使用 summary(fit)extract(fit)bayesplot 包进行可视化诊断。

仓库的 README 指向一个 Wiki 页面,提供逐步安装说明以及法语、日语、中文和葡萄牙语的翻译。


获取更多信息


许可与贡献政策

  • R 包本身采用 GPL-3 许可。
  • 内嵌的 Stan 代码采用 new BSD 许可。
  • 贡献必须遵循 Stan AI 贡献政策,确保负责任地使用 AI 相关工具。

总结:RStan 让 R 用户能够直接从熟悉的 R 工作流中访问 Stan 的前沿贝叶斯推断引擎,使复杂的概率建模无需离开 R 生态系统即可实现。

相关

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