KernelTwoFilterSmoother Class Template Reference

Inheritance diagram for KernelTwoFilterSmoother:

Inheritance graph
[legend]

List of all members.


Detailed Description

template<class T = unsigned int, class NT = indii::ml::aux::Almost2Norm, class KT = indii::ml::aux::AlmostGaussianKernel, class ST = indii::ml::aux::MedianPartitioner>
class indii::ml::filter::KernelTwoFilterSmoother< T, NT, KT, ST >

Kernel two-filter smoother.

Author:
Lawrence Murray <lawrence@indii.org>
Version:
Rev
Date:
Date
Parameters:
T The type of time.
NT Norm type.
KT Kernel type.
ST Partitioner type.
See also:
KernelForwardBackwardSmoother for further information, and indii::ml::filter for general usage guidelines.

References

Murray, L. Bayesian Learning of Continuous Time Dynamical Systems (with applications in Functional Magnetic Resonance Imaging). PhD thesis. Online at http://www.indii.org/research/.

Definition at line 41 of file KernelTwoFilterSmoother.hpp.


Public Member Functions

 KernelTwoFilterSmoother (KernelTwoFilterSmootherModel< T > *model, const NT &N, const KT &K, const T tT, const indii::ml::aux::DiracMixturePdf &p_xT, const indii::ml::aux::vector &ytT, const unsigned int flags=0)
 Constructor, with measurement at starting time.
 KernelTwoFilterSmoother (KernelTwoFilterSmootherModel< T > *model, const NT &N, const KT &K, const T tT, const indii::ml::aux::DiracMixturePdf &p_xT, const unsigned int flags=0)
 Constructor, without measurement at starting time.
virtual ~KernelTwoFilterSmoother ()
 Destructor.
virtual
KernelTwoFilterSmootherModel
< T > * 
getModel ()
 Get the model.
void smooth (const T tn, const indii::ml::aux::vector &ytn, indii::ml::aux::DiracMixturePdf &p_xtn_ytnm1, indii::ml::aux::Pdf &q_xtn, const unsigned int flags=0)
 Step back in time and smooth, with measurement.
void smooth (const T tn, indii::ml::aux::DiracMixturePdf &p_xtn_ytnm1, indii::ml::aux::Pdf &q_xtn, const unsigned int flags=0)
 Step back in time and smooth, without measurement.
void smooth (const T tn, const indii::ml::aux::vector &ytn, indii::ml::aux::DiracMixturePdf &p_xtn_ytnm1, const unsigned int flags=0)
 Step back in time and smooth, with measurement, and uncorrected filter density as proposal distribution.
void smooth (const T tn, indii::ml::aux::DiracMixturePdf &p_xtn_ytnm1, const unsigned int flags=0)
 Step back in time and smooth, without measurement, and uncorrected filter density as proposal distribution.
virtual
indii::ml::aux::DiracMixturePdf 
smoothedMeasure ()
 Apply the measurement function to the current smoothed state to obtain an estimated measurement.
void smoothedResample (ParticleResampler *resampler)
 Resample the smoothed state.

Constructor & Destructor Documentation

KernelTwoFilterSmoother ( KernelTwoFilterSmootherModel< T > *  model,
const NT &  N,
const KT &  K,
const T  tT,
const indii::ml::aux::DiracMixturePdf p_xT,
const indii::ml::aux::vector ytT,
const unsigned int  flags = 0 
) [inline]

Constructor, with measurement at starting time.

Parameters:
model Model to estimate.
N The kernel density norm.
K The kernel density kernel.
tT $t_T$; starting time.
p_xT $p(\mathbf{x}_T)$; prior over the state at time $t_T$.
ytT $\mathbf{y}_T$; measurement at time $t_T$.
flags Optimisation flags for calculation of the initial backward likelihood. Only NO_STANDARDISATION is relevant here.

Definition at line 223 of file KernelTwoFilterSmoother.hpp.

KernelTwoFilterSmoother ( KernelTwoFilterSmootherModel< T > *  model,
const NT &  N,
const KT &  K,
const T  tT,
const indii::ml::aux::DiracMixturePdf p_xT,
const unsigned int  flags = 0 
) [inline]

Constructor, without measurement at starting time.

