KalmanLike {stats}R Documentation

Kalman Filtering

Description

Use Kalman Filtering to find the (Gaussian) log-likelihood, or for forecasting or smoothing.

Usage

KalmanLike(y, mod, nit = 0, fast=TRUE)
KalmanRun(y, mod, nit = 0, fast=TRUE)
KalmanSmooth(y, mod, nit = 0)
KalmanForecast(n.ahead = 10, mod, fast=TRUE)
makeARIMA(phi, theta, Delta, kappa = 1e6)

Arguments

y a univariate time series.
mod A list describing the state-space model: see Details.
nit The time at which the initialization is computed. nit = 0 implies that the initialization is for a one-step prediction, so Pn should not be computed at the first step.
n.ahead The number of steps ahead for which prediction is required.
phi, theta numeric vectors of length >=0 giving AR and MA parameters.
Delta vector of differencing coefficients, so an ARMA model is fitted to y[t] - Delta[1]*y[t-1] - ....
kappa the prior variance (as a multiple of the innovations variance) for the past observations in a differenced model.
fast If TRUE the mod object may be modified.

Details

These functions work with a general univariate state-space model with state vector a, transitions a <- T a + R e, e ~ N(0, kappa Q) and observation equation y = Z'a + eta, eta ~ N(0, kappa h). The likelihood is a profile likelihood after estimation of kappa.

The model is specified as a list with at least components

T
the transition matrix
Z
the observation coeficients
h
the observation variance
V
RQR'
a
the current state estimate
P
the current estimate of the state uncertainty matrix
Pn
the estimate at time t-1 of the state uncertainty matrix

KalmanSmooth is the workhorse function for tsSmooth.

makeARIMA constructs the state-space model for an ARIMA model.

Value

For KalmanLike, a list with components Lik (the log-likelihood less some constants) and s2, the estimate of of kappa.
For KalmanRun, a list with components values, a vector of length 2 giving the output of KalmanLike, resid (the residuals) and states, the contemporaneous state estimates, a matrix with one row for each time.
For KalmanSmooth, a list with two components. Component smooth is a n by p matrix of state estimates based on all the observations, with one row for each time. Component var is a n by p by p array of variance matrices.
For KalmanForecast, a list with components pred, the predictions, and var, the unscaled variances of the prediction errors (to be muliplied by s2).
For makeARIMA, a model list including components for its arguments.

Warning

These functions are designed to be called from other functions which check the validity of the arguments passed, so very little checking is done.

In particular, KalmanLike alters the objects passed as the elements a, P and Pn of mod, so these should not be shared. Use fast=FALSE to prevent this.

References

Durbin, J. and Koopman, S. J. (2001) Time Series Analysis by State Space Methods. Oxford University Press.

See Also

arima, StructTS. tsSmooth.


[Package stats version 2.4.1 Index]