ProbNumDiffEq.jl icon indicating copy to clipboard operation
ProbNumDiffEq.jl copied to clipboard

workflow: linear_gaussian_filtering_smoothing

Open lazarusA opened this issue 2 years ago • 2 comments

While exploring this library I wondered if a workflow like the following is possible within the current implementation:

https://probnum.readthedocs.io/en/latest/tutorials/filtsmooth/discrete_linear_gaussian_filtering_smoothing.html

Basically, we would like to incorporate observations into our Bayesian estimations. Any comments, or hints are appreciated.

cheers!

lazarusA avatar Dec 13 '22 18:12 lazarusA

Hi! General Gaussian filtering and smoothing is unfortunately not really the scope of this package - the package is mostly aimed to provid an as-fast-as-possible implementation of the common ODE filters, in the DiffEq.jl ecosystem. For the time being, I think the best approach is to build your own state-space model for joint inference from ODEs and data. Though I am not familiar enough with existing filtering libraries so I can't recommend any specific package for inference.

To build your own ODE filter, this small example might be helpful: https://nathanaelbosch.github.io/KalmanFilterToolbox.jl/dev/odefilter/. Basically, instead of just doing an EKF update on the vector field, you would need to also update on the data. I will try to add a small example for inference on both ODE information and data; but then again, the resulting code would not be optimized at all, so depending on what you have in mind it might not be helpful for you.

Hope this helps a bit, let me know if you have any other questions!

nathanaelbosch avatar Dec 14 '22 16:12 nathanaelbosch

I will try to add a small example for inference on both ODE information and data.

Thanks for the pointers. Looking forward for the example, even is not optimised.

lazarusA avatar Dec 20 '22 14:12 lazarusA