gov.sandia.cognition.statistics.bayesian
Class SamplingImportanceResamplingParticleFilter<ObservationType,ParameterType>

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.learning.algorithm.AbstractBatchAndIncrementalLearner<ObservationType,DataDistribution<ParameterType>>
          extended by gov.sandia.cognition.statistics.bayesian.AbstractParticleFilter<ObservationType,ParameterType>
              extended by gov.sandia.cognition.statistics.bayesian.SamplingImportanceResamplingParticleFilter<ObservationType,ParameterType>
Type Parameters:
ObservationType - Type of observations handled by the algorithm.
ParameterType - Type of parameters to infer.
All Implemented Interfaces:
BatchAndIncrementalLearner<ObservationType,DataDistribution<ParameterType>>, BatchLearner<Collection<? extends ObservationType>,DataDistribution<ParameterType>>, IncrementalLearner<ObservationType,DataDistribution<ParameterType>>, BayesianEstimator<ObservationType,ParameterType,DataDistribution<ParameterType>>, ParticleFilter<ObservationType,ParameterType>, RecursiveBayesianEstimator<ObservationType,ParameterType,DataDistribution<ParameterType>>, CloneableSerializable, Randomized, Serializable, Cloneable

@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")
public class SamplingImportanceResamplingParticleFilter<ObservationType,ParameterType>
extends AbstractParticleFilter<ObservationType,ParameterType>

An implementation of the standard Sampling Importance Resampling particle filter.

Since:
3.0
Author:
Kevin R. Dixon
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface gov.sandia.cognition.statistics.bayesian.ParticleFilter
ParticleFilter.Updater<ObservationType,ParameterType>
 
Field Summary
protected  double particlePctThreadhold
          Percentage of effective particles, below which we resample.
 
Fields inherited from class gov.sandia.cognition.statistics.bayesian.AbstractParticleFilter
numParticles, random, updater
 
Constructor Summary
SamplingImportanceResamplingParticleFilter()
          Creates a new instance of SamplingImportanceResamplingParticleFilter
 
Method Summary
 double getParticlePctThreadhold()
          Getter for particlePctThreadhold
 void setParticlePctThreadhold(double particlePctThreadhold)
          Setter for particlePctThreadhold
 void update(DataDistribution<ParameterType> particles, ObservationType value)
          The update method updates an object of ResultType using the given new data of type DataType, using some form of "learning" algorithm.
 
Methods inherited from class gov.sandia.cognition.statistics.bayesian.AbstractParticleFilter
clone, computeEffectiveParticles, createInitialLearnedObject, getNumParticles, getRandom, getUpdater, setNumParticles, setRandom, setUpdater
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.AbstractBatchAndIncrementalLearner
learn, learn, update
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.BatchLearner
learn
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.IncrementalLearner
update
 

Field Detail

particlePctThreadhold

protected double particlePctThreadhold
Percentage of effective particles, below which we resample.

Constructor Detail

SamplingImportanceResamplingParticleFilter

public SamplingImportanceResamplingParticleFilter()
Creates a new instance of SamplingImportanceResamplingParticleFilter

Method Detail

getParticlePctThreadhold

public double getParticlePctThreadhold()
Getter for particlePctThreadhold

Returns:
Number of effective particles, below which we resample.

setParticlePctThreadhold

public void setParticlePctThreadhold(double particlePctThreadhold)
Setter for particlePctThreadhold

Parameters:
particlePctThreadhold - Number of effective particles, below which we resample.

update

public void update(DataDistribution<ParameterType> particles,
                   ObservationType value)
Description copied from interface: IncrementalLearner
The update method updates an object of ResultType using the given new data of type DataType, using some form of "learning" algorithm.

Parameters:
particles - The object to update.
value - The new data for the learning algorithm to use to update the object.