Rev 40615 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
\name{KalmanLike}\alias{KalmanLike}\alias{KalmanRun}\alias{KalmanSmooth}\alias{KalmanForecast}\alias{makeARIMA}\title{Kalman Filtering}\description{Use Kalman Filtering to find the (Gaussian) log-likelihood, or forforecasting 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{\item{y}{a univariate time series.}\item{mod}{A list describing the state-space model: see Details.}\item{nit}{The time at which the initialization is computed.\code{nit = 0} implies that the initialization is for a one-stepprediction, so \code{Pn} should not be computed at the first step.}\item{n.ahead}{The number of steps ahead for which prediction isrequired.}\item{phi, theta}{numeric vectors of length \eqn{\ge 0}{>=0} giving ARand MA parameters.}\item{Delta}{vector of differencing coefficients, so an ARMA model isfitted to \code{y[t] - Delta[1]*y[t-1] - \dots}.}\item{kappa}{the prior variance (as a multiple of the innovationsvariance) for the past observations in a differenced model.}\item{fast}{If \code{TRUE} the \code{mod} object may be modified.}}\details{These functions work with a general univariate state-space modelwith state vector \code{a}, transitions \code{a <- T a + R e},\eqn{e \sim {\cal N}(0, \kappa Q)}{e \~ N(0, kappa Q)} and observationequation \code{y = Z'a + eta},\eqn{(eta\equiv\eta), \eta \sim {\cal N}(0, \kappa h)}{eta ~ N(0, \kappa h)}.The likelihood is a profile likelihood after estimation of \eqn{\kappa}.The model is specified as a list with at least components\describe{\item{\code{T}}{the transition matrix}\item{\code{Z}}{the observation coefficients}\item{\code{h}}{the observation variance}\item{\code{V}}{\code{RQR'}}\item{\code{a}}{the current state estimate}\item{\code{P}}{the current estimate of the state uncertainty matrix}\item{\code{Pn}}{the estimate at time \eqn{t-1} of the stateuncertainty matrix}}\code{KalmanSmooth} is the workhorse function for \code{\link{tsSmooth}}.\code{makeARIMA} constructs the state-space model for an ARIMA model.}\value{For \code{KalmanLike}, a list with components \code{Lik} (thelog-likelihood less some constants) and \code{s2}, the estimate ofof \eqn{\kappa}.For \code{KalmanRun}, a list with components \code{values}, a vectorof length 2 giving the output of \code{KalmanLike}, \code{resid} (theresiduals) and \code{states}, the contemporaneous state estimates,a matrix with one row for each time.For \code{KalmanSmooth}, a list with two components.Component \code{smooth} is a \code{n} by \code{p} matrix of stateestimates based on all the observations, with one row for each time.Component \code{var} is a \code{n} by \code{p} by \code{p} array ofvariance matrices.For \code{KalmanForecast}, a list with components \code{pred}, thepredictions, and \code{var}, the unscaled variances of the predictionerrors (to be multiplied by \code{s2}).For \code{makeARIMA}, a model list including components forits arguments.}\section{Warning}{These functions are designed to be called from other functions whichcheck the validity of the arguments passed, so very little checking isdone.In particular, \code{KalmanLike} alters the objects passed asthe elements \code{a}, \code{P} and \code{Pn} of \code{mod}, so theseshould not be shared. Use \code{fast=FALSE} to prevent this.}\references{Durbin, J. and Koopman, S. J. (2001) \emph{Time Series Analysis byState Space Methods.} Oxford University Press.}\seealso{\code{\link{arima}}, \code{\link{StructTS}}. \code{\link{tsSmooth}}.}\keyword{ts}