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)
KalmanRun(y, mod, nit = 0)
KalmanSmooth(y, mod, nit = 0)
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.

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.

References

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

`arima`, `StructTS`. `tsSmooth`.