DiscreteGaussian¶
-
class
probnum.filtsmooth.statespace.
DiscreteGaussian
(dynamicsfun, diffmatfun, jacobfun=None)[source]¶ Bases:
probnum.filtsmooth.statespace.transition.Transition
Random variable transitions with additive Gaussian noise.
\[x_{i+1} \sim \mathcal{N}(g(t_i, x_i), S(t_i))\]for some (potentially non-linear) dynamics \(g\) and diffusion matrix \(S\). This is used for, but not restricted to time-series.
- Parameters
dynamicsfun (
Callable
[[Real
,ndarray
],ndarray
]) – Dynamics function \(g=g(t, x)\). Signature:dynafct(t, x)
.diffmatfun (
Callable
[[Real
],ndarray
]) – Diffusion matrix function \(S=S(t)\). Signature:diffmatfct(t)
.jacobfun (
Optional
[Callable
[[Real
,ndarray
],ndarray
]]) – Jacobian of the dynamics function \(g\), \(Jg=Jg(t, x)\). Signature:jacfct(t, x)
.
See also
DiscreteModel
,DiscreteGaussianLinearModel
Attributes Summary
Dimension of the transition model.
Methods Summary
transition_realization
(real, start, **kwargs)Transition a realization of a random variable from time \(t\) to time \(t+\Delta t\).
Applies the transition, assuming that the state is already preconditioned.
transition_rv
(rv, start, **kwargs)Transition a random variable from time \(t\) to time \(t+\Delta t\).
transition_rv_preconditioned
(rv, start[, …])Applies the transition, assuming that the state is already preconditioned.
Attributes Documentation
-
dimension
¶ Dimension of the transition model.
Not all transition models have a unique dimension. Some turn a state (x, y) into a scalar z and it is not clear whether the dimension should be 2 or 1.
- Return type
Methods Documentation
-
transition_realization
(real, start, **kwargs)[source]¶ Transition a realization of a random variable from time \(t\) to time \(t+\Delta t\).
For random variable \(x_t\), it returns the random variable defined by
\[x_{t + \Delta t} \sim p(x_{t + \Delta t} | x_t = r) .\]This is different to
transition_rv()
which computes the parametrization of \(x_{t + \Delta t}\) based on the parametrization of \(x_t\).Nb: Think of transition as a verb, i.e. this method “transitions” a realization of a random variable.
- Parameters
real – Realization of the random variable.
start – Starting point \(t\).
stop – End point \(t + \Delta t\).
step – Intermediate step-size. Optional, default is None.
linearise_at – For approximate transitions , for instance ContinuousEKFComponent, this argument overloads the state at which the Jacobian is computed.
- Returns
RandomVariable – Random variable, describing the state at time \(t + \Delta t\) based on realization at time \(t\).
dict – Additional information in form of a dictionary, for instance the cross-covariance in the prediction step, access to which is useful in smoothing.
See also
transition_rv()
Apply transition to a random variable.
-
transition_realization_preconditioned
(real, start, stop=None, step=None, linearise_at=None)¶ Applies the transition, assuming that the state is already preconditioned.
This is useful for numerically stable implementation of Kalman smoothing steps and Kalman updates.
- Return type
-
transition_rv
(rv, start, **kwargs)[source]¶ Transition a random variable from time \(t\) to time \(t+\Delta t\).
For random variable \(x_t\), it returns the random variable defined by
\[x_{t + \Delta t} \sim p(x_{t + \Delta t} | x_t) .\]This returns a random variable where the parametrization depends on the paramtrization of \(x_t\). This is different to
transition_rv()
which computes the parametrization of \(x_{t + \Delta t}\) based on a realization of \(x_t\).Nb: Think of transition as a verb, i.e. this method “transitions” a random variable.
- Parameters
rv – Realization of the random variable.
start – Starting point \(t\).
stop – End point \(t + \Delta t\).
step – Intermediate step-size. Optional, default is None.
linearise_at – For approximate transitions , for instance ContinuousEKFComponent, this argument overloads the state at which the Jacobian is computed.
- Returns
RandomVariable – Random variable, describing the state at time \(t + \Delta t\) based on realization at time \(t\).
dict – Additional information in form of a dictionary, for instance the cross-covariance in the prediction step, access to which is useful in smoothing.
See also
transition_realization()
Apply transition to a realization of a random variable.
-
transition_rv_preconditioned
(rv, start, stop=None, step=None, linearise_at=None)¶ Applies the transition, assuming that the state is already preconditioned.
This is useful for numerically stable implementation of Kalman smoothing steps and Kalman updates.
- Return type