RxInfer: A Julia package for reactive real-time Bayesian inference


We present RxInfer.jl, which is a Julia (Jeff Bezanson et al., 2012; J. Bezanson et al., 2017) package for real-time variational Bayesian inference based on reactive message passing in a factor graph representation of the model under study (Bagaev & Vries, 2021). RxInfer.jl provides access to a powerful model specification language that translates a textual description of a probabilistic model into a corresponding factor graph representation. In addition, RxInfer.jl supports hybrid variational inference processes, where different Bayesian inference methods can be combined in different parts of the model, resulting in a straightforward mechanism to trade off accuracy for computational speed. The underlying implementation relies on a reactive programming paradigm and supports by design the processing of infinite asynchronous data streams. In the proposed framework, the inference engine reacts to new data and automatically updates relevant posteriors.

The Journal of Open Source Software