gov.sandia.cognition.statistics.bayesian
Interface ParticleFilter<ObservationType,ParameterType>

Type Parameters:
ObservationType - Type of observations handled by the algorithm.
ParameterType - Type of parameters to infer.
All Superinterfaces:
BatchLearner<Collection<? extends ObservationType>,DataDistribution<ParameterType>>, BayesianEstimator<ObservationType,ParameterType,DataDistribution<ParameterType>>, Cloneable, CloneableSerializable, IncrementalLearner<ObservationType,DataDistribution<ParameterType>>, Randomized, RecursiveBayesianEstimator<ObservationType,ParameterType,DataDistribution<ParameterType>>, Serializable
All Known Implementing Classes:
AbstractParticleFilter, SamplingImportanceResamplingParticleFilter

@PublicationReferences(references={@PublicationReference(author={"M. Sanjeev Arulampalam","Simon Maskell","Neil Gordon","Tim Clapp"},title="A Tutorial on Particle Filters for Online Nonlinear/Non-Gaussian Bayesian Tracking",type=Journal,publication="IEEE Transactions on Signal Processing, Vol. 50, No. 2",year=2002,pages={174,188},url="http://people.cs.ubc.ca/~murphyk/Software/Kalman/ParticleFilterTutorial.pdf"),@PublicationReference(author="Wikipedia",title="Particle filter",type=WebPage,year=2009,url="http://en.wikipedia.org/wiki/Particle_filter")})
public interface ParticleFilter<ObservationType,ParameterType>
extends RecursiveBayesianEstimator<ObservationType,ParameterType,DataDistribution<ParameterType>>, Randomized

A particle filter aims to estimate a sequence of hidden parameters based on observed data using point-mass estimates of the posterior distribution. Particle filters are sometimes called Sequential Monte Carlo estimation.

Since:
3.0
Author:
Kevin R. Dixon

Nested Class Summary
static interface ParticleFilter.Updater<ObservationType,ParameterType>
          Updates the particles.
 
Method Summary
 double computeEffectiveParticles(DataDistribution<ParameterType> particles)
          Computes the effective number of particles.
 int getNumParticles()
          Gets the number of particles
 ParticleFilter.Updater<ObservationType,ParameterType> getUpdater()
          Gets the updater
 void setNumParticles(int numParticles)
          Sets the number of particles
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.BatchLearner
learn
 
Methods inherited from interface gov.sandia.cognition.util.CloneableSerializable
clone
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.IncrementalLearner
createInitialLearnedObject, update, update
 
Methods inherited from interface gov.sandia.cognition.util.Randomized
getRandom, setRandom
 

Method Detail

getUpdater

ParticleFilter.Updater<ObservationType,ParameterType> getUpdater()
Gets the updater

Returns:
Updater algorithm that updates the particles.

getNumParticles

int getNumParticles()
Gets the number of particles

Returns:
Number of particles.

setNumParticles

void setNumParticles(int numParticles)
Sets the number of particles

Parameters:
numParticles - Number of particles.

computeEffectiveParticles

double computeEffectiveParticles(DataDistribution<ParameterType> particles)
Computes the effective number of particles.

Parameters:
particles - Current state of the Particle filter.
Returns:
Effective number of particles.