Learn R Programming

KFAS (version 1.3.7)

transformSSM: Transform Multivariate State Space Model for Sequential Processing

Description

transformSSM transforms the general multivariate Gaussian state space model to form suitable for sequential processing.

Usage

transformSSM(object, type = c("ldl", "augment"))

Arguments

object

State space model object from function SSModel.

type

Option "ldl" performs LDL decomposition for covariance matrix \(H_t\), and multiplies the observation equation with the \(L_t^{-1}\), so \(\epsilon_t^* \sim N(0,D_t)\). Option "augment" adds \(\epsilon_t\) to the state vector, so \(Q_t\) becomes block diagonal with blocks \(Q_t\) and \(H_t\).

Value

model

Transformed model.

Details

As all the functions in KFAS use univariate approach i.e. sequential processing, the covariance matrix \(H_t\) of the observation equation needs to be either diagonal or zero matrix. Function transformSSM performs either the LDL decomposition of \(H_t\), or augments the state vector with the disturbances of the observation equation.

In case of a LDL decomposition, the new \(H_t\) contains the diagonal part of the decomposition, whereas observations \(y_t\) and system matrices \(Z_t\) are multiplied with the inverse of \(L_t\). Note that although the state estimates and their error covariances obtained by Kalman filtering and smoothing are identical with those obtained from ordinary multivariate filtering, the one-step-ahead errors \(v_t\) and their variances \(F_t\) do differ. The typical multivariate versions can be obtained from output of KFS using mvInnovations function.