Ensemble Kalman filter

The ensemble Kalman filter (EnKF) is a recursive filter suitable for problems with a large number of variables, such as discretizations of partial differential equations in geophysical models. The EnKF originated as a version of the Kalman filter for large problems (essentially, the covariance matrix is replaced by the sample covariance), and it is now an important data assimilation component of ensemble forecasting. EnKF is related to the particle filter (in this context, a particle is the same thing as ensemble member) but the EnKF makes the assumption that all probability distributions involved are Gaussian; when it is applicable, it is much more efficient than the particle filter. This article briefly describes the derivation and practical implementation of the basic version of EnKF, and reviews several extensions.

Introduction
The Ensemble Kalman Filter (EnKF) is a Monte-Carlo implementation of the Bayesian update problem: Given a probability density function (pdf) of the state of the modeled system (the prior, called often the forecast in geosciences) and the data likelihood, the Bayes theorem is used to to obtain the pdf after the data likelihood has been taken into account (the posterior, often called the analysis). This is called a Bayesian update. The Bayesian update is combined with advancing the model in time, incorporating new data from time to time. The original Kalman Filter assumes that all pdfs are Gaussian (the Gaussian assumption) and provides algebraic formulas for the change of the mean and the covariance matrix by the Bayesian update, as well as a formula for advancing the covariance matrix in time provided the system is linear. However, maintaining the covariance matrix is not feasible computationally for high-dimensional systems. For this reason, EnKFs were developed. EnKFs represent the distribution of the system state using a collection of state vectors, called an ensemble, and replace the covariance matrix by the sample covariance computed from the ensemble. The ensemble is operated with as if it were a random sample, but the ensemble members are really not independent - the EnKF ties them together. One advantage of EnKFs is that advancing the pdf in time is achieved by simply advancing each member of the ensemble. For a survey of EnKF and related data assimilation techniques, see. A version of this article is also available as the technical report.

The Kalman Filter
Let us review first the Kalman filter. Let $$\mathbf{x}$$ denote the $$n$$-dimensional state vector of a model, and assume that it has Gaussian probability distribution with mean $$\mathbf{\mu}$$ and covariance $$Q$$, i.e., its pdf is


 * $$ p(\mathbf{x})\propto\exp\left( -\frac{1}{2}(\mathbf{x}-\mathbf{\mu })^{\mathrm{T}}Q^{-1}(\mathbf{x}-\mathbf{\mu})\right)  . $$

Here and below, $$\propto$$ means proportional; a pdf is always scaled so that its integral over the whole space is one. This probability distribution, called the prior, was evolved in time by running the model and now is to be updated to account for new data. It is natural to assume that the error distribution of the data is known; data have to come with an error estimate, otherwise they are meaningless. Here, the data $$\mathbf{d}$$ is assumed to have Gaussian pdf with covariance $$R$$ and mean $$H\mathbf{x}$$, where $$H$$ is the so-called the observation matrix. The covariance matrix $$R$$ describes the estimate of the error of the data; if the random errors in the entries of the data vector $$\mathbf{d}$$ are independent, $$R$$ is diagonal and its diagonal entries are the squares of the standard deviation (&ldquo;error size&rdquo;) of the error of the corresponding entries of the data vector $$\mathbf{d}$$. The value $$H\mathbf{x}$$ is what the value of the data would be for the state $$\mathbf{x}$$ in the absence of data errors. Then the probability density $$p(\mathbf{d}|\mathbf{x})$$ of the data $$\mathbf{d}$$ conditional of the system state $$\mathbf{x}$$, called the data likelihood, is


 * $$ p\left( \mathbf{d}|\mathbf{x}\right)  \propto\exp\left(  -\frac{1}{2}(\mathbf{d}-H\mathbf{x})^{\mathrm{T}}R^{-1}(\mathbf{d}-H\mathbf{x})\right) . $$

The pdf of the state and the data likelihood are combined to give the new probability density of the system state $$\mathbf{x}$$ conditional on the value of the data $$\mathbf{d}$$ (the posterior) by the Bayes theorem,


 * $$ p\left( \mathbf{x}|\mathbf{d}\right)  \propto p\left(  \mathbf{d}|\mathbf{x}\right)  p(\mathbf{x}). $$

