User-friendly Inference with RxInfer's ProjectedTo Constraints
Traditional message passing-based Bayesian inference algorithms are fast but often struggle with real-world models that lack closed-form update rules, such as those with non-conjugate terms or any external code integrated into RxInfer: differential equation solvers, root finding, or even code outside of Julia. The Bayesian inference package RxInfer (from v3) introduces a powerful projection mechanism that overcomes this limitation, enabling modelers to maintain the speed of message passing while handling complex model components.
The core idea is simple: you define your joint distribution in Julia, then annotate challenging factors with ProjectedTo(<family>)
constraints. RxInfer then automatically derives the necessary inference approximations and delivers streaming estimates of posterior distributions. This talk will demonstrate this workflow through two compact examples: a hierarchical Gaussian filter for choice data and integrating an ordinary differential equation (ODE) solver for an SIR epidemic model. Attendees will receive runnable notebooks and a clear recipe for applying reactive variational inference to their own non-conjugate or simulator-based models.