[NEW] UniversalDiffEq.jl: Simple front-end for State-Space Universal Dynamical Equations

Hello everyone,

I’m happy to announce our package UniversalDiffeq.jl, recently published in the Julia registry and hosted on a Github repo.

UniversalDiffEq.jl presents a simple to use front-end for the recently developed State-Space Universal Dynamical Equations. In addition to the State-Space UDEs, this front-end extends to many of the functions for Neural ODEs and Universal Differential Equations of DiffEqFlux.jl.

How it works
UniversalDiffEq.jl exports a complex main struct UDE and other variations for special cases explained in the documentation. This struct accepts a DataFrame dataset of your time series of interest as its training data and a custom process function. The model can then easily be trained using customizable training functions (ADAM and BFGS for regular UDEs, NUTS and SGLD for Bayesian UDEs).

Currently supported models

  • State-Space UDEs (UDE)
  • State-Space UDEs trained on different time series (MultiUDE)
  • Bayesian State-Space UDEs (BayesianUDE)

A simple example

using UniversalDiffEq, DataFrames

data,plt = LotkaVolterra();
model = NODE(data);
gradient_descent!(model);
plot_predictions(model)
plot_state_estimates(model)

Outputs:

More complex, step-by-step examples are available in the documentation.

10 Likes