The data $$\mathbf{d}$$ is fixed once it is received, so denote the posterior state by $$\mathbf{\hat{x}}$$ instead of $$\mathbf{x}|\mathbf{d}$$ and the posterior pdf by $$p\left( \mathbf{\hat{x}}\right)  $$. It can be shown by algebraic manipulations that the posterior pdf is also Gaussian,


 * $$ p\left( \mathbf{\hat{x}}\right)  \propto\exp\left(  -\frac{1}{2}(\mathbf{\hat{x}}-\mathbf{\hat{\mu}})^{\mathrm{T}}P^{-1}(\mathbf{\hat{x}}-\mathbf{\hat{\mu}})\right) , $$

with the posterior mean $$\mathbf{\hat{\mu}}$$ and covariance $$\hat{Q}$$ given by the Kalman update formulas


 * $$ \mathbf{\hat{\mu}}=\mathbf{\mu}+K\left( \mathbf{d}-H\mathbf{\mu}\right) ,\quad\hat{Q}=\left(  I-KH\right)  Q, $$

where


 * $$ K=QH^{\mathrm{T}}\left( HQH^{\mathrm{T}}+R\right)  ^{-1}$$

is the so-called Kalman gain matrix.

The Ensemble Kalman Filter
The EnKF is a Monte Carlo approximation of the Kalman filter, which avoids evolving the covariance matrix of the pdf of the state vector $$\mathbf{x}$$. Instead, the pdf is represented by an ensemble


 * $$ X=\left[ \mathbf{x}_{1},\ldots,\mathbf{x}_{N}\right]  =\left[  \mathbf{x}_{i}\right]. $$

$$X$$ is an $$n\times N$$ matrix whose columns are the ensemble members, and it is called the prior ensemble. Ideally, ensemble members would form a sample from the prior distribution. However, the ensemble members are not in general independent except in the initial ensemble, since every EnKF step ties them together. They are deemed to be approximately independent, and all calculations proceed as if they actually were independent.

Replicate the data $$\mathbf{d}$$ into an $$m\times N$$ matrix


 * $$ D=\left[ \mathbf{d}_{1},\ldots,\mathbf{d}_{N}\right]  =\left[  \mathbf{d}_{i}\right] $$

so that each column $$\mathbf{d}_{i}$$ consists of the data vector $$\mathbf{d}$$ plus a random vector from the $$n$$-dimensional normal distribution $$N(0,R)$$. If, in addition, the columns of $$X$$ are a sample from the prior probability distribution, then the columns of


 * $$ \hat{X}=X+K(D-HX) $$

form a sample from the posterior probability distribution. The EnKF is now obtained simply by replacing the state covariance $$Q$$ in Kalman gain matrix $$K=QH^{\mathrm{T}}\left( HQH^{\mathrm{T}}+R\right)  ^{-1}$$ by the sample covariance $$C$$ computed from the ensemble members (called the ensemble covariance).

Basic formulation
Here we follow. Suppose the ensemble matrix $$X$$ and the data matrix $$D$$ are as above. The ensemble mean and the covariance are


 * $$ E\left( X\right)  =\frac{1}{N}\sum_{k=1}^{N}\mathbf{x}_{k},\quad C=\frac{AA^{T}}{N-1}, $$

where


 * $$ A=X-E\left( X\right)  =X-\frac{1}{N}\left(  X\mathbf{e}_{N\times1}\right) \mathbf{e}_{1\times N}, $$

and $$\mathbf{e}$$ denotes the matrix of all ones of the indicated size.

The posterior ensemble $$X^{p}$$ is then given by


 * $$ \hat{X}\approx X^{p}=X+CH^{T}\left( HCH^{T}+R\right)  ^{-1}(D-HX), $$

where the perturbed data matrix $$D$$ is as above. Since $$C$$ can be written as


 * $$C=\bigl(X-E\left( X\right)\bigr)\left(\cdots\right)$$

one can see that the posterior ensemble consists of linear combinations of members of the prior ensemble.

Note that since $$R$$ is a covariance matrix, it is always positive semidefinite and usually positive definite, so the inverse above exists and the formula can be implemented by the Choleski decomposition. In, $$R$$ is replaced by the sample covariance $$DD^{T}/\left(  N-1\right)  $$ and the inverse is replaced by a pseudoinverse, computed using the Singular Value Decomposition (SVD).

Since these formulas are matrix operations with dominant Level 3 operations, they are suitable for efficient implementation using software packages such as LAPACK (on serial and shared memory computers) and ScaLAPACK (on distributed memory computers). Instead of computing the inverse of a matrix and multiplying by it, it is much better (several times cheaper and also more accurate) to compute the Choleski decomposition of the matrix and treat the multiplication by the inverse as solution of a linear system with many simultaneous right-hand sides.

