DESCRIPTION:
Kalman filter for Gaussian observations assuming
linear Gaussian latent process. The specific model is
USAGE:
kalman.filter(ssm)
REQUIRED ARGUMENTS:
 ssm:
 Object of class ssm (state space
model).
The following attributes must be specified in ssm:
 Yt:
 1 × n vector containing the binomial observations.
 Ft:
 Function returning a p × 1 design vector.
 Gt:
 Function returning a p × p evolution transfer matrix.
 Vt:
 Function returning the observation variance.
 Wt:
 Function returning a p × 1 evolution variance
matrix.
 m0:
 p × 1 vector (prior mean).
 C0:
 p × p matrix (prior variance).
OPTIONAL ARGUMENTS:
The following attributes of the ssm object might be needed:
 Xt:
 Matrix containing the covariates needed in Ft,
Gt, Vt and/or Wt. This matrix must have n rows, such that
row t contains the covariates needed for generating the system
matrices at time t.
 psi:
 Parameter vector must be supplied if it is needed in
the calculation of the system matrices.
The following attributes of the ssm object are optional:
 fam:
 Tacitly assumed to have value Gaussian.
 link:
 Tacitly assumed to have value identity.
VALUE:
Returns an object of class ssm with the same
attributes as the object in the call, but with attribute
filtered updated with:
 mt:
 Posterior means m_{t} given the observations up to
and including time t. These are arranged rowwise in a matrix.
 Ct:
 Posterior variances C_{t} given the
observations up to and including time t. These are arranged in a
3dimensional array such that C_{t} is placed in filtered$Ct[,,t].
 llh:
 Loglikelihood of of the approximating Gaussian
state space model.
 Rt:
 Prior variances for the states arranged in
3dimensional array such that R_{t} is placed in
filtered$Rt[,,t]. The reason for returning these is that they
are needed in the Kalman smoother.
SIDE EFFECTS:
None
DETAILS:
This is the standard Kalman filter.
REFERENCES:
Durbin & Koopman, (2002), Time Series Analysis by State Space Models,
Oxford Statistical Science Series.
Fahrmeir & Tutz, (1994),
Multivariate
Statistical Modelling Based on Generalized Linear Models, Springer
Series in Statistics.
Klein, (2003),State Space Models for Exponential Family Data,
Ph.D. Thesis, Department of Statistics, University of Southern Denmark.
West & Harrison, (1997),
Bayesian Forecasting
and Dynamic Models, Springer Series in Statistics.
EXAMPLES:
# local level state space model
ss < ssm(
Ft = function(i, x, phi) {matrix(1,1,1)},
Gt = function(i, x, phi) {matrix(1,1,1)},
Vt = function(i, x, phi) {matrix(80,1,1)},
Wt = function(i, x, phi) {matrix(10,1,1)},
m0 = c(20),
C0 = matrix(50,1,1))
# simulate latent process and observations
ss < simulate.ssm(ss)
# set prior
ss$m0 < c(0)
# apply Kalman filter
ss < kalman.filter(ss)
# plot like Figure 1.5, upper panel
par(mfrow=c(2,1))
plot(ss$filtered$mt, ylim=c(30,60), type="l", lty=3)
lines(ss$filtered$mt+2*sqrt(ss$filtered$Ct[1,1,]),lty=2)
lines(ss$filtered$mt2*sqrt(ss$filtered$Ct[1,1,]),lty=2)
lines(ss$simulated$theta,lty=1)
# Exchange evolution and observation variances
ss$Vt < function(i, x, phi) matrix(10,1,1)
ss$Wt < function(i, x, phi) matrix(80,1,1)
# Apply Kalman filter again
ss < kalman.filter(ss)
# plot like Figure 1.5, lower panel
plot(ss$filtered$mt, ylim=c(30,60), type="l", lty=3)
lines(ss$filtered$mt+2*sqrt(ss$filtered$Ct[1,1,]),lty=2)
lines(ss$filtered$mt2*sqrt(ss$filtered$Ct[1,1,]),lty=2)
lines(ss$simulated$theta,lty=1)
