Propagates a recursive least squares error distribution of parameters, with a forgetting factor λ.
More...
#include <RecursiveLeastSquaresTransform.hpp>
|
| RecursiveLeastSquaresTransform (const Scalar lambda=0.9995) |
|
template<typename InputDist , typename ... NoiseDists, std::enable_if_t<(distribution< InputDist > and ... and distribution< NoiseDists >) and(coordinates::compares_with< typename DistributionTraits< InputDist >::StaticDescriptor, typename DistributionTraits< NoiseDists >::StaticDescriptor >and ...), int > = 0> |
auto | operator() (const InputDist &x, const NoiseDists &...ns) const |
| Apply the RLS transform on an input distribution. More...
|
|
template<typename InputDist , typename ... NoiseDists, std::enable_if_t<(distribution< InputDist > and ... and distribution< NoiseDists >) and(coordinates::compares_with< typename DistributionTraits< InputDist >::StaticDescriptor, typename DistributionTraits< NoiseDists >::StaticDescriptor > and ...), int > = 0> |
auto | transform_with_cross_covariance (const InputDist &x, const NoiseDists &...ns) const |
| Perform RLS transform, also returning the cross-covariance. More...
|
|
auto | operator() (const InputDist &x, const T &t, const Ts &...ts) const |
| Perform one or more consecutive transforms. More...
|
|
auto | transform_with_cross_covariance (const InputDist &x, const T &t, const Ts &...ts) const |
| Perform one or more consecutive transforms, also returning the cross-covariance. More...
|
|
template<typename Scalar = double>
struct OpenKalman::RecursiveLeastSquaresTransform< Scalar >
Propagates a recursive least squares error distribution of parameters, with a forgetting factor λ.
Useful for parameter estimation, where the parameter is expected to possibly drift over time
- Template Parameters
-
◆ operator()()
template<typename Scalar = double>
template<typename InputDist , typename ... NoiseDists, std::enable_if_t<(distribution< InputDist > and ... and distribution< NoiseDists >) and(coordinates::compares_with< typename DistributionTraits< InputDist >::StaticDescriptor, typename DistributionTraits< NoiseDists >::StaticDescriptor >and ...), int > = 0>
Apply the RLS transform on an input distribution.
Any noise distributions are treated as additive.
- Template Parameters
-
InputDist | The prior distribution. |
NoiseDists | Zero or more noise distribution. |
- Returns
- The posterior distribution.
◆ transform_with_cross_covariance()
template<typename Scalar = double>
template<typename InputDist , typename ... NoiseDists, std::enable_if_t<(distribution< InputDist > and ... and distribution< NoiseDists >) and(coordinates::compares_with< typename DistributionTraits< InputDist >::StaticDescriptor, typename DistributionTraits< NoiseDists >::StaticDescriptor > and ...), int > = 0>
Perform RLS transform, also returning the cross-covariance.
- Template Parameters
-
InputDist | The prior distribution. |
NoiseDists | Zero or more noise distribution. |
- Returns
- A tuple comprising the posterior distribution and the cross-covariance.
The documentation for this struct was generated from the following file: