Performing inference in statistical models with an intractable likelihood is challenging, therefore, most likelihood-free inference (LFI) methods encounter accuracy and efficiency limitations. In this paper, we present the implementation of the LFI method Robust Optimisation Monte Carlo (ROMC) in the Python package ELFI. ROMC is a novel and efficient (highly-parallelizable) LFI framework that provides accurate weighted samples from the posterior. Our implementation can be used in two ways. First, a scientist may use it as an out-of-the-box LFI algorithm; we provide an easy-to-use API harmonized with the principles of ELFI, enabling effortless comparisons with the rest of the methods included in the package. Additionally, we have carefully split ROMC into isolated components for supporting extensibility. A researcher may experiment with novel method(s) for solving part(s) of ROMC without reimplementing everything from scratch. In both scenarios, the ROMC parts can run in a fully-parallelized manner, exploiting all CPU cores. We also provide helpful functionalities for (i) inspecting the inference process and (ii) evaluating the obtained samples. Finally, we test the robustness of our implementation on some typical LFI examples.
翻译:在具有不可处理似然的统计模型中进行推断极具挑战性,因此多数似然自由推断方法在精度和效率上存在局限。本文介绍了基于Python包ELFI实现的鲁棒优化蒙特卡洛(ROMC)这一似然自由推断方法。ROMC是一种新颖且高效(高度可并行化)的似然自由推断框架,能够从后验分布中提供精确的加权样本。我们的实现支持两种使用方式:首先,科研人员可将其作为开箱即用的似然自由推断算法使用——我们提供与ELFI设计原则统一的易用API,便于与包内其他方法进行便捷对比;其次,我们将ROMC精心拆解为独立组件以支持可扩展性,研究者无需从头重写所有代码即可试验新的子算法。在两种场景下,ROMC组件均可实现全并行化运行,充分发挥所有CPU核心的计算能力。我们还提供了用于(i)审查推断过程和(ii)评估所得样本的实用功能。最后,我们在典型似然自由推断示例上测试了实现的鲁棒性。