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/