Template:Short description Template:About Template:Use American English
Particle filters, also known as sequential Monte Carlo methods, are a set of Monte Carlo algorithms used to find approximate solutions for filtering problems for nonlinear state-space systems, such as signal processing and Bayesian statistical inference.<ref name="Wills">Template:Cite journal</ref> The filtering problem consists of 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 posterior distributions of the states of a Markov process, given the noisy and partial observations. The term "particle filters" was first coined in 1996 by Pierre Del Moral about mean-field interacting particle methods used in fluid mechanics since the beginning of the 1960s.<ref name="dm962">Template:Cite journal</ref> The term "Sequential Monte Carlo" was coined by Jun S. Liu and Rong Chen in 1998.<ref>Template:Cite journal</ref>
Particle filtering uses a set of particles (also called samples) to represent the posterior distribution of a stochastic process given the 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<ref name="dm962" /><ref name=":22">Template:Cite journal</ref><ref name=":1">Template:Cite book</ref> 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 update their prediction in an approximate (statistical) manner. 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 uneven. Several adaptive resampling criteria can be used including the variance of the weights and the relative entropy concerning the uniform distribution.<ref name=":0">Template:Cite journal</ref> In the resampling step, the particles with negligible weights are replaced by new particles in the proximity of the particles with higher weights.
From the statistical and probabilistic point of view, particle filters may be interpreted as mean-field particle interpretations of Feynman-Kac probability measures.<ref name="dp042">Template:Cite book</ref><ref name="dmm002">Template:Cite book</ref><ref name="dmm00m2">Template:Cite journal</ref><ref name="dp13" /><ref>Template:Cite journal</ref> 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,<ref name=":5">Template:Cite journal</ref> and more recently by Jack H. Hetherington in 1984.<ref name="h84" /> 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.<ref name="dm-esaim032">Template:Cite journal</ref><ref name="caffarel12">Template:Cite journal</ref><ref name="caffarel22">Template:Cite journal</ref> Feynman-Kac interacting particle methods are also strongly related to mutation-selection genetic algorithms currently used in evolutionary computation to solve complex optimization problems.
The particle filter methodology is used to solve Hidden Markov Model (HMM) and nonlinear filtering problems. With the notable exception of linear-Gaussian signal-observation models (Kalman filter) or wider classes of models (Benes filter<ref>Template:Cite journal</ref>), Mireille Chaleyat-Maurel and Dominique Michel proved in 1984 that the sequence of posterior distributions of the random states of a signal, given the observations (a.k.a. optimal filter), has no finite recursion.<ref>Template:Cite journal</ref> Various other numerical methods based on fixed grid approximations, Markov Chain Monte Carlo techniques, conventional linearization, extended Kalman filters, or determining the best linear system (in the expected cost-error sense) are unable to cope with large-scale systems, unstable processes, or insufficiently smooth nonlinearities.
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,<ref name=":PFOBC">Template:Cite journal</ref> phylogenetics, computational science, economics and mathematical finance, molecular chemistry, computational physics, pharmacokinetics, quantitative risk and insurance<ref>Template:Cite book</ref><ref>Template:Cite book</ref> and other fields.
HistoryEdit
Heuristic-like algorithmsEdit
From a statistical and probabilistic viewpoint, particle filters belong to the class of branching/genetic type algorithms, and mean-field type interacting particle methodologies. The interpretation of these particle methods depends on the scientific discipline. In Evolutionary Computing, mean-field genetic type particle methodologies are often used as 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 to compute Boltzmann-Gibbs measures, top eigenvalues, and ground states of Schrödinger operators. In Biology and Genetics, they 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 back to 1950 and 1954 with Alan Turing's work on genetic type mutation-selection learning machines<ref>Template:Cite journal</ref> and the articles by Nils Aall Barricelli at the Institute for Advanced Study in Princeton, New Jersey.<ref>Template:Cite journal</ref><ref>Template:Cite journal</ref> The first trace of particle filters in statistical methodology dates back to the mid-1950s; the 'Poor Man's Monte Carlo',<ref>Template:Cite journal</ref> that was proposed by John 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.<ref>Template:Cite journal</ref> In evolutionary computing literature, genetic-type mutation-selection algorithms became popular through the seminal work of John Holland in the early 1970s, particularly his book<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> 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.<ref>Template:Cite journal</ref> The computer simulation of the evolution by biologists became more common in the early 1960s, and the methods were described in books by Fraser and Burnell (1970)<ref>Template:Cite book</ref> and Crosby (1973).<ref>Template:Cite book</ref> 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.<ref name="dp042" /><ref name="dmm002" /> 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.<ref name="dp042" /><ref name="dmm002" /><ref name="dmm00m2" /><ref name="h84">Template:Cite journal</ref><ref name="dm-esaim032" /><ref name="caffarel1">Template:Cite journal</ref><ref name="caffarel2">Template:Cite journal</ref> 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,<ref>Template:Cite journal</ref> 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.<ref name="h84" /> One can also quote the 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.<ref>Template:Cite journal</ref> 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.<ref name=":5" />
The use of genetic particle algorithms in advanced signal processing and Bayesian inference is more recent. In January 1993, Genshiro Kitagawa developed a "Monte Carlo filter",<ref name="Kitagawa1993">Template:Cite journal</ref> a slightly modified version of this article appeared in 1996.<ref>Template:Cite journal
</ref> In April 1993, Neil J. Gordon et al., published in their seminal work<ref name="Gordon1993">Template:Cite journal</ref> an 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. Independently, the ones by Pierre Del Moral<ref name="dm962" /> and Himilcon Carvalho, Pierre Del Moral, André Monin, and Gérard Salut<ref>Template:Cite journal</ref> on particle filters published in the mid-1990s. Particle filters were also developed in signal processing in 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.<ref>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).</ref><ref>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).</ref><ref>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).</ref><ref>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).</ref><ref>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).</ref><ref>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).</ref>
Mathematical foundationsEdit
From 1950 to 1996, all the publications on particle filters, and 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 genealogical and ancestral tree-based algorithms.
The mathematical foundations and the first rigorous analysis of these particle algorithms are due to Pierre Del Moral<ref name="dm962" /><ref name=":22" /> in 1996. The article<ref name="dm962" /> also contains proof of the unbiased properties of a particle approximation 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.
Dan Crisan, Jessica Gaines, and Terry Lyons,<ref name=":42">Template:Cite journal</ref><ref>Template:Cite journal</ref><ref>Template:Cite journal</ref> as well as Pierre Del Moral, and Terry Lyons,<ref name=":52">Template:Cite journal</ref> created branching-type particle techniques with various population sizes around the end of the 1990s. P. Del Moral, A. Guionnet, and L. Miclo<ref name="dmm002" /><ref name="dg99" /><ref name="dg01" /> made more advances in this subject in 2000. Pierre Del Moral and Alice Guionnet<ref name=":2">Template:Cite journal</ref> proved the first central limit theorems in 1999, and Pierre Del Moral and Laurent Miclo<ref name="dmm002" /> proved them in 2000. The first uniform convergence results concerning the time parameter for particle filters were developed at the end of the 1990s by Pierre Del Moral and Alice Guionnet.<ref name="dg99">Template:Cite journal</ref><ref name="dg01">Template:Cite journal</ref> The first rigorous analysis of genealogical tree-ased particle filter smoothers is due to P. Del Moral and L. Miclo in 2001<ref name=":4">Template:Cite journal</ref>
The theory on Feynman-Kac particle methodologies and related particle filter algorithms was developed in 2000 and 2004 in the books.<ref name="dmm002"/><ref name=":1" /> These abstract probabilistic models encapsulate genetic type algorithms, particle, and bootstrap filters, interacting Kalman filters (a.k.a. Rao–Blackwellized particle filter<ref name="rbpf1999">Template:Cite conference </ref>), 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 include genealogical tree-based models,<ref name="dp13">Template:Cite book</ref><ref name=":1" /><ref name=":3">Template:Cite journal</ref> backward Markov particle models,<ref name="dp13" /><ref name=":6">Template:Cite journal</ref> adaptive mean-field particle models,<ref name=":0" /> island-type particle models,<ref>Template:Cite journal</ref><ref>Template:Cite arXiv</ref> particle Markov chain Monte Carlo methodologies,<ref>Template:Cite journal</ref><ref>Template:Cite arXiv</ref> Sequential Monte Carlo samplers <ref>Template:Cite journal</ref><ref>Template:Cite journal</ref><ref>Template:Cite journal</ref> and Sequential Monte Carlo Approximate Bayesian Computation methods<ref>Template:Cite book</ref> and Sequential Monte Carlo ABC based Bayesian Bootstrap.<ref>Template:Cite journal</ref>
The filtering problemEdit
ObjectiveEdit
A particle filter's goal is to estimate the posterior density of state variables given observation variables. The particle filter is intended for use with a hidden Markov Model, in which the system includes both hidden and observable variables. The observable variables (observation process) are linked to the hidden variables (state-process) via a known functional form. Similarly, the probabilistic description of the dynamical system defining the evolution of the state variables is known.
A generic particle filter estimates the posterior distribution of the hidden states using the observation measurement process. With respect to a state-space such as the one below:
- <math>\begin{array}{cccccccccc}
X_0&\to &X_1&\to &X_2&\to&X_3&\to &\cdots&\text{signal}\\ \downarrow&&\downarrow&&\downarrow&&\downarrow&&\cdots&\\ Y_0&&Y_1&&Y_2&&Y_3&&\cdots&\text{observation} \end{array}</math>
the filtering problem is to estimate sequentially the values of the hidden states <math>X_k</math>, given the values of the observation process <math>Y_0,\cdots,Y_k,</math> at any time step k.
All Bayesian estimates of <math>X_k</math> follow from the posterior density <math>p(x_k|y_0,y_1,...,y_k)</math>. 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 Markov Chain Monte Carlo or importance sampling approach would model the full posterior <math>p(x_0,x_1,...,x_k|y_0,y_1,...,y_k)</math>.
The Signal-Observation modelEdit
Particle methods often assume <math>X_k</math> and the observations <math>Y_k</math> can be modeled in this form:
- <math>X_0, X_1, \cdots</math> is a Markov process on <math>\mathbb R^{d_x}</math> (for some <math>d_x\geqslant 1</math>) that evolves according to the transition probability density <math>p(x_k|x_{k-1})</math>. This model is also often written in a synthetic way as
- <math>X_k|X_{k-1}=x_k \sim p(x_k|x_{k-1})</math>
- with an initial probability density <math>p(x_0)</math>.
- The observations <math>Y_0, Y_1, \cdots</math> take values in some state space on <math>\mathbb{R}^{d_y}</math> (for some <math>d_y\geqslant 1</math>) and are conditionally independent provided that <math>X_0, X_1, \cdots</math> are known. In other words, each <math>Y_k</math> only depends on <math>X_k</math>. In addition, we assume conditional distribution for <math>Y_k</math> given <math>X_k=x_k</math> are absolutely continuous, and in a synthetic way we have
- <math>Y_k|X_k=y_k \sim p(y_k|x_k)</math>
An example of system with these properties is:
- <math>X_k = g(X_{k-1}) + W_{k-1}</math>
- <math>Y_k = h(X_k) + V_k</math>
where both <math>W_k</math> and <math>V_k</math> are mutually independent sequences with known probability density functions and g and h 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 g and h in the above example are linear, and if both <math>W_k</math> and <math>V_k</math> 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 the probability distribution is Gaussian a third-order approximation is possible).
The assumption that the initial distribution and the transitions of the Markov chain are continuous for the Lebesgue measure can be relaxed. To design a particle filter we simply need to assume that we can sample the transitions <math>X_{k-1} \to X_k</math> of the Markov chain <math>X_k,</math> and to compute the likelihood function <math>x_k\mapsto p(y_k|x_k)</math> (see for instance the genetic selection mutation description of the particle filter given below). The continuous assumption on the Markov transitions of <math>X_k</math> is 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 modelsEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} In certain problems, the conditional distribution of observations, given the random states of the signal, may fail to have a density; the latter may be impossible or too complex to compute.<ref name=":PFOBC"/> In this situation, an additional level of approximation is necessitated. One strategy is to replace the signal <math>X_k</math> by the Markov chain <math>\mathcal X_k=\left(X_k,Y_k\right)</math> and to introduce a virtual observation of the form
- <math>\mathcal Y_k=Y_k+\epsilon \mathcal V_k\quad\mbox{for some parameter}\quad\epsilon\in [0,1]</math>
for some sequence of independent random variables <math>\mathcal V_k</math> with known probability density functions. The central idea is to observe that
- <math>\text{Law}\left(X_k|\mathcal Y_0=y_0,\cdots, \mathcal Y_k=y_k\right)\approx_{\epsilon\downarrow 0} \text{Law}\left(X_k|Y_0=y_0,\cdots, Y_k=y_k\right)</math>
The particle filter associated with the Markov process <math>\mathcal X_k=\left(X_k,Y_k\right)</math> given the partial observations <math>\mathcal Y_0=y_0,\cdots, \mathcal Y_k=y_k,</math> is defined in terms of particles evolving in <math>\mathbb R^{d_x+d_y}</math> with a likelihood function given with some obvious abusive notation by <math>p(\mathcal Y_k|\mathcal X_k)</math>. 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.<ref>Template:Cite journal</ref> They were further developed by P. Del Moral, A. Doucet and A. Jasra.<ref>Template:Cite journal</ref><ref>Template:Cite journal</ref>
The nonlinear filtering equationEdit
Bayes' rule for conditional probability gives:
- <math>p(x_0, \cdots, x_k|y_0,\cdots,y_k) =\frac{p(y_0,\cdots,y_k|x_0, \cdots, x_k) p(x_0,\cdots,x_k)}{p(y_0,\cdots,y_k)}</math>
where
- <math>\begin{align}
p(y_0,\cdots,y_k) &=\int p(y_0,\cdots,y_k|x_0,\cdots, x_k) p(x_0,\cdots,x_k) dx_0\cdots dx_k \\ p(y_0,\cdots, y_k|x_0,\cdots ,x_k) &=\prod_{l=0}^{k} p(y_l|x_l) \\ p(x_0,\cdots, x_k) &=p_0(x_0)\prod_{l=1}^{k} p(x_l|x_{l-1}) \end{align}</math>
Particle filters are also an approximation, but with enough particles they can be much more accurate.<ref name="dm962" /><ref name=":22" /><ref name=":1" /><ref name="dg99" /><ref name="dg01" /> The nonlinear filtering equation is given by the recursion
Template:NumBlk{\longrightarrow} p(x_k|y_0,\cdots,y_k)=\frac{p(y_k|x_k)p(x_k|y_0,\cdots,y_{k-1})}{\int p(y_k|x'_k)p(x'_k|y_0,\cdots,y_{k-1})dx'_k} \\ &\stackrel{\text{prediction}}{\longrightarrow}p(x_{k+1}|y_0,\cdots,y_k)=\int p(x_{k+1}|x_k) p(x_k|y_0,\cdots,y_k) dx_k \end{align}</math> |Eq. 1}}
with the convention <math>p(x_0|y_0,\cdots,y_{k-1})=p(x_0)</math> for k = 0. The nonlinear filtering problem consists in computing these conditional distributions sequentially.
Feynman-Kac formulationEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} We fix a time horizon n and a sequence of observations <math>Y_0=y_0,\cdots,Y_n=y_n</math>, and for each k = 0, ..., n we set:
- <math>G_k(x_k)=p(y_k|x_k).</math>
In this notation, for any bounded function F on the set of trajectories of <math>X_k</math> from the origin k = 0 up to time k = n, we have the Feynman-Kac formula
- <math>\begin{align}
\int F(x_0,\cdots,x_n) p(x_0,\cdots,x_n|y_0,\cdots,y_n) dx_0\cdots dx_n &= \frac{\int F(x_0,\cdots,x_n) \left\{\prod\limits_{k=0}^{n} p(y_k|x_k)\right\}p(x_0,\cdots,x_n) dx_0\cdots dx_n}{\int \left\{\prod\limits_{k=0}^{n} p(y_k|x_k)\right\}p(x_0,\cdots,x_n) dx_0\cdots dx_n}\\ &=\frac{E\left(F(X_0,\cdots,X_n)\prod\limits_{k=0}^{n} G_k(X_k)\right)}{E\left(\prod\limits_{k=0}^{n} G_k(X_k)\right)} \end{align}</math>
Feynman-Kac path integration models arise in a variety of scientific disciplines, including in computational physics, biology, information theory and computer sciences.<ref name="dmm002" /><ref name="dp13" /><ref name=":1" /> Their interpretations are dependent on the application domain. For instance, if we choose the indicator function <math>G_n(x_n)=1_A(x_n)</math> 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:
- <math>E\left(F(X_0,\cdots,X_n) | X_0\in A, \cdots, X_n\in A\right) =\frac{E\left(F(X_0,\cdots,X_n)\prod\limits_{k=0}^{n} G_k(X_k)\right)}{E\left(\prod\limits_{k=0}^{n} G_k(X_k)\right)}</math>
and
- <math>P\left(X_0\in A,\cdots, X_n\in A\right)=E\left(\prod\limits_{k=0}^{n} G_k(X_k)\right)</math>
as soon as the normalizing constant is strictly positive.
Particle filtersEdit
A Genetic type particle algorithmEdit
Initially, such an algorithm starts with N independent random variables <math>\left(\xi^i_0\right)_{1\leqslant i\leqslant N}</math> with common probability density <math>p(x_0)</math>. The genetic algorithm selection-mutation transitions<ref name="dm962" /><ref name=":22" />
- <math>\xi_k:=\left(\xi^i_{k}\right)_{1\leqslant i\leqslant N}\stackrel{\text{selection}}{\longrightarrow} \widehat{\xi}_k:=\left(\widehat{\xi}^i_{k}\right)_{1\leqslant i\leqslant N}\stackrel{\text{mutation}}{\longrightarrow} \xi_{k+1}:=\left(\xi^i_{k+1}\right)_{1\leqslant i\leqslant N}</math>
mimic/approximate the updating-prediction transitions of the optimal filter evolution (Template:EquationNote):
- During the selection-updating transition we sample N (conditionally) independent random variables <math>\widehat{\xi}_k:=\left(\widehat{\xi}^i_{k}\right)_{1\leqslant i\leqslant N}</math> with common (conditional) distribution
- <math>\sum_{i=1}^N \frac{p(y_k|\xi^i_k)}{\sum_{j=1}^Np(y_k|\xi^j_k)} \delta_{\xi^i_k}(dx_k)</math>
where <math>\delta_a</math> stands for the Dirac measure at a given state a.
- During the mutation-prediction transition, from each selected particle <math>\widehat{\xi}^i_k</math> we sample independently a transition
- <math>\widehat{\xi}^i_k \longrightarrow\xi^i_{k+1} \sim p(x_{k+1}|\widehat{\xi}^i_k), \qquad i=1,\cdots,N.</math>
In the above displayed formulae <math>p(y_k|\xi^i_k)</math> stands for the likelihood function <math>x_k\mapsto p(y_k|x_k)</math> evaluated at <math>x_k=\xi^i_k</math>, and <math>p(x_{k+1}|\widehat{\xi}^i_k)</math> stands for the conditional density <math>p(x_{k+1}|x_k)</math> evaluated at <math>x_k=\widehat{\xi}^i_k</math>.
At each time k, we have the particle approximations
- <math>\widehat{p}(dx_k|y_0,\cdots,y_k):=\frac{1}{N} \sum_{i=1}^N \delta_{\widehat{\xi}^i_k} (dx_k) \approx_{N\uparrow\infty} p(dx_k|y_0,\cdots,y_k) \approx_{N\uparrow\infty}
\sum_{i=1}^N \frac{p(y_k|\xi^i_k)}{\sum_{i=1}^N p(y_k|\xi^j_k)} \delta_{\xi^i_k}(dx_k)</math>
and
- <math>\widehat{p}(dx_k|y_0,\cdots,y_{k-1}):=\frac{1}{N}\sum_{i=1}^N \delta_{\xi^i_k}(dx_k) \approx_{N\uparrow\infty} p(dx_k|y_0,\cdots,y_{k-1})</math>
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.<ref name=":1" /><ref name=":42" /><ref name=":52" />
Monte Carlo principlesEdit
Particle methods, like all sampling-based approaches (e.g., Markov Chain Monte Carlo), generate a set of samples that approximate the filtering density
- <math>p(x_k|y_0, \cdots, y_k).</math>
For example, we may have N samples from the approximate posterior distribution of <math>X_k</math>, where the samples are labeled with superscripts as:
- <math>\widehat{\xi}_k^1, \cdots, \widehat{\xi}_k^{N}.</math>
Then, expectations with respect to the filtering distribution are approximated by
with
- <math>\widehat{p}(dx_k|y_0,\cdots,y_k)=\frac{1}{N}\sum_{i=1}^N \delta_{\widehat{\xi}^i_k}(dx_k)</math>
where <math>\delta_a</math> stands for the Dirac measure at a given state a. The function f, in the usual way for Monte Carlo, can give all the moments etc. of the distribution up to some approximation error. When the approximation equation (Template:EquationNote) is satisfied for any bounded function f we write
- <math>p(dx_k|y_0,\cdots,y_k):=p(x_k|y_0,\cdots,y_k) dx_k \approx_{N\uparrow\infty} \widehat{p}(dx_k|y_0,\cdots,y_k)=\frac{1}{N}\sum_{i=1}^N \delta_{\widehat{\xi}^{i}_k}(dx_k)</math>
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
- <math>\left(\widehat{\xi}^{i}_{0,k}, \widehat{\xi}^{i}_{1,k},\cdots,\widehat{\xi}^{i}_{k-1,k},\widehat{\xi}^i_{k,k}\right)</math>
of the particles <math>i=1,\cdots,N</math>. The random states <math>\widehat{\xi}^{i}_{l,k}</math>, with the lower indices l=0,...,k, stands for the ancestor of the individual <math>\widehat{\xi}^{i}_{k,k}=\widehat{\xi}^i_k</math> at level l=0,...,k. In this situation, we have the approximation formula
with the empirical measure
- <math>\widehat{p}(d(x_0,\cdots,x_k)|y_0,\cdots,y_k):=\frac{1}{N}\sum_{i=1}^N \delta_{\left(\widehat{\xi}^{i}_{0,k},\widehat{\xi}^{i}_{1,k},\cdots,\widehat{\xi}^{i}_{k,k}\right)}(d(x_0,\cdots,x_k))</math>
Here F stands for any founded function on the path space of the signal. In a more synthetic form (Template:EquationNote) is equivalent to
- <math>\begin{align}
p(d(x_0,\cdots,x_k)|y_0,\cdots,y_k)&:=p(x_0,\cdots,x_k|y_0,\cdots,y_k) \, dx_0\cdots dx_k \\ &\approx_{N\uparrow\infty} \widehat{p}(d(x_0,\cdots,x_k)|y_0,\cdots,y_k) \\ &:=\frac{1}{N}\sum_{i=1}^N \delta_{\left(\widehat{\xi}^{i}_{0,k}, \cdots,\widehat{\xi}^{i}_{k,k}\right)}(d(x_0,\cdots,x_k)) \end{align}</math>
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.<ref name="dp13" /><ref name=":1" />
Mean-field particle simulationEdit
{{safesubst:#invoke:Unsubst||date=__DATE__|$B= Template:Ambox }}
The general probabilistic principleEdit
The nonlinear filtering evolution can be interpreted as a dynamical system in the set of probability measures of the form <math>\eta_{n+1}=\Phi_{n+1}\left(\eta_{n}\right)</math> where <math>\Phi_{n+1}</math> stands for some mapping from the set of probability distribution into itself. For instance, the evolution of the one-step optimal predictor <math> \eta_n(dx_n) =p(x_n|y_0,\cdots,y_{n-1})dx_n</math>
satisfies a nonlinear evolution starting with the probability distribution <math>\eta_0(dx_0)=p(x_0)dx_0</math>. One of the simplest ways to approximate these probability measures is to start with N independent random variables <math>\left(\xi^i_0\right)_{1\leqslant i\leqslant N}</math> with common probability distribution <math>\eta_0(dx_0)=p(x_0)dx_0</math> . Suppose we have defined a sequence of N random variables <math>\left(\xi^i_n\right)_{1\leqslant i\leqslant N}</math> such that
- <math>\frac{1}{N}\sum_{i=1}^N \delta_{\xi^i_n}(dx_n) \approx_{N\uparrow\infty} \eta_n(dx_n)</math>
At the next step we sample N (conditionally) independent random variables <math>\xi_{n+1}:=\left(\xi^i_{n+1}\right)_{1\leqslant i\leqslant N}</math> with common law .
- <math>\Phi_{n+1}\left(\frac{1}{N}\sum_{i=1}^N \delta_{\xi^i_n}\right) \approx_{N\uparrow\infty} \Phi_{n+1}\left(\eta_{n}\right)=\eta_{n+1}</math>
A particle interpretation of the filtering equationEdit
We illustrate this mean-field particle principle in the context of the evolution of the one step optimal predictors
Template:NumBlk</math> |Eq. 4}}
For k = 0 we use the convention <math>p(x_0|y_0,\cdots,y_{-1}):=p(x_0)</math>.
By the law of large numbers, we have
- <math>\widehat{p}(dx_0)=\frac{1}{N}\sum_{i=1}^N \delta_{\xi^{i}_0}(dx_0)\approx_{N\uparrow\infty} p(x_0)dx_0</math>
in the sense that
- <math>\int f(x_0)\widehat{p}(dx_0)=\frac{1}{N}\sum_{i=1}^N f(\xi^i_0)\approx_{N\uparrow\infty} \int f(x_0)p(dx_0)dx_0</math>
for any bounded function <math>f</math>. We further assume that we have constructed a sequence of particles <math>\left(\xi^i_k\right)_{1\leqslant i\leqslant N}</math> at some rank k such that
- <math>\widehat{p}(dx_k|y_0,\cdots,y_{k-1}):=\frac{1}{N}\sum_{i=1}^N \delta_{\xi^{i}_k}(dx_k)\approx_{N\uparrow\infty}~p(x_k~|~y_0,\cdots,y_{k-1})dx_k</math>
in the sense that for any bounded function <math>f</math> we have
- <math>\int f(x_k)\widehat{p}(dx_k|y_0,\cdots,y_{k-1})=\frac{1}{N}\sum_{i=1}^N f(\xi^i_k)\approx_{N\uparrow\infty} \int f(x_k)p(dx_k|y_0,\cdots,y_{k-1})dx_k</math>
In this situation, replacing <math id="Template:EquationRef">p(x_k|y_0,\cdots,y_{k-1}) dx_k</math> by the empirical measure <math id="Template:EquationRef">\widehat{p}(dx_k|y_0,\cdots,y_{k-1})</math> in the evolution equation of the one-step optimal filter stated in (Template:EquationNote) we find that
- <math>p(x_{k+1}|y_0,\cdots,y_k)\approx_{N\uparrow\infty} \int p(x_{k+1}|x'_{k}) \frac{p(y_k|x_k') \widehat{p}(dx'_k|y_0,\cdots,y_{k-1})}{ \int p(y_k|x_k) \widehat{p}(dx_k|y_0,\cdots,y_{k-1})}</math>
Notice that the right hand side in the above formula is a weighted probability mixture
- <math>\int p(x_{k+1}|x'_{k}) \frac{p(y_k|x_k') \widehat{p}(dx'_k|y_0,\cdots,y_{k-1})}{\int p(y_k|x_k) \widehat{p}(dx_k|y_0,\cdots,y_{k-1})}=\sum_{i=1}^N \frac{p(y_k|\xi^i_k)}{\sum_{i=1}^N p(y_k|\xi^j_k)} p(x_{k+1}|\xi^i_k)=:\widehat{q}(x_{k+1}|y_0,\cdots,y_k)</math>
where <math>p(y_k|\xi^i_k)</math> stands for the density <math>p(y_k|x_k)</math> evaluated at <math>x_k=\xi^i_k</math>, and <math>p(x_{k+1}|\xi^i_k)</math> stands for the density <math>p(x_{k+1}|x_k)</math> evaluated at <math>x_k=\xi^i_k</math> for <math>i=1,\cdots,N.</math>
Then, we sample N independent random variable <math>\left(\xi^i_{k+1}\right)_{1\leqslant i\leqslant N}</math> with common probability density <math>\widehat{q}(x_{k+1}|y_0,\cdots,y_k)</math> so that
- <math>\widehat{p}(dx_{k+1}|y_0,\cdots,y_{k}):=\frac{1}{N}\sum_{i=1}^N \delta_{\xi^{i}_{k+1}}(dx_{k+1})\approx_{N\uparrow\infty} \widehat{q}(x_{k+1}|y_0,\cdots,y_{k}) dx_{k+1} \approx_{N\uparrow\infty} p(x_{k+1}|y_0,\cdots,y_{k})dx_{k+1}</math>
Iterating this procedure, we design a Markov chain such that
- <math>\widehat{p}(dx_k|y_0,\cdots,y_{k-1}):=\frac{1}{N}\sum_{i=1}^N \delta_{\xi^i_k}(dx_k) \approx_{N\uparrow\infty} p(dx_k|y_0,\cdots,y_{k-1}):=p(x_k|y_0,\cdots,y_{k-1}) dx_k</math>
Notice that the optimal filter is approximated at each time step k using the Bayes' formulae
- <math>p(dx_{k}|y_0,\cdots,y_{k}) \approx_{N\uparrow\infty} \frac{p(y_{k}|x_{k}) \widehat{p}(dx_{k}|y_0,\cdots,y_{k-1})}{\int p(y_{k}|x'_{k})\widehat{p}(dx'_{k}|y_0,\cdots,y_{k-1})}=\sum_{i=1}^N \frac{p(y_k|\xi^i_k)}{\sum_{j=1}^Np(y_k|\xi^j_k)}~\delta_{\xi^i_k}(dx_k)</math>
The terminology "mean-field approximation" comes from the fact that we replace at each time step the probability measure <math>p(dx_k|y_0,\cdots,y_{k-1})</math> by the empirical approximation <math>\widehat{p}(dx_k|y_0,\cdots,y_{k-1})</math>. The mean-field particle approximation of the filtering problem is far from being unique. Several strategies are developed in the books.<ref name="dp13" /><ref name=":1" />
Some convergence resultsEdit
The analysis of the convergence of particle filters was started in 1996<ref name="dm962" /><ref name=":22" /> and in 2000 in the book<ref name="dmm002" /> and the series of articles.<ref name=":52" /><ref name="dg99" /><ref name="dg01" /><ref name=":2" /><ref name=":4" /><ref>Template:Cite journal</ref><ref>Template:Cite book</ref> More recent developments can be found in the books,<ref name="dp13" /><ref name=":1" /> 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
- <math>I_k(f):=\int f(x_k) p(dx_k|y_0,\cdots,y_{k-1}) \approx_{N\uparrow\infty} \widehat{I}_k(f):=\int f(x_k) \widehat{p}(dx_k|y_0,\cdots,y_{k-1})</math>
are controlled by the non asymptotic uniform estimates
- <math>\sup_{k\geqslant 0}\left\vert E\left(\widehat{I}_k(f)\right)-I_k(f)\right\vert\leqslant \frac{c_1}{N}</math>
- <math>\sup_{k\geqslant 0}E\left(\left[\widehat{I}_k(f)-I_k(f)\right]^2\right)\leqslant \frac{c_2}{N}</math>
for any function f bounded by 1, and for some finite constants <math>c_1,c_2.</math> In addition, for any <math>x\geqslant 0</math>:
- <math>\mathbf{P} \left ( \left| \widehat{I}_k(f)-I_k(f)\right|\leqslant c_1 \frac{x}{N}+c_2 \sqrt{\frac{x}{N}}\land \sup_{0\leqslant k\leqslant n}\left| \widehat{I}_k(f)-I_k(f)\right|\leqslant c \sqrt{\frac{x\log(n)}{N}} \right ) > 1-e^{-x}</math>
for some finite constants <math>c_1, c_2</math> 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 propertiesEdit
{{safesubst:#invoke:Unsubst||date=__DATE__|$B= Template:Ambox }}
Genealogical tree based particle smoothingEdit
Tracing back in time the ancestral lines
- <math>\left(\widehat{\xi}^i_{0,k},\widehat{\xi}^i_{1,k},\cdots,\widehat{\xi}^i_{k-1,k},\widehat{\xi}^i_{k,k}\right), \quad \left(\xi^i_{0,k},\xi^i_{1,k},\cdots,\xi^i_{k-1,k},\xi^i_{k,k}\right)</math>
of the individuals <math>\widehat{\xi}^i_{k}\left(=\widehat{\xi}^i_{k,k}\right)</math> and <math>\xi^i_{k}\left(={\xi}^i_{k,k}\right)</math> at every time step k, we also have the particle approximations
- <math>\begin{align}
\widehat{p}(d(x_0,\cdots,x_k)|y_0,\cdots,y_k) &:=\frac{1}{N}\sum_{i=1}^N \delta_{\left(\widehat{\xi}^i_{0,k},\cdots,\widehat{\xi}^i_{0,k}\right)}(d(x_0,\cdots,x_k)) \\ &\approx_{N\uparrow\infty} p(d(x_0,\cdots,x_k)|y_0,\cdots,y_k) \\ &\approx_{N\uparrow\infty} \sum_{i=1}^N \frac{p(y_k|\xi^i_{k,k})}{\sum_{j=1}^Np(y_k|\xi^j_{k,k})} \delta_{\left(\xi^i_{0,k},\cdots,\xi^i_{0,k}\right)}(d(x_0,\cdots,x_k)) \\ & \ \\ \widehat{p}(d(x_0,\cdots,x_k)|y_0,\cdots,y_{k-1}) &:=\frac{1}{N}\sum_{i=1}^N \delta_{\left(\xi^i_{0,k},\cdots,\xi^i_{k,k}\right)}(d(x_0,\cdots,x_k)) \\ &\approx_{N\uparrow\infty} p(d(x_0,\cdots,x_k)|y_0,\cdots,y_{k-1}) \\ &:=p(x_0,\cdots,x_k|y_0,\cdots,y_{k-1}) dx_0,\cdots,dx_k \end{align}</math>
These empirical approximations are equivalent to the particle integral approximations
- <math>\begin{align}
\int F(x_0,\cdots,x_n) \widehat{p}(d(x_0,\cdots,x_k)|y_0,\cdots,y_k) &:=\frac{1}{N}\sum_{i=1}^N F\left(\widehat{\xi}^i_{0,k},\cdots,\widehat{\xi}^i_{0,k}\right) \\ &\approx_{N\uparrow\infty} \int F(x_0,\cdots,x_n) p(d(x_0,\cdots,x_k)|y_0,\cdots,y_k) \\ &\approx_{N\uparrow\infty} \sum_{i=1}^N \frac{p(y_k|\xi^i_{k,k})}{\sum_{j=1}^N p(y_k|\xi^j_{k,k})} F\left(\xi^i_{0,k}, \cdots,\xi^i_{k,k} \right) \\ & \ \\ \int F(x_0,\cdots,x_n) \widehat{p}(d(x_0,\cdots,x_k)|y_0,\cdots,y_{k-1}) &:=\frac{1}{N} \sum_{i=1}^N F\left(\xi^i_{0,k},\cdots,\xi^i_{k,k}\right) \\ &\approx_{N\uparrow\infty} \int F(x_0,\cdots,x_n) p(d(x_0,\cdots,x_k)|y_0,\cdots,y_{k-1}) \end{align}</math>
for any bounded function F on the random trajectories of the signal. As shown in<ref name=":3" /> 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.<ref name="dp13" /><ref name=":1" />
Unbiased particle estimates of likelihood functionsEdit
We use the product formula
- <math>p(y_0,\cdots,y_n)=\prod_{k=0}^n p(y_k|y_0,\cdots,y_{k-1})</math>
with
- <math>p(y_k|y_0,\cdots,y_{k-1})=\int p(y_k|x_k) p(dx_k|y_0,\cdots,y_{k-1})</math>
and the conventions <math>p(y_0|y_0,\cdots,y_{-1})=p(y_0)</math> and <math>p(x_0|y_0,\cdots,y_{-1})=p(x_0),</math> for k = 0. Replacing <math>p(x_k|y_0,\cdots,y_{k-1})dx_k</math> by the empirical approximation
- <math>\widehat{p}(dx_k|y_0,\cdots,y_{k-1}):=\frac{1}{N}\sum_{i=1}^N \delta_{\xi^i_k}(dx_k) \approx_{N\uparrow\infty} p(dx_k|y_0,\cdots,y_{k-1})</math>
in the above displayed formula, we design the following unbiased particle approximation of the likelihood function
- <math>p(y_0,\cdots,y_n) \approx_{N\uparrow\infty} \widehat{p}(y_0,\cdots,y_n)=\prod_{k=0}^n \widehat{p}(y_k|y_0,\cdots,y_{k-1}) </math>
with
- <math>\widehat{p}(y_k|y_0,\cdots,y_{k-1})=\int p(y_k|x_k) \widehat{p}(dx_k|y_0,\cdots,y_{k-1})=\frac{1}{N}\sum_{i=1}^N p(y_k|\xi^i_k)</math>
where <math>p(y_k|\xi^i_k)</math> stands for the density <math>p(y_k|x_k)</math> evaluated at <math>x_k=\xi^i_k</math>. The design of this particle estimate and the unbiasedness property has been proved in 1996 in the article.<ref name="dm962"/> Refined variance estimates can be found in<ref name=":1" /> and.<ref name="dp13" />
Backward particle smoothersEdit
Using Bayes' rule, we have the formula
- <math>p(x_0,\cdots,x_n|y_0,\cdots,y_{n-1}) = p(x_n | y_0,\cdots,y_{n-1}) p(x_{n-1}|x_n, y_0,\cdots,y_{n-1} ) \cdots p(x_1|x_2,y_0,y_1) p(x_0|x_1,y_0)</math>
Notice that
- <math> \begin{align}
p(x_{k-1}|x_{k},(y_0,\cdots,y_{k-1})) &\propto p(x_{k}|x_{k-1})p(x_{k-1}|(y_0,\cdots,y_{k-1})) \\ p(x_{k-1}|(y_0,\cdots,y_{k-1}) &\propto p(y_{k-1}|x_{k-1})p(x_{k-1}|(y_0,\cdots,y_{k-2}) \end{align}</math>
This implies that
- <math>p(x_{k-1}|x_k, (y_0,\cdots,y_{k-1}))=\frac{p(y_{k-1}|x_{k-1})p(x_{k}|x_{k-1})p(x_{k-1}|y_0,\cdots,y_{k-2})}{\int p(y_{k-1}|x'_{k-1})p(x_{k}|x'_{k-1})p(x'_{k-1}|y_0,\cdots,y_{k-2}) dx'_{k-1}}</math>
Replacing the one-step optimal predictors <math>p(x_{k-1}|(y_0,\cdots,y_{k-2}))dx_{k-1}</math> by the particle empirical measures
- <math>\widehat{p}(dx_{k-1}|(y_0,\cdots,y_{k-2}))=\frac{1}{N}\sum_{i=1}^N \delta_{\xi^i_{k-1}}(dx_{k-1}) \left(\approx_{N\uparrow\infty} p(dx_{k-1}|(y_0,\cdots,y_{k-2})):={p}(x_{k-1}|(y_0,\cdots,y_{k-2})) dx_{k-1}\right)</math>
we find that
- <math>\begin{align}
p(dx_{k-1}| x_{k},(y_0,\cdots,y_{k-1})) &\approx_{N\uparrow\infty} \widehat{p}(dx_{k-1}|x_{k},(y_0,\cdots,y_{k-1})) \\ &:= \frac{p(y_{k-1}|x_{k-1}) p(x_{k}|x_{k-1}) \widehat{p}(dx_{k-1}|y_0,\cdots,y_{k-2})}{\int p(y_{k-1}|x'_{k-1})~p(x_{k}| x'_{k-1}) \widehat{p}(dx'_{k-1}|y_0,\cdots,y_{k-2})}\\ &= \sum_{i=1}^{N} \frac{p(y_{k-1}|\xi^i_{k-1}) p(x_{k}|\xi^i_{k-1})}{\sum_{j=1}^{N} p(y_{k-1}|\xi^j_{k-1}) p(x_{k}|\xi^j_{k-1})} \delta_{\xi^i_{k-1}}(dx_{k-1}) \end{align}</math>
We conclude that
- <math>p(d(x_0,\cdots,x_n)|(y_0,\cdots,y_{n-1})) \approx_{N\uparrow\infty} \widehat{p}_{backward}(d(x_0,\cdots,x_n)|(y_0,\cdots,y_{n-1}))</math>
with the backward particle approximation
- <math>\begin{align}
\widehat{p}_{backward} (d(x_0,\cdots,x_n)|(y_0,\cdots,y_{n-1})) = \widehat{p}(dx_n|(y_0,\cdots,y_{n-1})) \widehat{p}(dx_{n-1}|x_n,(y_0,\cdots,y_{n-1})) \cdots \widehat{p}(dx_1|x_2,(y_0,y_1)) \widehat{p}(dx_0|x_1,y_0) \end{align}</math>
The probability measure
- <math>\widehat{p}_{backward}(d(x_0,\cdots,x_n)|(y_0,\cdots,y_{n-1}))</math>
is the probability of the random paths of a Markov chain <math>\left(\mathbb X^{\flat}_{k,n}\right)_{0\leqslant k\leqslant n}</math>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 <math>\xi^i_k, i=1,\cdots,N.</math>
- Initially (at time k=n) the chain <math>\mathbb X^{\flat}_{n,n}</math> chooses randomly a state with the distribution
- <math>\widehat{p}(dx_{n}|(y_0,\cdots,y_{n-1}))=\frac{1}{N}\sum_{i=1}^N \delta_{\xi^i_{n}}(dx_{n})</math>
- From time k to the time (k-1), the chain starting at some state <math>\mathbb X^{\flat}_{k,n}=\xi^i_k</math> for some <math> i=1,\cdots,N</math> at time k moves at time (k-1) to a random state <math>\mathbb{X}^{\flat}_{k-1,n}</math> chosen with the discrete weighted probability
- <math>\widehat{p}(dx_{k-1}|\xi^i_{k},(y_0,\cdots,y_{k-1}))= \sum_{j=1}^N\frac{p(y_{k-1}|\xi^j_{k-1}) p(\xi^i_{k}|\xi^j_{k-1})}{\sum_{l=1}^Np(y_{k-1}|\xi^l_{k-1}) p(\xi^i_{k}|\xi^l_{k-1})}~\delta_{\xi^j_{k-1}}(dx_{k-1})</math>
In the above displayed formula, <math>\widehat{p}(dx_{k-1}|\xi^i_{k},(y_0,\cdots,y_{k-1}))</math> stands for the conditional distribution <math>\widehat{p}(dx_{k-1}|x_k, (y_0,\cdots,y_{k-1}))</math> evaluated at <math>x_k=\xi^i_{k}</math>. In the same vein, <math>p(y_{k-1}|\xi^j_{k-1})</math> and <math>p(\xi^i_k|\xi^j_{k-1})</math> stand for the conditional densities <math>p(y_{k-1}|x_{k-1})</math> and <math>p(x_k|x_{k-1})</math> evaluated at <math>x_k=\xi^i_{k}</math> and <math>x_{k-1}=\xi^j_{k-1}.</math> These models allows to reduce integration with respect to the densities <math>p((x_0,\cdots,x_n)|(y_0,\cdots,y_{n-1}))</math> in terms of matrix operations with respect to the Markov transitions of the chain described above.<ref name=":6" /> For instance, for any function <math>f_k</math> we have the particle estimates
- <math>\begin{align}
\int p(d(x_0,\cdots,x_n)&|(y_0,\cdots,y_{n-1}))f_k(x_k) \\ &\approx_{N\uparrow\infty} \int \widehat{p}_{backward}(d(x_0,\cdots,x_n)| (y_0,\cdots,y_{n-1})) f_k(x_k) \\ &=\int \widehat{p}(dx_n| (y_0,\cdots,y_{n-1})) \widehat{p}(dx_{n-1}|x_n,(y_0,\cdots,y_{n-1})) \cdots \widehat{p}(dx_k| x_{k+1},(y_0,\cdots,y_k)) f_k(x_k) \\ &=\underbrace{\left[\tfrac{1}{N},\cdots,\tfrac{1}{N}\right]}_{N \text{ times}}\mathbb{M}_{n-1} \cdots\mathbb M_{k} \begin{bmatrix} f_k(\xi^1_k)\\ \vdots\\ f_k(\xi^N_k) \end{bmatrix} \end{align}</math>
where
- <math>\mathbb M_k= (\mathbb M_k(i,j))_{1\leqslant i,j\leqslant N}: \qquad \mathbb M_k(i,j)=\frac{p(\xi^i_{k}|\xi^j_{k-1})~p(y_{k-1}|\xi^j_{k-1})}{\sum\limits_{l=1}^{N} p(\xi^i_{k}|\xi^l_{k-1}) p(y_{k-1}|\xi^l_{k-1})}</math>
This also shows that if
- <math>\overline{F}(x_0,\cdots,x_n):=\frac{1}{n+1}\sum_{k=0}^n f_k(x_k)</math>
then
- <math>\begin{align}
\int \overline{F}(x_0,\cdots,x_n) p(d(x_0,\cdots,x_n)|(y_0,\cdots,y_{n-1})) &\approx_{N\uparrow\infty} \int \overline{F}(x_0,\cdots,x_n) \widehat{p}_{backward}(d(x_0,\cdots,x_n)|(y_0,\cdots,y_{n-1})) \\ &=\frac{1}{n+1} \sum_{k=0}^n \underbrace{\left[\tfrac{1}{N},\cdots,\tfrac{1}{N}\right]}_{N \text{ times}}\mathbb M_{n-1}\mathbb M_{n-2}\cdots\mathbb{M}_k \begin{bmatrix} f_k(\xi^1_k)\\ \vdots\\ f_k(\xi^N_k) \end{bmatrix} \end{align}</math>
Some convergence resultsEdit
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
- <math>E\left(\widehat{p}(y_0,\cdots,y_n)\right)= p(y_0,\cdots,y_n), \qquad E\left(\left[\frac{\widehat{p}(y_0,\cdots,y_n)}{p(y_0,\cdots,y_n)}-1\right]^2\right)\leqslant \frac{cn}{N},</math>
for some finite constant c. In addition, for any <math>x\geqslant 0</math>:
- <math>\mathbf{P} \left ( \left\vert \frac{1}{n}\log{\widehat{p}(y_0,\cdots,y_n)}-\frac{1}{n}\log{p(y_0,\cdots,y_n)}\right\vert \leqslant c_1 \frac{x}{N}+c_2 \sqrt{\frac{x}{N}} \right ) > 1-e^{-x} </math>
for some finite constants <math>c_1, c_2</math> 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
- <math>\begin{align}
I^{path}_k(F) &:=\int F(x_0,\cdots,x_k) p(d(x_0,\cdots,x_k)|y_0,\cdots,y_{k-1}) \\ &\approx_{N\uparrow\infty} \widehat{I}^{path}_k(F) \\ &:=\int F(x_0,\cdots,x_k) \widehat{p}(d(x_0,\cdots,x_k)|y_0,\cdots,y_{k-1}) \\ &=\frac{1}{N}\sum_{i=1}^N F\left(\xi^i_{0,k},\cdots,\xi^i_{k,k}\right) \end{align}</math>
are controlled by the non asymptotic uniform estimates
- <math>\left| E\left(\widehat{I}^{path}_k(F)\right)-I_k^{path}(F)\right|\leqslant \frac{c_1 k}{N}, \qquad E\left(\left[\widehat{I}^{path}_k(F)-I_k^{path}(F)\right]^2\right)\leqslant \frac{c_2 k}{N},</math>
for any function F bounded by 1, and for some finite constants <math>c_1, c_2.</math> In addition, for any <math>x\geqslant 0</math>:
- <math>\mathbf{P} \left ( \left| \widehat{I}^{path}_k(F)-I_k^{path}(F)\right | \leqslant c_1 \frac{kx}{N}+c_2 \sqrt{\frac{kx}{N}} \land \sup_{0\leqslant k\leqslant n}\left| \widehat{I}_k^{path}(F)-I^{path}_k(F)\right| \leqslant c \sqrt{\frac{xn\log(n)}{N}} \right ) > 1-e^{-x}</math>
for some finite constants <math>c_1, c_2</math> 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
- <math>\overline{F}(x_0,\cdots,x_n):=\frac{1}{n+1}\sum_{0\leqslant k\leqslant n}f_k(x_k)</math>
with
- <math>I^{path}_n(\overline{F}) \approx_{N\uparrow\infty} I^{\flat, path}_n(\overline{F}):=\int \overline{F}(x_0,\cdots,x_n) \widehat{p}_{backward}(d(x_0,\cdots,x_n)|(y_0,\cdots,y_{n-1}))</math>
with functions <math>f_k</math> bounded by 1, we have
- <math>\sup_{n\geqslant 0}{\left\vert E\left(\widehat{I}^{\flat,path}_n(\overline{F})\right)-I_n^{path}(\overline{F})\right\vert} \leqslant \frac{c_1}{N}</math>
and
- <math>E\left(\left[\widehat{I}^{\flat,path}_n(F)-I_n^{path}(F)\right]^2\right)\leqslant \frac{c_2}{nN}+ \frac{c_3}{N^2}</math>
for some finite constants <math>c_1,c_2,c_3.</math> More refined estimates including exponentially small probability of errors are developed in.<ref name="dp13" />
Sequential Importance Resampling (SIR)Edit
Monte Carlo filter and bootstrap filterEdit
Sequential importance Resampling (SIR), Monte Carlo filtering (Kitagawa 1993<ref name="Kitagawa1993"/>), bootstrap filtering algorithm (Gordon et al. 1993<ref name="Gordon1993"/>) and single distribution resampling (Bejuri W.M.Y.B et al. 2017<ref>Template:Cite journal</ref>), are also commonly applied filtering algorithms, which approximate the filtering probability density <math>p(x_k|y_0,\cdots,y_k)</math> by a weighted set of N samples
- <math> \left \{ \left (w^{(i)}_k,x^{(i)}_k \right ) \ : \ i\in\{1,\cdots,N\} \right \}.</math>
The importance weights <math>w^{(i)}_k</math> are approximations to the relative posterior probabilities (or densities) of the samples such that
- <math>\sum_{i=1}^N w^{(i)}_k = 1.</math>
Sequential importance sampling (SIS) is a sequential (i.e., recursive) version of importance sampling. As in importance sampling, the expectation of a function f can be approximated as a weighted average
- <math> \int f(x_k) p(x_k|y_0,\dots,y_k) dx_k \approx \sum_{i=1}^N w_k^{(i)} f(x_k^{(i)}).</math>
For a finite set of samples, the algorithm performance is dependent on the choice of the proposal distribution
- <math>\pi(x_k|x_{0:k-1},y_{0:k})\, </math>.
The "optimal" proposal distribution is given as the target distribution
- <math>\pi(x_k|x_{0:k-1},y_{0:k}) = p(x_k|x_{k-1},y_{k})=\frac{p(y_k|x_k)}{\int p(y_k|x_k)p(x_k|x_{k-1})dx_k}~p(x_k|x_{k-1}).</math>
This particular choice of proposal transition has been proposed by P. Del Moral in 1996 and 1998.<ref name=":22"/> When it is difficult to sample transitions according to the distribution <math> p(x_k|x_{k-1},y_{k})</math> one natural strategy is to use the following particle approximation
- <math>\begin{align}
\frac{p(y_k|x_k)}{\int p(y_k|x_k)p(x_k|x_{k-1})dx_k} p(x_k|x_{k-1})dx_k &\simeq_{N\uparrow\infty} \frac{p(y_k|x_k)}{\int p(y_k|x_k)\widehat{p}(dx_k|x_{k-1})} \widehat{p}(dx_k|x_{k-1}) \\ &= \sum_{i=1}^N \frac{p(y_k|X^i_k(x_{k-1}))}{\sum_{j=1}^N p(y_k|X^j_k(x_{k-1}))} \delta_{X^i_k(x_{k-1})}(dx_k) \end{align}</math>
with the empirical approximation
- <math> \widehat{p}(dx_k|x_{k-1})= \frac{1}{N}\sum_{i=1}^{N} \delta_{X^i_k(x_{k-1})}(dx_k)~\simeq_{N\uparrow\infty} p(x_k|x_{k-1})dx_k </math>
associated with N (or any other large number of samples) independent random samples <math>X^i_k(x_{k-1}), i=1,\cdots,N </math>with the conditional distribution of the random state <math>X_k</math> given <math>X_{k-1}=x_{k-1}</math>. The consistency of the resulting particle filter of this approximation and other extensions are developed in.<ref name=":22"/> In the above display <math>\delta_a</math> 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:
- <math>\pi(x_k|x_{0:k-1},y_{0:k}) = p(x_k|x_{k-1}).</math>
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 the 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 (1993<ref name="Kitagawa1993"/>) is optimal in terms of variance.
A single step of sequential importance resampling is as follows:
- 1) For <math>i=1,\cdots,N</math> draw samples from the proposal distribution
- <math>x^{(i)}_k \sim \pi(x_k|x^{(i)}_{0:k-1},y_{0:k})</math>
- 2) For <math>i=1,\cdots,N</math> update the importance weights up to a normalizing constant:
- <math>\hat{w}^{(i)}_k = w^{(i)}_{k-1} \frac{p(y_k|x^{(i)}_k) p(x^{(i)}_k|x^{(i)}_{k-1})} {\pi(x_k^{(i)}|x^{(i)}_{0:k-1},y_{0:k})}.</math>
- Note that when we use the transition prior probability distribution as the importance function,
- <math> \pi(x_k^{(i)}|x^{(i)}_{0:k-1},y_{0:k}) = p(x^{(i)}_k|x^{(i)}_{k-1}),</math>
- this simplifies to the following :
- <math> \hat{w}^{(i)}_k = w^{(i)}_{k-1} p(y_k|x^{(i)}_k), </math>
- 3) For <math>i=1,\cdots,N</math> compute the normalized importance weights:
- <math>w^{(i)}_k = \frac{\hat{w}^{(i)}_k}{\sum_{j=1}^N \hat{w}^{(j)}_k}</math>
- 4) Compute an estimate of the effective number of particles as
- <math>\hat{N}_\mathit{eff} = \frac{1}{\sum_{i=1}^N\left(w^{(i)}_k\right)^2} </math>
- This criterion reflects the variance of the weights. Other criteria can be found in the article,<ref name=":0"/> including their rigorous analysis and central limit theorems.
- 5) If the effective number of particles is less than a given threshold <math>\hat{N}_\mathit{eff} < N_{thr}</math>, then perform resampling:
- a) Draw N particles from the current particle set with probabilities proportional to their weights. Replace the current particle set with this new one.
- b) For <math>i=1,\cdots,N</math> set <math>w^{(i)}_k = 1/N.</math>
The term "Sampling Importance Resampling" is also sometimes used when referring to SIR filters, but the term Importance Resampling is more accurate because the word "resampling" implies that the initial sampling has already been done.<ref name="bda">Template:Cite book</ref>
Sequential importance sampling (SIS)Edit
- Is the same as sequential importance resampling, but without the resampling stage.
"Direct version" algorithmEdit
Template:Confusing section The "direct version" algorithm Template:Citation needed is rather simple (compared to other particle filtering algorithms) and it uses composition and rejection. To generate a single sample x at k from <math>p_{x_k|y_{1:k}}(x|y_{1:k})</math>:
- 1) Set n = 0 (This will count the number of particles generated so far)
- 2) Uniformly choose an index i from the range <math>\{1,..., N\}</math>
- 3) Generate a test <math>\hat{x}</math> from the distribution <math>p(x_k|x_{k-1})</math> with <math> x_{k-1}=x_{k-1|k-1}^{(i)}</math>
- 4) Generate the probability of <math>\hat{y}</math> using <math>\hat{x}</math> from <math>p(y_k|x_k),~\mbox{with}~x_k=\hat{x}</math> where <math>y_k</math> is the measured value
- 5) Generate another uniform u from <math>[0, m_k]</math> where <math>m_k = \sup_{x_k} p(y_k|x_k) </math>
- 6) Compare u and <math>p\left(\hat{y}\right)</math>
- 6a) If u is larger then repeat from step 2
- 6b) If u is smaller then save <math>\hat{x}</math> as <math>x_{k|k}^{(i)}</math> and increment n
- 7) If n == N then quit
The goal is to generate P "particles" at k using only the particles from <math>k-1</math>. This requires that a Markov equation can be written (and computed) to generate a <math>x_k</math> based only upon <math>x_{k-1}</math>. This algorithm uses the composition of the P particles from <math>k-1</math> to generate a particle at k and repeats (steps 2–6) until P particles are generated at k.
This can be more easily visualized if x is viewed as a two-dimensional array. One dimension is k and the other dimension is the particle number. For example, <math>x(k,i)</math> would be the ith particle at <math>k</math> and can also be written <math>x_k^{(i)}</math> (as done above in the algorithm). Step 3 generates a potential <math>x_k</math> based on a randomly chosen particle (<math>x_{k-1}^{(i)}</math>) at time <math>k-1</math> and rejects or accepts it in step 6. In other words, the <math>x_k</math> values are generated using the previously generated <math>x_{k-1}</math>.
ApplicationsEdit
Particle filters and Feynman-Kac particle methodologies find application in several contexts, as an effective mean for tackling noisy observations or strong nonlinearities, such as:
- Bayesian inference, machine learning, risk analysis and rare event sampling
- Bioinformatics<ref name=":PFOBC"/>
- Computational science
- Economics, financial mathematics and mathematical finance: particle filters can perform simulations which are needed to compute the high-dimensional and/or complex integrals related to problems such as dynamic stochastic general equilibrium models in macro-economics and option pricing<ref>Template:Cite journal</ref>
- Engineering
- Infectious disease epidemiology where they have been applied to a number of epidemic forecasting problems, for example predicting seasonal influenza epidemics<ref>Template:Cite journal</ref>
- Fault detection and isolation: in observer-based schemas a particle filter can forecast expected sensors output enabling fault isolation<ref>Template:Cite journal</ref><ref>Template:Cite journal</ref><ref>Template:Cite journal</ref>
- Molecular chemistry and computational physics
- Pharmacokinetics<ref>Bonate P: Pharmacokinetic-Pharmacodynamic Modeling and Simulation. Berlin: Springer; 2011.</ref>
- Phylogenetics
- Robotics, artificial intelligence: Monte Carlo localization is a de facto standard in mobile robot localization<ref name="aaai1999">
Dieter Fox, Wolfram Burgard, Frank Dellaert, and Sebastian Thrun, "Monte Carlo Localization: Efficient Position Estimation for Mobile Robots." Proc. of the Sixteenth National Conference on Artificial Intelligence John Wiley & Sons Ltd, 1999.</ref><ref name="pr"> Sebastian Thrun, Wolfram Burgard, Dieter Fox. Probabilistic Robotics MIT Press, 2005. Ch. 8.3 Template:ISBN.</ref><ref name="robust">Sebastian Thrun, Dieter Fox, Wolfram Burgard, Frank Dellaert. "Robust monte carlo localization for mobile robots." Artificial Intelligence 128.1 (2001): 99–141. </ref>
- Signal and image processing: visual localization, tracking, feature recognition<ref>Template:Cite journal</ref>
Other particle filtersEdit
- Auxiliary particle filter<ref name="apf1999">Template:Cite journal</ref>
- Cost Reference particle filter
- Exponential Natural Particle Filter<ref name="xnpf2015">Template:Cite arXiv</ref>
- Feynman-Kac and mean-field particle methodologies<ref name="dm962"/><ref name="dp13" /><ref name=":1" />
- Gaussian particle filter
- Gauss–Hermite particle filter
- Hierarchical/Scalable particle filter<ref name="Canton2011">Template:Cite journal</ref>
- Nudged particle filter<ref>Template:Cite journal</ref>
- Particle Markov-Chain Monte-Carlo, see e.g. pseudo-marginal Metropolis–Hastings algorithm.
- Rao–Blackwellized particle filter<ref name="rbpf1999"/>
- Regularized auxiliary particle filter<ref name="jliu2011">Template:Cite journal</ref>
- Rejection-sampling based optimal particle filter<ref name="optrj2008">Template:Cite conference
</ref><ref name="optrj2010">Template:Cite journal </ref>
- Unscented particle filter
See alsoEdit
- Ensemble Kalman filter
- Generalized filtering
- Genetic algorithm
- Mean-field particle methods
- Monte Carlo localization
- Moving horizon estimation
- Recursive Bayesian estimation
ReferencesEdit
BibliographyEdit
- Template:Cite journal
- 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"
- Template:Cite book
- Template:Cite book
- Template:Cite journal
- Template:Cite journal
- Template:Cite book
- Template:Cite journal
- Template:Cite journal
- Template:Cite journal
- Template:Cite journal
- Template:Cite journal
- Template:Cite journal
- Template:Cite journal
- Template:Cite journal
- Template:Cite journal
- Template:Cite journal
External linksEdit
- 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
- Particle filter explained in the context of self driving car