UnscentedTransform

class probnum.filtsmooth.gaussian.approx.UnscentedTransform(dimension, spread=0.0001, priorpar=2.0, special_scale=0.0)

Bases: object

Used for unscented Kalman filter.

See also p. 7 (“Unscented transform:”) of 1.

Parameters
  • dimension (int) – Spatial dimensionality

  • spread (float) – Spread of the sigma points around mean

  • priorpar (float) – Incorporate prior knowledge about distribution of x. For Gaussians, 2.0 is optimal (see link below)

  • special_scale (float) – Secondary scaling parameter. The primary parameter is computed below.

References

1

Wan, E. A. and van der Merwe, R., The Unscented Kalman Filter, http://read.pudn.com/downloads135/ebook/574389/wan01unscented.pdf

Methods Summary

estimate_statistics(proppts, sigpts, covmat, ...)

Computes predicted summary statistics, predicted mean/kernels/crosscovariance, from (propagated) sigmapoints.

propagate(time, sigmapts, modelfct)

Propagate sigma points.

sigma_points(rv)

Sigma points.

Methods Documentation

estimate_statistics(proppts, sigpts, covmat, mpred)[source]

Computes predicted summary statistics, predicted mean/kernels/crosscovariance, from (propagated) sigmapoints.

Not to be confused with mean and kernels resulting from the prediction step of the Bayesian filter. Hence we call it “estimate_*” instead of “predict_*”.

propagate(time, sigmapts, modelfct)[source]

Propagate sigma points.

Parameters
Returns

Shape=(2 N + 1, M). M is the dimension of the measurement model

Return type

np.ndarray

sigma_points(rv)[source]

Sigma points.

Parameters

rv (Normal) – Gaussian random variable. Shape (d,)

Raises

ValueError – If the random variable does not match the dimension of the UT.

Returns

Shape (2 * d + 1, d). Sigma points.

Return type

np.ndarray