Bellman filter

From HandWiki
Bellman filter
ClassNonlinear filter; recursive state estimator
Data structureState-space model (latent state and observations)
Worst-case performancePer time step: Kalman-style prediction plus numerical optimisation in the update step (model- and method-dependent)
Worst-case space complexityStores state estimates and covariance matrices (dimension-dependent)

The Bellman filter is a recursive algorithm for estimating a sequence of unobserved (latent) states in a state-space model from noisy observations. It is typically formulated for models with a linear–Gaussian state transition and a possibly nonlinear and/or non-Gaussian observation density, and it updates the state by solving a per-time-step optimisation problem involving logp(yt|xt). Under linear–Gaussian observation models, it reduces to the standard Kalman filter update.[1][2][3]

From a dynamic-programming perspective, the Bellman filter applies Bellman's principle of optimality to a mode-estimation problem, yielding a recursion for an (online) maximisation objective whose maximiser is a filtered state estimate. In contrast with grid-based maximisation (as in the Viterbi algorithm for models with discrete states), the Bellman filter keeps the state space continuous and replaces the exact Bellman value functions by parametric (typically quadratic) function-space approximations, which makes the recursion computationally feasible in moderate to high dimensions.

Background

In a discrete-time state-space model, an unobserved state vector evolves over time and generates observations. The linear–Gaussian case admits an optimal recursive solution via the Kalman filter, and standard econometric treatments include the monographs by Harvey and by Durbin & Koopman.[4][5]

For nonlinear and/or non-Gaussian observation models, exact filtering generally becomes intractable and practical methods rely on approximation (e.g. extended/iterated Kalman filtering) or simulation (e.g. particle filters). The Bellman filter can be presented as a dynamic-programming-based alternative using function-space approximations of the value function at each time step.[1]

Model and notation

Although the approach is more generally applicable, a commonly used specification keeps the classic linear–Gaussian state transition while allowing a general observation density. For t=1,,n:[1]

  • Observation equation:

ytp(yt|xt)

  • State-transition equation:

xt=c+Txt1+Rηt where ηti.i.d. 𝒩(0,Q).

The filter maintains predicted quantities x^tt1, Ptt1 and filtered quantities x^tt, Ptt.

Fisher information

For the observation model, Fisher information is defined as: I(x):=[2logp(y|x)]p(y|x)dy, where 2 operates on x.

Algorithm

Prediction step

x^tt1=c+Tx^t1t1,

Ptt1=TPt1t1T+RQR.

This is identical to the prediction step in the Kalman filter.[3]

Updating step

x^tt=argmaxxd{logp(yt|x)12(xx^tt1)Ptt11(xx^tt1)},

Ptt=(Ptt11+I(x^tt))1.

The update step is well defined if logp(yt|x) is concave in x or if Ptt11 is sufficiently large.[1][2] In some cases, I(x^tt) in the formula for Ptt can be replaced by the realised negative Hessian 2logp(yt|x^tt).

The maximisation can be interpreted as a maximum a posteriori (MAP) estimate of xt: it combines the log-likelihood term logp(yt|xt) with a quadratic log-prior coming from the Gaussian prediction xt|y1:t1𝒩(x^tt1,Ptt1). Equivalently, the update solves a regularised likelihood problem: it chooses the state that best explains yt while penalising deviation from the predicted mean x^tt1 according to the precision Ptt11.

Special cases and relationships

Linear–Gaussian observation equation

If yt=d+Zxt+εt where εti.i.d. 𝒩(0,H), then the level update x^tt and covariance update Ptt reduce to the usual Kalman filter update.[1][2][3]

Iterated (extended) Kalman filtering

For a nonlinear observation equation with additive Gaussian noise, yt=h(xt)+εt, with εt𝒩(0,H), the Bellman update objective is proportional to the (negative) nonlinear least-squares criterion 12(yth(x))H1(yth(x))+12(xx^tt1)Ptt11(xx^tt1). Applying a Gauss–Newton method to this problem yields the iterated extended Kalman filter (see article on the Extended Kalman filter). Bell and Cathey show that this iterated update is a Gauss–Newton method for the corresponding maximum-likelihood problem.[6] Equivalently, this is the special case of the Bellman filter update with logp(yt|x) given by the Gaussian log-likelihood 12(yth(x))H1(yth(x)) (up to an additive constant).

