r - RStan 会在 super 计算机上运行吗?

标签 r stan

Stan 是 Gelman et al 的新贝叶斯分析软件.

我猜,RStan 是一种从 R 中调用 Stan 的方法。

Stan/RStan 是否会在运行 Linux 操作系统的 super 计算机上运行,​​如果可以,是否可以利用 super 计算机的多处理器?有人告诉我 WinBUGS 不能在 Linux 机器上运行和/或不能利用 super 计算机的多处理器。

我正在寻找一种方法来加速贝叶斯分析——从几周到几天/几小时。

最佳答案

Stan 和 rstan 应该在支持依赖项的 Linux、Mac 或 Windows 上运行。我们尚未在 BSD 或 Oracle 上进行测试,但我们希望它们能够与 g++ 或 clang 编译器(尽管不是 Oracle 编译器)一起使用。

Stan 或 rstan 中没有明确的并行代码,但也没有任何代码可以阻止多个进程同时执行二进制文件。例如,如果您在 bash shell 的命令行中使用 Stan,您可以执行以下操作

./my_model --data=my_data.dump --seed=12345 --chain_id=1 --samples=samples_1.csv &
./my_model --data=my_data.dump --seed=12345 --chain_id=2 --samples=samples_2.csv &

等等,你喜欢多少链。并行执行时使用相同的种子但不同的 chain_id 很重要。

如果你使用的是 rstan 包,你可以调用 main stan()使用 R 和您的操作系统支持的任何并行引擎来运行。同样,最好传递相同的种子和不同的 chain_id。截至 rstan v1.0.3 (尚未发布),有一个名为 sflist2stanfit() 的函数这需要一个列表 stanfit可能已并行生成并将它们组合成单个 stanfit 的对象分析对象。

有关更多信息,有一个专门用于并行执行的线程位于

https://groups.google.com/d/topic/stan-users/3goteHAsJGs/discussion

关于r - RStan 会在 super 计算机上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12848168/

相关文章:

R 将命名列表取消列出为一个字符串,并保留列表名称

python - stan 向量参数的漂亮 pystan 跟踪图

c - 调用 C/Fortran 例程时忽略 evalWithTimeout?

sql - 删除 R 中的模糊重复项

r - 从 glm 中提取标准错误

r - stan 中的多项式模型 - 如何拟合狄利克雷分布参数?

python - 代码在 Spyder 中逐行运行,但在运行整个脚本时却不行

linux - Stan 代码适用于 Windows 但不适用于 Linux

r - 在大型稀疏数据帧上拟合随机效应模型时如何加速 STAN?

r - 如何根据用户输入打印不同的数据框? Rmarkdown/ Shiny