KalmanLike {stats} | R Documentation |
Use Kalman Filtering to find the (Gaussian) log-likelihood, or for forecasting or smoothing.
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)
y |
a univariate time series. |
mod |
A list describing the state-space model: see ‘Details’. |
nit |
The time at which the initialization is computed.
|
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 |
kappa |
the prior variance (as a multiple of the innovations variance) for the past observations in a differenced model. |
fast |
If |
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 coefficients
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.
For KalmanLike
, a list with components Lik
(the
log-likelihood less some constants) and s2
, the estimate 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 multiplied by s2
).
For makeARIMA
, a model list including components for
its arguments.
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.
Durbin, J. and Koopman, S. J. (2001) Time Series Analysis by State Space Methods. Oxford University Press.