axtreme.sampling.ut_sampler

Module for the UTSampler class for sampling a posterior using the Unscented Transform.

Functions

calculate_sigmas(dim, alpha, beta, kappa_base)

Create the sigma points, and the weight for calculating mean and variance.

Classes

UTSampler([alpha, beta, kappa_base])

Class for sampling a posterior using the Unscented Transform.

axtreme.sampling.ut_sampler.calculate_sigmas(dim: int, alpha: float, beta: float, kappa_base: float) tuple[Tensor, Tensor, Tensor]

Create the sigma points, and the weight for calculating mean and variance.

Parameters:
  • dim – dimensionality of the space to produce sigma points for. E.g The dimensionality of the output of a GP at a sinlge input point.

  • alpha – Scaling parameter for the sigma points.

  • beta – Parameter for the distribution. For Gaussian distributions, beta=2 is optimal.

  • kappa_base – Base parameter for the sigma points.

Returns:

A tuple of three tensors where,

  1. (m,dim) defines signma points, where - m: is the number of sigma points generated - dim: is the dimension of those points

  2. (m): weights required to combines these signma points for a mean estimate

  3. (m): weights required to combines these signma points for a variance estimate

Todo

  • does not currently support correlation between t dimensions.

  • (ks) - For now using filterpy for UT. Might want to implement our own version