How Bayesian estimation of parameters of ODE system is done?

Hello people,

I tried to find texts, journal articles, blog posts, etc., to understand how Bayesian estimation (for example, NUTS) works for ODE parameter estimation, but I could not. None of the material I found on the web deal with parameter estimation for systems of ODEs.

For instance, Turing’s website provides an excellent tutorial using the Lotka-Volterra model as to how to implement the framework for inferring parameters of an ODE model. More specifically, using the tutorial, what do these lines mean?

# Observations.
for i in 1:length(predicted)
    data[:, i] ~ MvNormal(predicted[i], σ^2 * I)
end

How is the process of ‘inferring the actual parameter values’ executed? How are the data simulated from solving the ODEs compared with the actual observed data, and what is estimated for such ‘comparison’?

Could someone post links or names of such material in this thread?

1 Like

This example shows Bayesian estimation of parameters from Lotka-Volterra:

https://turing.ml/v0.21/tutorials/10-bayesian-differential-equations/

1 Like

Thank you, @liamfdoherty, for the quick response. But my question was more about the mathematical basics rather than the tutorials. I’ve updated the question for clarity.

A google search, " Bayesian estimation of ODE parameters", returns a lot of references on this topic.

1 Like

https://book.sciml.ai/notes/16/

4 Likes