Learn R Programming

astsa (version 1.1)

Kfilter2: Kalman Filter - Model may be time varying or have inputs or correlated errors

Description

Returns the filtered values in Property 6.5 on page 354 for the state-space model, (6.97) -- (6.99). In addition, the script returns the evaluation of the likelihood at the given parameter values and the innovation sequence. For demonstrations, see Example 6.11 on page 356 and Example 6.13 on page 361.

Usage

Kfilter2(num, y, A, mu0, Sigma0, Phi, Ups, Gam, Theta, cQ, cR, 
          S, input)

Arguments

num
number of observations
y
data matrix, vector or time series
A
time-varying observation matrix, an array with dim = c(q,p,n)
mu0
initial state mean
Sigma0
initial state covariance matrix
Phi
state transition matrix
Ups
state input matrix; use Ups = 0 if not needed
Gam
observation input matrix; use Gam = 0 if not needed
Theta
state error pre-matrix
cQ
Cholesky decomposition of state error covariance matrix Q -- see details below
cR
Cholesky-type decomposition of state error covariance matrix R -- see details below
S
covariance-type matrix of state and observation errors
input
matrix or vector of inputs having the same row dimension as y; use input = 0 if not needed

Value

  • xpone-step-ahead prediction of the state
  • Ppmean square prediction error
  • xffilter value of the state
  • Pfmean square filter error
  • likethe negative of the log likelihood
  • innovinnovation series
  • siginnovation covariances
  • Klast value of the gain, needed for smoothing

Details

Practically, the script only requires that Q or R may be reconstructed as t(cQ)%*%(cQ) or t(cR)%*%(cR), respectively.

References

http://www.stat.pitt.edu/stoffer/tsa3/ See also http://www.stat.pitt.edu/stoffer/tsa3/chap6.htm for an explanation of the difference between levels 0, 1, and 2.