Total: 1
The formalism of Bayesian model selection provides a very elegant way of ranking different physical models in terms of how compatible they are with a given set of observed data. However, its practical application is often hampered by the challenge of having to compute the Bayesian evidence - a multi-dimensional integral over the product of likelihood and prior probability. This usually necessitates a large number of function calls to the likelihood, which may become prohibitive in case of "slow", costly to evaluate likelihoods. A possible solution to this problem lies in approximating the slow full likelihood by a fast emulated likelihood. In this paper, we introduce BOBE (Bayesian Optimisation for Bayesian Evidence), a method to construct a Gaussian Process Regression (GPR)-based emulator. BOBE utilises a Bayesian Optimisation algorithm designed specifically to (i) provide a realistic estimate of the emulator's uncertainty and its impact on the evidence calculation, and (ii) minimise the number of likelihood evaluations required in order to meet a given evidence accuracy goal. We apply it to a number of toy examples as well as actual cosmological likelihoods, and demonstrate that training the emulator to a sufficient accuracy takes a factor of $O(10^3)$ fewer direct likelihood evaluations than would be needed if one were to directly compute the evidence integral via nested sampling. BOBE's overhead is independent of the likelihood computation time $t_L$, making it particularly useful for "expensive" likelihoods with $t_L \gtrsim 1$~s. BOBE is written in Python, supports MPI parallelisation, takes advantage of automatic differentiation and just-in-time-compilation provided by JAX, can straightforwardly be implemented with cosmological data analysis frameworks such as Cobaya, and is available for download from https://github.com/Ameek94/BOBE.