Parameters:
model Model to estimate.
N The kernel density norm.
K The kernel density kernel.
tT $t_T$; starting time.
p_xT $p(\mathbf{x}_T)$; prior over the state at time $t_T$.
flags Optimisation flags for calculation of the initial backward likelihood. Only NO_STANDARDISATION is relevant here.

Definition at line 262 of file KernelTwoFilterSmoother.hpp.

~KernelTwoFilterSmoother (  )  [inline, virtual]

Destructor.

Definition at line 298 of file KernelTwoFilterSmoother.hpp.


Member Function Documentation

indii::ml::filter::KernelTwoFilterSmootherModel< T > * getModel (  )  [inline, virtual]

Get the model.

Returns:
The model.

Definition at line 304 of file KernelTwoFilterSmoother.hpp.

void smooth ( const T  tn,
const indii::ml::aux::vector ytn,
indii::ml::aux::DiracMixturePdf p_xtn_ytnm1,
indii::ml::aux::Pdf q_xtn,
const unsigned int  flags = 0 
) [inline]

Step back in time and smooth, with measurement.

Parameters:
tn $t_n$; the time to which to rewind the system. This must be less than the current time $t_{n+1}$.
ytn $\mathbf{y}_n$; the measurement at time $t_n$.
p_xtn_ytnm1 $p(\mathbf{x}_n\,|\,\mathbf{y}_{1:n-1})$; the uncorrected filter density at time $t_n$.
q_xtn $q(\mathbf{x}_n)$; proposal distribution for importance sampling of the smooth density at time $t_n$.
flags Optimisation flags.

Definition at line 309 of file KernelTwoFilterSmoother.hpp.

void smooth ( const T  tn,
indii::ml::aux::DiracMixturePdf p_xtn_ytnm1,
indii::ml::aux::Pdf q_xtn,
const unsigned int  flags = 0 
) [inline]

Step back in time and smooth, without measurement.

Parameters:
tn $t_n$; the time to which to rewind the system. This must be less than the current time $t_{n+1}$.
p_xtn_ytnm1 $p(\mathbf{x}_n\,|\,\mathbf{y}_{1:n-1})$; the uncorrected filter density at time $t_n$.
q_xtn $q(\mathbf{x}_n)$; proposal distribution for importance sampling of the smooth density at time $t_n$.
flags Optimisation flags.

Definition at line 442 of file KernelTwoFilterSmoother.hpp.

void smooth ( const T  tn,
const indii::ml::aux::vector ytn,
indii::ml::aux::DiracMixturePdf p_xtn_ytnm1,
const unsigned int  flags = 0 
) [inline]

Step back in time and smooth, with measurement, and uncorrected filter density as proposal distribution.

Parameters:
tn $t_n$; the time to which to rewind the system. This must be less than the current time $t_{n+1}$.
ytn $\mathbf{y}_n$; the measurement at time $t_n$.
p_xtn_ytnm1 $p(\mathbf{x}_n\,|\,\mathbf{y}_{1:n-1})$; the uncorrected filter density at time $t_n$.
flags Optimisation flags.

Definition at line 452 of file KernelTwoFilterSmoother.hpp.

void smooth ( const T  tn,
indii::ml::aux::DiracMixturePdf p_xtn_ytnm1,
const unsigned int  flags = 0 
) [inline]

Step back in time and smooth, without measurement, and uncorrected filter density as proposal distribution.

Parameters:
tn $t_n$; the time to which to rewind the system. This must be less than the current time $t_{n+1}$.
p_xtn_ytnm1 $p(\mathbf{x}_n\,|\,\mathbf{y}_{1:n-1})$; the uncorrected filter density at time $t_n$.
flags Optimisation flags.

Definition at line 571 of file KernelTwoFilterSmoother.hpp.

indii::ml::aux::DiracMixturePdf smoothedMeasure (  )  [inline, virtual]

Apply the measurement function to the current smoothed state to obtain an estimated measurement.

Returns:
The estimated measurement.

Implements Smoother< T, indii::ml::aux::DiracMixturePdf >.

Definition at line 581 of file KernelTwoFilterSmoother.hpp.

void smoothedResample ( ParticleResampler resampler  )  [inline]

Resample the smoothed state.

See also:
ParticleFilter::resample()

Definition at line 598 of file KernelTwoFilterSmoother.hpp.


Generated on Wed Dec 17 15:11:58 2008 for dysii Dynamical Systems Library by  doxygen 1.5.3