jacobnzw/SSMToybox

Philosophically Incoherent Design of "Moment" Transforms

jacobnzw opened this issue · 0 comments

StateSpaceInference sub-classes are specific to a particular density (i.e. GaussianInference, StudentInference). That is, sub-classes are designed with the Bayesian viewpoint, which imposes density on the joint p(x, z). But the same philosophy isn't followed for moment transforms!

For reasons of consistency, the same Bayesian philosophy should be reflected in the class hierarchy of the "moment" transforms (they should really be referred to as statistic transforms).

The class hierarchy might look like this:

  • GaussianTransform or GaussianStatisticTransform
    • GaussianSigmaPointTransform
  • StudentTransform or StudentStatisticTransform
    • StudentSigmaPointTransform

There might be a common base class StatisticTransform, but currently I don't see the need for it.

Consequently this will also require redesign of the StudentInference and minor changes in GaussianInference.

The following dictionary might be helpful

Bayesian world Moment world
Statistic transform Moment transform
Quadrature Sigma-point rule
PDF Moments
Gaussian filters Kalman filter
Studentian filters

Originally posted by @jacobnzw in https://github.com/_render_node/MDEyOklzc3VlQ29tbWVudDQ0MTYwMjk2OA==/timeline/issue_comment#issuecomment-441602968