Observation matrix-free implementation
It is usually inconvenient to construct and operate with the matrix $$H$$ explicitly; instead, a function $$h(\mathbf{x})$$ of the form


 * $$ h(\mathbf{x})=H\mathbf{x}, $$

is more natural to compute. The function $$h$$ is called the observation function or, in the inverse problems context, the forward operator. The value of $$h(\mathbf{x})$$ is what the value of the data would be for the state $$\mathbf{x}$$ assuming the measurement is exact. Then the posterior ensemble can be rewritten as


 * $$ X^{p}=X+\frac{1}{N-1}A\left( HA\right)  ^{T}P^{-1}(D-HX) $$

where


 * $$ HA=HX-\frac{1}{N}\left( \left(  HX\right)  \mathbf{e}_{N\times1}\right) \mathbf{e}_{1\times N}, $$

and


 * $$ P=\frac{1}{N-1}HA\left( HA\right)  ^{T}+R, $$

with


 * $$\begin{align} \left[ HA\right]  _{i}  &  =H\mathbf{x}_{i}-H\frac{1}{N}\sum_{j=1}^{N}\mathbf{x}_{j}\ &  =h\left(  \mathbf{x}_{i}\right)  -\frac{1}{N}\sum_{j=1}^{N}h\left( \mathbf{x}_{j}\right)  . \end{align}$$

Consequently, the ensemble update can be computed by evaluating the observation function $$h$$ on each ensemble member once and the matrix $$H$$ does not need to be known explicitly. This formula holds also for an observation function $$h(\mathbf{x})=H\mathbf{x+f}$$ with a fixed offset $$\mathbf{f}$$, which also does not need to be known explicitly. The above formula has been commonly used for a nonlinear observation function $$h$$, such as the position of a hurricane vortex. In that case, the observation function is essentially approximated by a linear function from its values at ensemble members.

Implementation for a large number of data points
For a large number $$m$$ of data points, the multiplication by $$P^{-1}$$ becomes a bottleneck. The following alternative formula is advantageous when the number of data points $$m$$ is large (such as when assimilating gridded or pixel data) and the data error covariance matrix $$R$$ is diagonal (which is the case when the data errors are uncorrelated), or cheap to decompose (such as banded due to limited covariance distance). Using the Sherman–Morrison–Woodbury formula


 * $$ (R+UV^{T})^{-1}=R^{-1}-R^{-1}U(I+V^{T}R^{-1}U)^{-1}V^{T}R^{-1}, $$

with


 * $$ U=\frac{1}{N-1}HA,\quad V=HA, $$

gives


 * $$\begin{align} P^{-1} &  =\left(  R+\frac{1}{N-1}HA\left(  HA\right)  ^{T}\right)  ^{-1}\ &  =R^{-1}\left[  I-\frac{1}{N-1}\left(  HA\right)  \left(  I+\left( HA\right)  ^{T}R^{-1}\frac{1}{N-1}\left(  HA\right)  \right)  ^{-1}\left( HA\right)  ^{T}R^{-1}\right] , \end{align}$$

which requires only the solution of systems with the matrix $$R$$ (assumed to be cheap) and of a system of size $$N$$ with $$m$$ right-hand sides. See for operation counts.

Further extensions
The EnKF version described here involves randomization of data. For filters without randomization of data, see.

Since the ensemble covariance is rank deficient (there are many more state variables, typically millions, than the ensemble members, typically less than a hundred), it has large terms for pairs of points that are spatially distant. Since in reality the values of physical fields at distant locations are not that much correlated, the covariance matrix is tapered off artificially based on the distance, which gives rise to localized EnKF algorithms.

For nonlinear problems, EnKF can create posterior ensemble with non-physical states. This can be alleviated by regularization, such as penalization of states with large spatial gradients.

For problems with coherent features, such as firelines, squall lines, and rain fronts, there is a need to adjust the simulation state by distorting the state in space as well as by an additive correction to the state. The morphing EnKF employs intermediate states, obtained by techniques borrowed from image registration and morphing, instead of linear combinations of states.

EnKFs rely on the Gaussian assumption, though they are of course used in practice for nonlinear problems, where the Gaussian assumption is not satisfied. Related filters attempting to relax the Gaussian assumption in EnKF while preserving its advantages include filters that fit the state pdf with multiple Gaussian kernels, filters that approximate the state pdf by Gaussian mixtures, a variant of the particle filter with computation of particle weights by density estimation, and a variant of the particle filter with thick tailed data pdf to alleviate particle filter degeneracy.