The KALCVS call uses backward recursions to compute the smoothed
estimate and its covariance matrix, ,
where T is the number of observations in the complete data set.
- CALL KALCVS( sm, vsm, data, a, f, b, h,
var, pred, vpred <,un, vun>);
The inputs to the KALCVS subroutine are as follows:
The KALCVS call returns the following values:
- is a T ×Ny matrix containing
data (y1, ... , yT)'.
- is an Nz ×1 vector for a time-invariant input
vector in the transition equation, or a TNz ×1
vector containing input vectors in the transition equation.
- is an Nz ×Nz matrix for a time-invariant
transition matrix in the transition equation, or a
TNz ×Nz matrix containing T transition matrices.
- is an Ny ×1 vector for a time-invariant input vector
in the measurement equation, or a TNy ×1 vector
containing input vectors in the measurement equation.
- is an Ny ×Nz matrix for a time-invariant
measurement matrix in the measurement equation, or
a TNy ×Nz matrix containing T time
variant Ht matrices in the measurement equation.
- is an (Ny + Nz) ×(Ny + Nz) covariance matrix
for the errors in the transition and the measurement
equations, or a T(Ny + Nz) ×(Ny + Nz)
matrix containing covariance matrices in the transition
equation and measurement equation noises, that is,
- is a T ×Nz matrix containing one-step
- is a TNz ×Nz matrix containing mean
square error matrices of predicted state vectors
- is an optional 1 ×Nz vector containing .The returned value is .
- is an optional Nz ×Nz matrix containing UT.
The returned value is U0.
When the Kalman filtering is performed in the
KALCVF call, the KALCVS call computes smoothed
state vectors and their covariance matrices.
The fixed-interval smoothing state vector at time t is
obtained by the conditional expectation given all observations.
- is a T ×Nz matrix containing smoothed state
- is a TNz ×Nz matrix containing covariance matrices of
smoothed state vectors .
The smoothing algorithm uses one-step forecasts and their
covariance matrices, which are given in the KALCVF call.
For notation, is the smoothed value
of the state vector zt, and the mean
square error matrix is denoted .For smoothing,
where t = T, T-1, ... , 1.
The initial values are and UT = 0.
When the SSM is specified using the
alternative transition equation
the fixed-interval smoothing is performed
using the following backward recursions:
where it is assumed that Gt = 0.
You can use the KALCVS call regardless of the specification
of the transition equation when Gt = 0.
Harvey (1989) gives the following fixed-interval
smoothing formula, which produces the same smoothed value:
under the shifted transition equation, but
under the alternative transition equation.
The KALCVS call is accompanied by the
KALCVF call, as shown in the following code.
Note that you do not need to specify UN and VUN.
You can also compute the smoothed estimate and its
covariance matrix on an observation-by-observation basis.
When the SSM is time invariant, the
following example performs smoothing.
In this situation, you should initialize
UN and VUN as matrices of value 0.
n = nrow(y);
nz = ncol(f);
un = j(1,nz,0);
vun = j(nz,nz,0);
do i = 1 to n;
y_i = y[n-i+1,];
pred_i = pred[n-i+1,];
vpred_i = vpred[(n-i)*nz+1:(n-i+1)*nz,];
sm = sm_i // sm;
vsm = vsm_i // vsm;
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.