Application of DiffEqFlux to real data, with useful practical techniques

Self-promotion … The following article may be a useful guide for fitting real time series data to ODE and NODE models with DiffEqFlux.jl.

[2204.07833] Optimizing differential equations to fit data and predict outcomes

The article uses the classic ecological time series data of hare and lynx populations, which is noisy. Useful techniques to successfully fit differential equation models (find good local loss minimum) include smoothing the data, an enhanced method for sequential fitting that slowly increases the weighting of later entries in the time series, addition of extra dummy variable dimensions, and an option to optimize initial conditions for dummy dimensions.

The analysis also samples the posterior distribution of parameters and trajectories by preconditioned stochastic gradient Langevin dynamics (pSGLD), fixing a bug in previous Julia code for this method. The article provides a link to the GitHub code.

This might be made into a useful tutorial, in addition to providing helpful techniques for practical application.

The article also provides a good promotional message for the advantages of Julia. Many thanks to the authors of DiffEqFlux and several other great packages.