MC-Stan 在 Spark 上?

MC-Stan on Spark?

我希望用MC-Stan on Spark,但是好像Google搜索不到相关页面。

我想知道这种方法在 Spark 上是否可行,因此如果有人告诉我,我将不胜感激。

此外,我也想知道在Spark上使用MCMC的广泛使用方法是什么。我听说 Scala 被广泛使用,但我需要一些具有像样的 MCMC 库的语言,例如 MC-Stan。

是的,这当然是可能的,但需要更多的工作。 Stan(以及我所知道的流行的 MCMC 工具)并非旨在通过 Spark 或其他方式在分布式环境中 运行。一般来说,分布式 MCMC 是一个活跃的研究领域。对于最近的回顾,我推荐 Patterns of Scalable Bayesian Inference (PoFSBI) 的第 4 部分。您可能想要拆分大型 MCMC 计算有多种可能的方法,但我认为更直接的方法之一是拆分数据并 运行 使用像 Stan 这样的现成工具,使用相同的模型,在每个分区上。每个模型都会产生一个 subposterior ,它可以一起减少以形成后验。 PoFSBI 讨论了几种组合此类子后验的方法。

我已经 put together 使用 pyspark 和 pystan 进行了非常粗略的概念验证(python 是 Stan 和 Spark 支持最多的通用语言)。这是 PoFSBI 中加权平均共识算法的粗略且有限的实现,运行ning 在小型 8 所学校数据集上。我不认为这个例子实际上很有用,但它应该提供一些关于 运行 Stan 作为 Spark 程序可能需要什么的想法:分区数据,每个分区上的 运行 stan,结合子后缀。