Forward modelling#
A fundamental aspect of any quantitative science discipline is to make observations. These observations are generated by some physical (or chemical, biological, …) process. A forward model is a mathematical description of this process, which is often expressed as a differential equation; while the observations that we make can look extremely complex (e.g. planetary objects orbiting a star), the dynamics underlying this behaviour are often much simpler to describe (Newton’s laws of motion). We can then generate synthetic observations by solving the dynamics forward in time, given some set of parameters and initial conditions.
Quantitatively, the dynamics of a system with multiple variables or dimensions can be written as:
The synthetic observations are then generated by integrating Eq. (1) over time \(t \in \left[ t_0, t \right)\):
There exists a plethora of strategies to perform the integration as indicated above in a stable and accurate manner: Runge-Kutta, Rosenbrock, LSODA, … DiaBayes uses the Diffrax library [1], which implements several of these solvers in JAX. A good general-purpose solver is the Tsit5
algorithm, which is the default for DiaBayes.
Patrick Kidger. On Neural Differential Equations. PhD thesis, University of Oxford, 2021.