- Implementation of Continuous-discrete Linear Gaussian State Space Models
-
We provide a model class definition
- NB:
t0
andt1
refer to$t_k$ and$t_{k+1}$ , not necessarily regularly sampled
- NB:
-
We provide a set of filtering and smoothing algorithms described below.
-
-
The codebase is based on algorithms as defined in
-
The Continuous Discrete Kalman Filter implementation
- i.e., Algorithm 3.15 in [1]
-
Continuous Discrete Kalman Smoothers:
-
The Continuous Discrete Kalman Smoother type I implementation
- i.e., Algorithm 3.17 in [1]
-
The Continuous Discrete Kalman Smoother type II implementation
- i.e., Algorithm 3.18 in [1]
-
-
Parameter (point)-estimation is possible via stochastic gradient descent based MLE
- See
fit_sgd()
in ssm_temissions.py- Which leverages the marginal log-likelihood computed in closed form
- The analytical marginalized log-likelihood is possible given the Gaussian nature of the (recursive) transition and emission distributions
- See
-
We do not provide a parameter (point)-estimation via EM
- The m-step requires MLE for continuous time parameters
-
Note that the codebase currently only supports inputs at measurement times, i.e.,
$u$ is observed at times$t_k$ as given in t_emissions. -
Note that even if the model definition seems to allow for time-varying emission weights, the implementation is not ready to do so (dynamax wasn't either)