DiscreteUKFComponent

class probnum.filtsmooth.gaussian.approx.DiscreteUKFComponent(non_linear_model, forward_implementation='classic', backward_implementation='classic')

Bases: probnum.filtsmooth.gaussian.approx._interface._LinearizationInterface, probnum.randprocs.markov.discrete.NonlinearGaussian

Discrete unscented Kalman filter transition.

Attributes Summary

dimension

Dimension of the state-space associated with the UKF.

noise_fun

transition_fun

transition_fun_jacobian

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 transition and make it tractable.

smooth_list(rv_list, locations, _diffusion_list)

Apply smoothing to a list of random variables, according to the present transition.

Attributes Documentation

dimension

Dimension of the state-space associated with the UKF.

Return type

int

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.

Return type

Tuple[Normal, Dict]

forward_rv(rv, t, dt=None, compute_gain=False, _diffusion=1.0, _linearise_at=None)

Approximate forward-propagation of a random variable.

Return type

Tuple[Normal, Dict]

classmethod from_callable(input_dim, output_dim, transition_fun, transition_fun_jacobian)

Turn a callable into a deterministic transition.

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 transition and make it tractable.

Return type

Transition

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

randvars._RandomVariableList