DiscreteEKFComponent¶
- class probnum.filtsmooth.gaussian.approx.DiscreteEKFComponent(non_linear_model, forward_implementation='classic', backward_implementation='classic')¶
Bases:
_LinearizationInterface
,NonlinearGaussian
Discrete extended Kalman filter transition.
Attributes Summary
Methods Summary
backward_realization
(realization_obtained, rv)Approximate backward-propagation of a realization of a random variable.
backward_rv
(rv_obtained, rv[, rv_forwarded, ...])Approximate backward-propagation of a random variable.
forward_realization
(realization, t[, dt, ...])Approximate forward-propagation of a realization of a random variable.
forward_rv
(rv, t[, dt, compute_gain, ...])Approximate forward-propagation of a random variable.
from_callable
(input_dim, output_dim, ...)Turn a callable into a deterministic transition.
jointly_transform_base_measure_realization_list_backward
(...)Transform samples from a base measure into joint backward samples from a list of random variables.
jointly_transform_base_measure_realization_list_forward
(...)Transform samples from a base measure into joint backward samples from a list of random variables.
linearize
(t, at_this_rv)Linearize the dynamics function with a first order Taylor expansion.
smooth_list
(rv_list, locations, _diffusion_list)Apply smoothing to a list of random variables, according to the present transition.
Attributes Documentation
- Return type
None
- noise_fun¶
- transition_fun¶
- transition_fun_jacobian¶
Methods Documentation
- backward_realization(realization_obtained, rv, rv_forwarded=None, gain=None, t=None, dt=None, _diffusion=1.0, _linearise_at=None)¶
Approximate backward-propagation of a realization of a random variable.
- backward_rv(rv_obtained, rv, rv_forwarded=None, gain=None, t=None, dt=None, _diffusion=1.0, _linearise_at=None)¶
Approximate backward-propagation of a random variable.
- forward_realization(realization, t, dt=None, compute_gain=False, _diffusion=1.0, _linearise_at=None)¶
Approximate forward-propagation of a realization of a random variable.
- forward_rv(rv, t, dt=None, compute_gain=False, _diffusion=1.0, _linearise_at=None)¶
Approximate forward-propagation of a random variable.
- classmethod from_callable(input_dim, output_dim, transition_fun, transition_fun_jacobian)¶
Turn a callable into a deterministic transition.
- Parameters
transition_fun (Callable[[Union[float, Real, floating], Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]], Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]]) –
transition_fun_jacobian (Callable[[Union[float, Real, floating], Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]], Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]]) –
- jointly_transform_base_measure_realization_list_backward(base_measure_realizations, t, rv_list, _diffusion_list, _previous_posterior=None)¶
Transform samples from a base measure into joint backward samples from a list of random variables.
- Parameters
base_measure_realizations (ndarray) – Base measure realizations (usually samples from a standard Normal distribution). These are transformed into joint realizations of the random variable list.
rv_list (_RandomVariableList) – List of random variables to be jointly sampled from.
t (Union[float, Real, floating]) – Locations of the random variables in the list. Assumed to be sorted.
_diffusion_list (ndarray) – List of diffusions that correspond to the intervals in the locations. If locations=(t0, …, tN), then _diffusion_list=(d1, …, dN), i.e. it contains one element less.
_previous_posterior – Previous posterior. Used for iterative posterior linearisation.
- Returns
Jointly transformed realizations.
- Return type
np.ndarray
- jointly_transform_base_measure_realization_list_forward(base_measure_realizations, t, initrv, _diffusion_list, _previous_posterior=None)¶
Transform samples from a base measure into joint backward samples from a list of random variables.
- Parameters
base_measure_realizations (ndarray) – Base measure realizations (usually samples from a standard Normal distribution). These are transformed into joint realizations of the random variable list.
initrv (RandomVariable) – Initial random variable.
t (Union[float, Real, floating]) – Locations of the random variables in the list. Assumed to be sorted.
_diffusion_list (ndarray) – List of diffusions that correspond to the intervals in the locations. If locations=(t0, …, tN), then _diffusion_list=(d1, …, dN), i.e. it contains one element less.
_previous_posterior – Previous posterior. Used for iterative posterior linearisation.
- Returns
Jointly transformed realizations.
- Return type
np.ndarray
- linearize(t, at_this_rv)[source]¶
Linearize the dynamics function with a first order Taylor expansion.
- Parameters
at_this_rv (Normal) –
- smooth_list(rv_list, locations, _diffusion_list, _previous_posterior=None)¶
Apply smoothing to a list of random variables, according to the present transition.
- Parameters
rv_list (randvars._RandomVariableList) – List of random variables to be smoothed.
locations – Locations \(t\) of the random variables in the time-domain. Used for continuous-time transitions.
_diffusion_list – List of diffusions that correspond to the intervals in the locations. If locations=(t0, …, tN), then _diffusion_list=(d1, …, dN), i.e. it contains one element less.
_previous_posterior – Specify a previous posterior to improve linearisation in approximate backward passes. Used in iterated smoothing based on posterior linearisation.
- Returns
List of smoothed random variables.
- Return type