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 的 coda、bayesplot 等包集成,用于收敛性检查、轨迹图和后验摘要。 |
| 跨平台 | 支持 Windows、macOS 和 Linux;CRAN 提供二进制文件,便于安装。 |
| 可扩展 | 您可以向 Stan 模型添加自定义 C++ 函数,并将其暴露给 R。 |
如何开始
- 安装 –
install.packages("rstan")(或参考详细的 RStan Getting Started Wiki 获取系统特定步骤)。 - 编写模型 – 创建一个包含 Stan 代码的文件
model.stan(例如,一个简单的线性回归)。 - 拟合模型 – 在 R 中:
library(rstan) fit <- stan(file = "model.stan", data = my_data, iter = 2000, chains = 4) print(fit) plot(fit) - 探索结果 – 使用
summary(fit)、extract(fit)或bayesplot包进行可视化诊断。
仓库的 README 指向一个 Wiki 页面,提供逐步安装说明以及法语、日语、中文和葡萄牙语的翻译。
获取更多信息
- 在线文档与教程 – https://mc-stan.org/rstan/
- Stan 语言参考 – https://mc-stan.org/users/documentation/
- 社区帮助 – Stan Discourse 论坛 (https://discourse.mc-stan.org)
- 错误报告 / 功能请求 – GitHub Issues (https://github.com/stan-dev/rstan/issues)
许可与贡献政策
- R 包本身采用 GPL-3 许可。
- 内嵌的 Stan 代码采用 new BSD 许可。
- 贡献必须遵循 Stan AI 贡献政策,确保负责任地使用 AI 相关工具。
总结:RStan 让 R 用户能够直接从熟悉的 R 工作流中访问 Stan 的前沿贝叶斯推断引擎,使复杂的概率建模无需离开 R 生态系统即可实现。
相关
- 项目
- 项目
- 项目
- 项目
- 项目