Data Likelihoods
ProbNumDiffEq.fenrir_data_loglik
— Functionfenrir_data_loglik(
prob::SciMLBase.AbstractODEProblem,
alg::ProbNumDiffEq.AbstractEK,
args...;
observation_matrix,
observation_noise_cov,
data,
kwargs...
)
Compute the Fenrir [3] approximate negative log-likelihood (NLL) of the data.
This is a convenience function that
- Solves the ODE with a
ProbNumDiffEq.EK1
of the specified order and with a diffusion as provided by thediffusion_var
argument, and - Fits the ODE posterior to the data via Kalman filtering and thereby computes the log-likelihood of the data on the way.
You can control the step-size behaviour of the solver as you would for a standard ODE solve, but additionally the solver always steps through the data.t
locations by adding them to tstops
.
You can also choose steps adaptively by setting adaptive=true
, but this is not well-tested so use at your own risk!
Arguments
prob::SciMLBase.AbstractODEProblem
: the initial value problem of interestalg::AbstractEK
: the probabilistic ODE solver to be used; useEK1
for best results.data::NamedTuple{(:t, :u)}
: the data to be fittedobservation_matrix::Union{AbstractMatrix,UniformScaling}
: the matrix which maps the ODE state to the measurements; typically a projection matrixobservation_noise_cov::Union{Number,AbstractMatrix}
: the scalar observation noise variance
Reference
- [3] Tronarp et al, "Fenrir: Physics-Enhanced Regression for Initial Value Problems", ICML (2022)
ProbNumDiffEq.dalton_data_loglik
— Functiondalton_data_loglik(
prob::SciMLBase.AbstractODEProblem,
alg::ProbNumDiffEq.AbstractEK,
args...;
observation_matrix,
observation_noise_cov,
data,
kwargs...
)
Compute the DALTON [10] approximate negative log-likelihood (NLL) of the data.
You can control the step-size behaviour of the solver as you would for a standard ODE solve, but additionally the solver always steps through the data.t
locations by adding them to tstops
. You can also choose steps adaptively by setting adaptive=true
, but this is not well-tested so use at your own risk!
Arguments
prob::SciMLBase.AbstractODEProblem
: the initial value problem of interestalg::AbstractEK
: the probabilistic ODE solver to be used; useEK1
for best results.data::NamedTuple{(:t, :u)}
: the data to be fittedobservation_matrix::Union{AbstractMatrix,UniformScaling}
: the matrix which maps the ODE state to the measurements; typically a projection matrixobservation_noise_cov::Union{Number,AbstractMatrix}
: the scalar observation noise variance
Reference
- [10] Wu et al, "Data-Adaptive Probabilistic Likelihood Approximation for Ordinary Differential Equations", arXiv (2023)