Particle filter
Lua error in package.lua at line 80: module 'strict' not found.
Particle filters or Sequential Monte Carlo (SMC) methods are a set of genetic-type particle Monte Carlo methodologies to solve the filtering problem. The term "particle filters" was first coined in 1996 by Del Moral[1] in reference to mean field interacting particle methods used in fluid mechanics since the beginning of the 1960s. The terminology "sequential Monte Carlo" was proposed by Liu and Chen in 1998.
From the statistical and probabilistic point of view, particle filters can be interpreted as mean field particle interpretations of Feynman-Kac probability measures.[2][3][4][5][6] These particle integration techniques were developed in molecular chemistry and computational physics by Theodore E. Harris and Herman Kahn in 1951, Marshall. N. Rosenbluth and Arianna. W. Rosenbluth in 1955[7] and more recently by Jack H. Hetherington in 1984.[8] In computational physics, these Feynman-Kac type path particle integration methods are also used in Quantum Monte Carlo, and more specifically Diffusion Monte Carlo methods.[9][10][11] Feynman-Kac interacting particle methods are also strongly related to mutation-selection genetic algorithms currently used in evolutionary computing to solve complex optimization problems.
The particle filter methodology is used to solve Hidden Markov Chain (HMM) and nonlinear filtering problems arising in signal processing and Bayesian statistical inference. The filtering problem consists in estimating the internal states in dynamical systems when partial observations are made, and random perturbations are present in the sensors as well as in the dynamical system. The objective is to compute the conditional probability (a.k.a. posterior distributions) of the states of some Markov process, given some noisy and partial observations. With the notable exception of linear-Gaussian signal-observation models (Kalman filter) or wider classes of models (Benes filter[12]) Mireille Chaleyat-Maurel and Dominique Michel proved in 1984 that the sequence of posterior distributions of the random states of the signal given the observations (a.k.a. optimal filter) have no finitely recursive recursion.[13] Various numerical methods based on fixed grid approximations, Markov Chain Monte Carlo techniques (MCMC), conventional linearization, extended Kalman filters, or determining the best linear system (in expect cost-error sense) have never really coped with large scale systems, unstable processes or when the nonlinearities are not sufficiently smooth.
Particle filtering methodology uses a genetic type mutation-selection sampling approach, with a set of particles (also called individuals, or samples) to represent the posterior distribution of some stochastic process given some noisy and/or partial observations. The state-space model can be nonlinear and the initial state and noise distributions can take any form required. Particle filter techniques provide a well-established methodology[1][14][15] for generating samples from the required distribution without requiring assumptions about the state-space model or the state distributions. However, these methods do not perform well when applied to very high-dimensional systems.
Particle filters implement the prediction-updating transitions of the filtering equation directly by using a genetic type mutation-selection particle algorithm. The samples from the distribution are represented by a set of particles; each particle has a likelihood weight assigned to it that represents the probability of that particle being sampled from the probability density function. Weight disparity leading to weight collapse is a common issue encountered in these filtering algorithms; however it can be mitigated by including a resampling step before the weights become too uneven. Several adaptive resampling criteria can be used, including the variance of the weights and the relative entropy w.r.t. the uniform distribution.[16] In the resampling step, the particles with negligible weights are replaced by new particles in the proximity of the particles with higher weights.
Particle filters and Feynman-Kac particle methodologies find application in signal and image processing, Bayesian inference, machine learning, risk analysis and rare event sampling, engineering and robotics, artificial intelligence, bioinformatics, phylogenetics, computational science, Economics and mathematical finance, molecular chemistry, computational physics, pharmacokinetic and other fields.
Contents
History
Heuristic like algorithms
From the statistical and probabilistic viewpoint, particle filters belong to the class of branching/genetic type algorithms, and mean field type interacting particle methodologies. The interpretations of these particle methods depends on the scientific discipline. In Evolutionary Computing, mean field genetic type particle methodologies are often used as a heuristic and natural search algorithms (a.k.a. Metaheuristic). In computational physics and molecular chemistry they are used to solve Feynman-Kac path integration problems, or the compute Boltzmann-Gibbs measures, top eigenvalues and ground states of Schrödinger operators. In Biology and Genetics they also represent the evolution of a population of individuals or genes in some environment.
The origins of mean field type evolutionary computational techniques can be traced to 1950 and 1954 with the seminal work of Alan Turing on genetic type mutation-selection learning machines[17] and the articles by Nils Aall Barricelli at the Institute for Advanced Study in Princeton, New Jersey.[18][19] The first trace of particle filters in statistical methodology dates back to the mid-50's; the 'Poor Man's Monte Carlo',[20] that was proposed by Hammersley et al., in 1954, contained hints of the genetic type particle filtering methods used today. In 1963, Nils Aall Barricelli simulated a genetic type algorithm to mimic the ability of individuals to play a simple game.[21] In evolutionary computing literature, genetic type mutation-selection algorithms became popular through the seminal work of John Holland in the early 1970s, and particularly his book[22] published in 1975.
In Biology and Genetics, the Australian geneticist Alex Fraser also published in 1957 a series of papers on the genetic type simulation of artificial selection of organisms.[23] The computer simulation of evolution by biologists became more common in the early 1960s, and the methods were described in books by Fraser and Burnell (1970)[24] and Crosby (1973).[25] Fraser's simulations included all of the essential elements of modern mutation-selection genetic particle algorithms.
From the mathematical viewpoint, the conditional distribution of the random states of a signal given some partial and noisy observations is described by a Feynman-Kac probability on the random trajectories of the signal weighted by a sequence of likelihood potential functions.[2][3] Quantum Monte Carlo, and more specifically Diffusion Monte Carlo methods can also be interpreted as a mean field genetic type particle approximation of Feynman-Kac path integrals.[2][3][4][8][9][26][27] The origins of Quantum Monte Carlo methods are often attributed to Enrico Fermi and Robert Richtmyer who developed in 1948 a mean field particle interpretation of neutron-chain reactions,[28] but the first heuristic-like and genetic type particle algorithm (a.k.a. Resampled or Reconfiguration Monte Carlo methods) for estimating ground state energies of quantum systems (in reduced matrix models) is due to Jack H. Hetherington in 1984.[8] We also quote an earlier seminal works of Theodore E. Harris and Herman Kahn in particle physics, published in 1951, using mean field but heuristic-like genetic methods for estimating particle transmission energies.[29] In molecular chemistry, the use of genetic heuristic-like particle methodologies (a.k.a. pruning and enrichment strategies) can be traced back to 1955 with the seminal work of Marshall. N. Rosenbluth and Arianna. W. Rosenbluth.[7]
The use of genetic particle algorithms in advanced signal processing and Bayesian inference is more recent. It was in 1993, that Gordon et al., published in their seminal work[30] the first application of genetic type algorithm in Bayesian statistical inference. The authors named their algorithm 'the bootstrap filter', and demonstrated that compared to other filtering methods, their bootstrap algorithm does not require any assumption about that state-space or the noise of the system. We also quote another pioneering article in this field of Genshiro Kitagawa on a related "Monte Carlo filter",[31] and the ones by Pierre Del Moral[1] and Himilcon Carvalho, Pierre Del Moral, André Monin and Gérard Salut[32] on particle filters published in the mid-1990s. Particle filters were also developed in signal processing in the early 1989-1992 by P. Del Moral, J.C. Noyer, G. Rigal, and G. Salut in the LAAS-CNRS in a series of restricted and classified research reports with STCAN (Service Technique des Constructions et Armes Navales), the IT company DIGILOG, and the LAAS-CNRS (the Laboratory for Analysis and Architecture of Systems) on RADAR/SONAR and GPS signal processing problems.[33][34][35][36][37][38]
Mathematical foundations
From 1950 to 1996, all the publications on particle filters, genetic algorithms, including the pruning and resample Monte Carlo methods introduced in computational physics and molecular chemistry, present natural and heuristic-like algorithms applied to different situations without a single proof of their consistency, nor a discussion on the bias of the estimates and on genealogical and ancestral tree based algorithms.
The mathematical foundations and the first rigorous analysis of these particle algorithms are due to Pierre Del Moral[1][14] in 1996. The article[1] also contains a proof of the unbiased properties of a particle approximations of likelihood functions and unnormalized conditional probability measures. The unbiased particle estimator of the likelihood functions presented in this article is used today in Bayesian statistical inference.
Branching type particle methodologies with varying population sizes were also developed toward the end of the 1990s by Dan Crisan, Jessica Gaines and Terry Lyons,[39][40][41] and by Dan Crisan, Pierre Del Moral and Terry Lyons.[42] Further developments in this field were developed in 2000 by P. Del Moral, A. Guionnet and L. Miclo.[3][43][44] The first central limit theorems are due to Pierre Del Moral and Alice Guionnet[45] in 1999 and Pierre Del Moral and Laurent Miclo[3] in 2000. The first uniform convergence results with respect to the time parameter for particle filters were developed in the end of the 1990s by Pierre Del Moral and Alice Guionnet.[43][44] The first rigorous analysis of genealogical tree based particle filter smoothers is due to P. Del Moral and L. Miclo in 2001[46]
The theory on Feynman-Kac particle methodologies and related particle filters algorithms has been developed in 2000 and 2004 in the books.[3][15] These abstract probabilistic models encapsulate genetic type algorithms, particle and bootstrap filters, interacting Kalman filters (a.k.a. Rao–Blackwellized particle filter[47]), importance sampling and resampling style particle filter techniques, including genealogical tree based and particle backward methodologies for solving filtering and smoothing problems. Other classes of particle filtering methodologies includes genealogical tree based models,[5][15][48] backward Markov particle models,[5][49] adaptive mean field particle models,[16] island type particle models,[50][51] and particle Markov chain Monte Carlo methodologies.[52][53]
The filtering problem
Objective
The objective of a particle filter is to estimate the posterior density of the state variables given the observation variables. The particle filter is designed for a hidden Markov Model, where the system consists of hidden and observable variables. The observable variables (observation process) are related to the hidden variables (state-process) by some functional form that is known. Similarly the dynamical system describing the evolution of the state variables is also known probabilistically.
A generic particle filter estimates the posterior distribution of the hidden states using the observation measurement process. Consider a state-space shown in the diagram below.
The filtering problem is to estimate sequentially the values of the hidden states , given the values of the observation process '
at any time step k.
All Bayesian estimates of follow from the posterior density p(xk | y0,y1,…,yk). The particle filter methodology provides an approximation of these conditional probabilities using the empirical measure associated with a genetic type particle algorithm. In contrast, the MCMC or importance sampling approach would model the full posterior p(x0,x1,…,xk | y0,y1,…,yk).
An illustration in Tracking and RADAR processing
In a 3d-simplified Singer's tracking model[54] the target is represented by a Markov chain with 3 coordinates
The first coordinate represents the acceleration of the target at time
, the second and the third
stands for the speed and the position of the target at time
.
The maneuver equation are often derived from a time discretization of a continuous time model given by the equations
for some viscosity coefficients
, some time step
. In the above display, the unknown acceleration jump times are modeled by a sequence of independent and identically distributed
-valued Bernoulli variables
. The unknown speed-up changes are modeled by a sequence of independent and identically distributed variables
. The RADAR sensor delivers at each time step some noisy information on the position of the target. This observation model is given the equation
The random perturbations of the sensors coming from the thermic noise of the uncertainty of the model are represented by a sequence of independent random variable
with a prescribed probability density. The objective of the filtering problem consists of computing sequentially the conditional distribution of the signal
given an observation sequence
, at any time step
A more complex problem is to compute the conditional distribution of the random paths of the signal
given an observation sequence
, at any time step
In filtering literature, these state estimation problems can be given different names:
- The optimal filter is the conditional probability distribution of the signal
given the observation sequence
.
- The one step optimal predictor is the conditional probability distribution of the signal
given the observation sequence
.
- The smoothing problem consists of estimating the conditional probability distribution of the signal
given the observation sequence
, for some
.
The Signal-Observation Model
Particle methods often assume and the observations
can be modeled in this form:
is a Markov process on
(for some
) that evolves according to the transition probability density
. This model is also often written in a synthetic way as
with an initial probability density
.
- The observations
take values in some state space on
(for some
) are conditionally independent provided that
are known. In other words, each
only depends on
. In addition, we assume conditional distribution for
given
are absolutely continuous, and in a synthetic way we have
An example of system with these properties is:
where both and
are mutually independent sequences with known probability density functions and
and
are known functions. These two equations can be viewed as state space equations and look similar to the state space equations for the Kalman filter. If the functions
and
in the above example are linear, and if both
and
are Gaussian, the Kalman filter finds the exact Bayesian filtering distribution. If not, Kalman filter based methods are a first-order approximation (EKF) or a second-order approximation (UKF in general, but if probability distribution is Gaussian a third-order approximation is possible).
The assumption that the initial distribution and the transitions of the Markov chain are absolutely continuous with respect to the Lebesgue measure can be relaxed. To design a particle filter we simply need to assume that we can sample the transitions of the Markov chain
and to compute the likelihood function
(see for instance the genetic selection mutation description of the particle filter given below). The absolutely continuous assumption on the Markov transitions of
are only used to derive in an informal (and rather abusive) way different formulae between posterior distributions using the Bayes' rule for conditional densities.
Approximate Bayesian Computation models
In some important problems, the conditional distribution of the observations given the random states of the signal may fail to have a density or may be impossible or too complex to compute. In this situation, we need to resort to an additional level of approximation. One strategy is to replace the signal by the Markov chain
and to introduce a virtual observation of the form
for some sequence of independent sequences with known probability density functions. The central idea is to observe that
The particle filter associated with the Markov process
given the partial observations
, is defined in terms of particles evolving in
with a likelihood function given with some obvious abusive notation by
. These probabilistic techniques are closely related to Approximate Bayesian Computation (ABC). In the context of particle filters, these ABC particle filtering techniques were introduced in 1998 by P. Del Moral, J. Jacod and P. Protter in the article.[55] They were further developed by P. Del Moral, A. Doucet and A. Jasra.[56][57]
The nonlinear filtering equation
The conditional probability densities p(x0,x1,…,xk | y0,y1,…,yk) are given by the Bayes' rule
and the likelihood functions are defined by the product formulae
Particle filters are also an approximation, but with enough particles they can be much more accurate[1][14][15][43][44].. The nonlinear filtering equation is given by the recursion
-
(Eq. 1)
with the convention for k=0. The nonlinear filtering problem consists in computing sequentially these sequence of conditional distributions.
Feynman-Kac formulation
We fix a time horizon n and a sequence of observations , and we set
. In this notation, for any bounded function F(.) on the set of trajectories of
from the origin k=0 up to time k=n, we have the Feynman-Kac formula
These Feynman-Kac path integration models arise in a variety of scientific disciplines, including in computational physics, biology, information theory and computer sciences.[3][5][15] Their interpretations depend on the application domain. For instance, if we choose the indicator function
of some subset of the state space, they represent the conditional distribution of a Markov chain given it stays in a given tube; that is, we have that
as soon as the normalizing constant is strictly positive.
Particle filters
A Genetic type particle algorithm
Initially we start with independent random variable
with common probability density
. The genetic algorithm selection-mutation transitions
mimic/approximate the updating-prediction transitions of the optimal filter evolution (Eq. 1):
- During the selection-updating transition we sample N (conditionally) independent random variables
with common (conditional) distribution
- During the mutation-prediction transition, from each selected particle
we sample independently a transition
, for
In the above displayed formulae stands for the likelihood function
evaluated at
, and
stands for the conditional density
evaluated at
.
At each time k, we have the particle approximations
and
A detailed proof of these convergence results can be found in,[1][14] see also the more recent developments provided in the books.[5][15] In Genetic algorithms and Evolutionary computing community, the mutation-selection
Markov chain described above is often called the genetic algorithm with proportional selection. Several branching variants, including with random population sizes have also been proposed in the articles.[15][39][42]
Monte Carlo principles
Particle methods, like all sampling-based approaches (e.g., MCMC), generate a set of samples that approximate the filtering density . For example, we may have
samples from the approximate posterior distribution of
, where the samples are labeled with superscripts as
. Then, expectations with respect to the filtering distribution are approximated by
-
(Eq. 2)
In the above display stands for the Dirac measure at a given state a. The function
, in the usual way for Monte Carlo, can give all the moments etc. of the distribution up to some degree of approximation. When the approximation equation (Eq. 2) is satisfied for any bounded function
we write
Particle filters can be interpreted as a genetic type particle algorithm evolving with mutation and selection transitions. We can keep track of the ancestral lines of the particles
. The random states
, with the lower indices l=0,...,k, stands for the ancestor of the individual
at level l=0,...,k. In his situation, we have the approximation formula
-
with the empirical measure
(Eq. 3)
Here F stands for any founded function on the path space of the signal. In a more synthetic form (Eq. 3) is equivalent to
Particle filters can be interpreted in many different ways. From the probabilistic point of view they coincide with a mean field particle interpretation of the nonlinear filtering equation. The updating-prediction transitions of the optimal filter evolution can also be interpreted as the classical genetic type selection-mutation transitions of individuals. The sequential importance resampling technique provides another interpretation of the filtering transitions coupling importance sampling with the bootstrap resampling step. Last, but not least, particle filters can be seen as an acceptance-rejection methodology equipped with a recycling mechanism.[5][15]
Mean field particle simulation
The general probabilistic principle
The nonlinear filtering evolution can be interpreted as a dynamical system in the set of probability measures of the following formwhere
stands for some mapping from the set of probability distribution into itself. For instance, the evolution of the one-step optimal predictor
satisfies a nonlinear evolution starting with the probability distribution . One of the simplest way to approximate these probability measures is to start with
independent random variables
with common probability distribution
. Suppose we have defined a sequence of
random variables
such that
At the next step we sample
(conditionally) independent random variables
with common law .
A particle interpretation of the filtering equation
We illustrate this mean field particle principle in the context of the evolution of the one step optimal predictors
-
(Eq. 4)
For k=0 we use the convention .
By the law of large numbers, we have
for any bounded function
. We further assume that we have constructed a sequence of particles
at some rank k such that
in the sense that for any bounded function
we have
In this situation, replacing
by the empirical measure
in the evolution equation of the one-step optimal filter stated in (Eq. 4) we find that
Notice that the right hand side in the above formula is a weighted probability mixture
where stands for the density
evaluated at
, and
stands for the density
evaluated at
, for
Then, we sample independent random variable
with common probability density
so that
Iterating this procedure, we design a Markov chain such that
Notice that the optimal filter is approximated at each time step k using the Bayes' formulae
The terminology "mean field approximation" comes from the fact that we replace at each time step the probability measure
by the empirical approximation
. The mean field particle approximation of the filtering problem is far from being unique. Several strategies are developed in the books.[5][15]
Some convergence results
The analysis of the convergence of particle filters has been started in 1996[1][14] and in 2000 in the book[3] and the series of articles.[42][43][44][45][46][58][59] More recent developments can be found in the books,[5][15] When the filtering equation is stable (in the sense that it corrects any erroneous initial condition), the bias and the variance of the particle particle estimates
are controlled by the non asymptotic uniform estimates
for any function f(.) bounded by 1, and for some finite constants
In addition, for any
, the probability that
is larger than
, for some finite constants
related to the asymptotic bias and variance of the particle estimate, and some finite constant c. The same results are satisfied if we replace the one step optimal predictor by the optimal filter approximation.
Genealogical trees and Unbiasedness properties
Genealogical tree based particle smoothing
Tracing back in time the ancestral lines and
of the individuals
and
at every time step k, we also have the particle approximations
and
and finally
These empirical approximations are equivalent to the particle integral approximations
and
and finally
for any bounded function F on the random trajectories of the signal. As shown in[48] the evolution of the genealogical tree coincides with a mean field particle interpretation of the evolution equations associated with the posterior densities of the signal trajectories. For more details on these path space models, we refer to the books.[5][15]
Unbiased particle estimates of likelihood functions
We use the product formulawith the conventions
and
, for k=0. Replacing
by the empirical approximation
in the above displayed formula, we design the following unbiased particle approximation of the likelihood function
where
stands for the density
evaluated at
. The design of this particle estimate and the unbiasedness property has been proved in 1996 in the article.[1] Refined variance estimates can be found in[15] and.[5]
Backward particle smoothers
Using Bayes' rule, we have the formula
Notice that
This implies that
Replacing the one-step optimal predictors by the particle empirical measures
we find that
We conclude thatwith the backward particle approximation
The probability measure is the probability of the random paths of a Markov chain
running backward in time from time k=n to time k=0, and evolving at each time step k in the state space associated with the population of particles
- Initially (at time k=n) the chain
chooses randomly a state with the distribution
- From time k to the time (k-1), the chain starting at some state
at time k moves at time (k-1) to a random state
chosen with the discrete weighted probability
In the above displayed formula,
stands for the conditional distribution
evaluated at
. In the same vein,
and
stand for the conditional densities
and
evaluated at
and
These models allows to reduce integration with respect to the densities in terms of matrix operations with respect to the Markov transitions of the chain described above.[49] For instance, for any function
we have the particle estimates
with the
-matrices
with entries
This also show that
Some convergence results
We shall assume that filtering equation is stable, in the sense that it corrects any erroneous initial condition.
In this situation, the particle approximations of the likelihood functions are unbiased and the relative variance is controlled by
for some finite constant c. In addition, for any
, the probability that
is larger than
, for some finite constants
related to the asymptotic bias and variance of the particle estimate, and for some finite constant c.
The bias and the variance of the particle particle estimates based on the ancestral lines of the genealogical trees
are controlled by the non asymptotic uniform estimates
for any function F(.) bounded by 1, and for some finite constants
In addition, for any
, the probability that
is larger than
, for some finite constants
related to the asymptotic bias and variance of the particle estimate, and for some finite constant c. The same type of bias and variance estimates hold for the backward particle smoothers. For additive functionals of the form
with functions
bounded by 1, we have
for some finite constants
. More refined estimates including exponentially small probability of errors are developed in.[5]
Sequential importance sampling (SIS)
The bootstrap filter
Sequential importance sampling (SIS), the original bootstrap filtering algorithm (Gordon et al. 1993), is also a very commonly used filtering algorithm, which approximates the filtering probability density by a weighted set of N samples
The importance weights are approximations to the relative posterior probabilities (or densities) of the samples such that
.
SIS is a sequential (i.e., recursive) version of importance sampling. As in importance sampling, the expectation of a function can be approximated as a weighted average
For a finite set of samples, the algorithm performance is dependent on the choice of the proposal distribution
.
The "optimal" proposal distribution is given as the target distribution
This particular choice of proposal transition has been proposed by P. Del Moral in[14] in 1996 and 1998. When it is difficult to sample transitions according to the distribution one natural strategy is to use the following particle approximation
with the empirical approximation
associated with (or any other large number of samples) independent random samples
with the conditional distribution of the random state
given
. The consistency of the resulting particle filter of this approximation and other extensions are developed in.[14] In the above display
stands for the Dirac measure at a given state a.
However, the transition prior probability distribution is often used as importance function, since it is easier to draw particles (or samples) and perform subsequent importance weight calculations:
Sequential Importance Resampling (SIR) filters with transition prior probability distribution as importance function are commonly known as bootstrap filter and condensation algorithm.
Resampling is used to avoid the problem of degeneracy of the algorithm, that is, avoiding the situation that all but one of the importance weights are close to zero. The performance of the algorithm can be also affected by proper choice of resampling method. The stratified sampling proposed by Kitagawa (1996) is optimal in terms of variance.
A single step of sequential importance resampling is as follows:
- 1) For
draw samples from the proposal distribution
- 2) For
update the importance weights up to a normalizing constant:
- Note that when we use the transition prior probability distribution as the importance function,
, this simplifies to the following :
- Note that when we use the transition prior probability distribution as the importance function,
- 3) For
compute the normalized importance weights:
- 4) Compute an estimate of the effective number of particles as
This criteria reflects the variance of the weights, other criteria can be found in the article,[16] including their rigorous analysis and central limit theorems.
- 5) If the effective number of particles is less than a given threshold
, then perform resampling:
-
- a) Draw
particles from the current particle set with probabilities proportional to their weights. Replace the current particle set with this new one.
- a) Draw
-
- b) For
set
- b) For
The term Sampling Importance Resampling is also sometimes used when referring to SIR filters.
Sequential importance sampling (SIS)
- Is the same as sequential importance resampling, but without the resampling stage.
"direct version" algorithm
Lua error in package.lua at line 80: module 'strict' not found. The "direct version" algorithm[citation needed] is rather simple (compared to other particle filtering algorithms) and it uses composition and rejection. To generate a single sample at
from
:
- 1) Set n=0 (This will count the number of particles generated so far)
- 2) Uniformly choose an index i from the range
- 3) Generate a test
from the distribution
- 4) Generate the probability of
using
from
where
is the measured value
- 5) Generate another uniform u from
where
- 6) Compare u and
-
- 6a) If u is larger then repeat from step 2
-
- 6b) If u is smaller then save
as
and increment n
- 6b) If u is smaller then save
- 7) If n == N then quit
The goal is to generate P "particles" at using only the particles from
. This requires that a Markov equation can be written (and computed) to generate a
based only upon
. This algorithm uses composition of the P particles from
to generate a particle at
and repeats (steps 2–6) until P particles are generated at
.
This can be more easily visualized if is viewed as a two-dimensional array. One dimension is
and the other dimensions is the particle number. For example,
would be the ith particle at
and can also be written
(as done above in the algorithm). Step 3 generates a potential
based on a randomly chosen particle (
) at time
and rejects or accepts it in step 6. In other words, the
values are generated using the previously generated
.
Other particle filters
- Exponential Natural Particle Filter[60]
- Auxiliary particle filter[61]
- Regularized auxiliary particle filter[62]
- Gaussian particle filter
- Unscented particle filter
- Gauss–Hermite particle filter
- Cost Reference particle filter
- Hierarchical/Scalable particle filter[63]
- Rao–Blackwellized particle filter[47]
- Rejection-sampling based optimal particle filter[64][65]
- Feynman-Kac and mean field particle methodologies[1][5][15]
See also
- Mean field particle methods
- Genetic algorithms
- Ensemble Kalman filter
- Generalized filtering
- Moving horizon estimation
- Recursive Bayesian estimation
- Monte Carlo localization
References
<templatestyles src="Reflist/styles.css" />
Cite error: Invalid <references>
tag; parameter "group" is allowed only.
<references />
, or <references group="..." />
Bibliography
- Lua error in package.lua at line 80: module 'strict' not found.
- Del Moral, Pierre (2004). Feynman-Kac formulae. Genealogical and interacting particle approximations. Springer. p. 575.
Series: Probability and Applications
- Del Moral, Pierre (2013). Mean field simulation for Monte Carlo integration. Chapman & Hall/CRC Press. p. 626.
Monographs on Statistics & Applied Probability
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
- Lua error in package.lua at line 80: module 'strict' not found.
External links
- Feynman–Kac models and interacting particle algorithms (a.k.a. Particle Filtering) Theoretical aspects and a list of application domains of particle filters
- Sequential Monte Carlo Methods (Particle Filtering) homepage on University of Cambridge
- Dieter Fox's MCL Animations
- Rob Hess' free software
- SMCTC: A Template Class for Implementing SMC algorithms in C++
- Java applet on particle filtering
- vSMC : Vectorized Sequential Monte Carlo
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 2.0 2.1 2.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 5.00 5.01 5.02 5.03 5.04 5.05 5.06 5.07 5.08 5.09 5.10 5.11 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 8.0 8.1 8.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 9.0 9.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 14.0 14.1 14.2 14.3 14.4 14.5 14.6 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 15.00 15.01 15.02 15.03 15.04 15.05 15.06 15.07 15.08 15.09 15.10 15.11 15.12 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 16.0 16.1 16.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ P. Del Moral, G. Rigal, and G. Salut. Estimation and nonlinear optimal control : An unified framework for particle solutions
LAAS-CNRS, Toulouse, Research Report no. 91137, DRET-DIGILOG- LAAS/CNRS contract, April (1991). - ↑ P. Del Moral, G. Rigal, and G. Salut. Nonlinear and non Gaussian particle filters applied to inertial platform repositioning.
LAAS-CNRS, Toulouse, Research Report no. 92207, STCAN/DIGILOG-LAAS/CNRS Convention STCAN no. A.91.77.013, (94p.) September (1991). - ↑ P. Del Moral, G. Rigal, and G. Salut. Estimation and nonlinear optimal control : Particle resolution in filtering and estimation. Experimental results.
Convention DRET no. 89.34.553.00.470.75.01, Research report no.2 (54p.), January (1992). - ↑ P. Del Moral, G. Rigal, and G. Salut. Estimation and nonlinear optimal control : Particle resolution in filtering and estimation. Theoretical results
Convention DRET no. 89.34.553.00.470.75.01, Research report no.3 (123p.), October (1992). - ↑ P. Del Moral, J.-Ch. Noyer, G. Rigal, and G. Salut. Particle filters in radar signal processing : detection, estimation and air targets recognition.
LAAS-CNRS, Toulouse, Research report no. 92495, December (1992). - ↑ P. Del Moral, G. Rigal, and G. Salut. Estimation and nonlinear optimal control : Particle resolution in filtering and estimation.
Studies on: Filtering, optimal control, and maximum likelihood estimation. Convention DRET no. 89.34.553.00.470.75.01. Research report no.4 (210p.), January (1993). - ↑ 39.0 39.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 42.0 42.1 42.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 43.0 43.1 43.2 43.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 44.0 44.1 44.2 44.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 45.0 45.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 46.0 46.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 47.0 47.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 48.0 48.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 49.0 49.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.