做贝叶斯分析,常见麻烦是“模型写在一套工具里,采样器却属于另一套工具”。新发布的 Walnutpie 0.0.1 想把两者拆开:它是用 Python 提供接口的 MCMC(用一串相关随机样本近似参数可信范围)采样器,可直接接收 Stan、PyMC、NumPyro、JAX 和普通 Python 编写的模型。换句话说,用户不必重写模型,就能在不同建模前端中试用同一种采样方法。
它的核心算法 Walnuts 属于 HMC——利用后验分布的梯度寻找采样方向,而非盲目随机游走。它沿用 NUTS 来决定每轮走多少步,但遇到曲率变化较大的分布时,还会缩短步长,以减少模拟误差;作者称这有助于提升稳健性和多尺度分布上的准确度。Stan 模型则通过 BridgeStan 在 C++ 中运行,避免采样时反复转回 Python。眼下它仍是 0.0.1,论文尚未发布,材料也没有给出基准测试;性能优势和各前端的兼容程度,仍需后续验证。