我希望在Spark上使用MC-Stan,但似乎Google没有搜索相关页面.
我想知道这种方法在Spark上是否可行,因此如果有人让我知道,我将不胜感激.
此外,我也想知道在Spark上使用MCMC的广泛使用方法是什么.我听说Scala被广泛使用,但我需要一些语言,它有一个像MC-Stan这样体面的MCMC库.
小智 10
是的,这肯定是可能的,但需要更多的工作.Stan(以及我所知道的流行的MCMC工具)并不是设计为通过Spark或其他方式在分布式设置中运行.一般而言,分布式MCMC是一个积极研究的领域.对于最近的评论,我建议使用可缩放贝叶斯推理模式(PoFSBI)的第4部分.有多种可能的方法可能需要拆分大型MCMC计算,但我认为其中一种更简单的方法是拆分数据并在每个分区上运行Stan等具有相同模型的现成工具.每个模型将产生一个后部,可以一起缩小以形成后部.PoFSBI讨论了组合这些子类的几种方法.
我已经放在一起使用pyspark和pystan概念的一个非常粗略的证明(蟒蛇是最斯坦和星火支持通用语言).这是PoFSBI中加权平均一致性算法的粗略且有限的实现,运行在微小的8-schools数据集上.我不认为这个例子实际上非常有用,但是它应该提供一些关于运行Stan作为Spark程序可能需要的一些想法:分区数据,在每个分区上运行stan,组合子类.