Nonlinear/non-Gaussian state-transition equation

Although the exposition above assumes a linear–Gaussian state transition (so that the prediction step has closed form), Bellman's recursive approach applies also to state-space models with a general transition density p(xt|xt1). In this more general setting, solving Bellman's equation involves a joint maximisation over (xt,xt1).[2] In this setting, degenerate state dynamics can be handled by equating some elements of xt to those of xt1 and optimising only over the free components.

Smoothing

With a linear–Gaussian state transition, the (fixed-interval) Rauch–Tung–Striebel (RTS) smoother can be applied to the filtered output to obtain smoothed estimates x^tn and Ptn. Define the smoothing gain

Jt:=PttTPt+1t1.

Initialise at t=n with x^nn and Pnn.

Then for t=n1,,1:

x^tn=x^tt+Jt(x^t+1nx^t+1t),

Ptn=Ptt+Jt(Pt+1nPt+1t)Jt.

In the Bellman-filter setting (linear–Gaussian state transition with a general observation density), these RTS recursions still apply to the (possibly approximate) filtered quantities produced by the Bellman filter.[1][2]

Parameter estimation

In many applications the model depends on unknown static parameters ψ (for example, coefficients in the observation density p(yt|xt), or elements of c,T,R,Q). These can be estimated by fitting ψ to the observed data, typically by running the Bellman filter for each candidate ψ and then maximising an (approximate) log-likelihood objective with a numerical optimiser, subject to any required constraints (e.g. positive definiteness of covariance matrices). A simple estimator of this type is:

ψ^:=argmaxψt=1n[logp(yt|x^tt)12logdet(Ptt1)det(Ptt)12(x^ttx^tt1)Ptt11(x^ttx^tt1)].

The first term logp(yt|x^tt) measures how well the Bellman-filtered (mode) estimate explains the observation yt. The remaining terms form a nonnegative regularisation penalty that discourages overfitting by penalising large adjustments from x^tt1 to x^tt, with the determinant ratio reflecting the reduction in (approximate) state uncertainty after incorporating yt.

In the linear–Gaussian observation case this coincides with the maximum likelihood estimator; otherwise it can be interpreted as maximising a second-order approximation to the usual prediction-error decomposition.[1][2]

References

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Lange, R.-J. (2024). "Short and simple introduction to Bellman filtering and smoothing". arXiv:2405.12668 [stat.ME].
  2. 2.0 2.1 2.2 2.3 2.4 2.5 Lange, R.-J. (2024). "Bellman filtering and smoothing for state–space models". Journal of Econometrics 238 (2). doi:10.1016/j.jeconom.2023.105632. 
  3. 3.0 3.1 3.2 Kalman, R. E. (1960). "A New Approach to Linear Filtering and Prediction Problems". Journal of Basic Engineering 82 (1): 35–45. doi:10.1115/1.3662552. 
  4. Harvey, A. C. (1990). Forecasting, Structural Time Series Models and the Kalman Filter. Cambridge University Press. ISBN 978-0-521-40573-7. 
  5. Durbin, J.; Koopman, S. J. (2012). Time Series Analysis by State Space Methods (2nd ed.). Oxford University Press. ISBN 978-0-19-964117-8. 
  6. Bell, B. M.; Cathey, F. W. (1993). "The iterated Kalman filter update as a Gauss–Newton method". IEEE Transactions on Automatic Control 38 (2): 294–297. doi:10.1109/9.250476. 

Further reading

  • Durbin, J.; Koopman, S. J. (2012). Time Series Analysis by State Space Methods (2nd ed.). Oxford University Press. ISBN 978-0-19-964117-8. 
  • Harvey, A. C. (1990). Forecasting, Structural Time Series Models and the Kalman Filter. Cambridge University Press. ISBN 978-0-521-40573-7. 
  • Lange, R.-J. (2024). "Short and simple introduction to Bellman filtering and smoothing". arXiv:2405.12668 [stat.ME].
  • Kalman, R. E. (1960). "A New Approach to Linear Filtering and Prediction Problems". Journal of Basic Engineering 82 (1): 35–45. doi:10.1115/1.3662552. 
  • Rauch, H. E.; Tung, F.; Striebel, C. T. (1965). "Maximum likelihood estimates of linear dynamic systems". AIAA Journal 3 (8): 1445–1450. doi:10.2514/3.3166.