在对该主题进行了一些研究之后,我注意到依赖于 Python 和 R 的消息传递或优化方法的推理包和库的不足。
据我所知,这些方法非常有用。例如,对于贝叶斯网络(有向、非循环),仅信念传播就应该能够给出准确的答案。然而,大多数在线可用的推理软件(例如 STAN、BUGS、PyMC)都依赖于 MCMC 方法。
在 Python 案例中,据我所知,PyMC、scikit-learn 或 statsmodel 都不包含变分推理算法,例如信念传播、消息传递方法或其任何变体。
这是为什么?这些方法在实践中使用较少是因为它们被认为不如 MCMC 对应物强大或通用吗?还是仅仅是缺乏人力和时间的问题?