Learn R Programming

KFAS (version 1.2.5)

rstandard.KFS: Extract Standardized Residuals from KFS output

Description

Extract Standardized Residuals from KFS output

Usage

"rstandard"(model, type = c("recursive", "pearson", "state"), standardization_type = c("marginal", "cholesky"), ...)

Arguments

model
KFS object
type
Type of residuals. See details.
standardization_type
Type of standardization. Either "marginal" (default) for marginal standardization or "cholesky" for Cholesky-type standardization.
...
Ignored.

Details

For object of class KFS with fully Gaussian observations, several types of standardized residuals can be computed. Also the standardization for multivariate residuals can be done either by Cholesky decomposition $L^(-1)[t]residual[t]$ or component-wise $residual[t]/sd(residual[t])$.

  • "recursive": For Gaussian models the vector standardized one-step-ahead prediction residuals are defined as $$v_{t,i}/\sqrt{F_{i,t}},$$ with residuals being undefined in diffuse phase. Note that even in multivariate case these standardized residuals coincide with the ones obtained from the Kalman filter without the sequential processing (which is not true for the non-standardized innovations). For non-Gaussian models the vector standardized recursive residuals are obtained as $$L^{-1}_t (y_{t}-\mu_{t}),$$ where $L[t]$ is the lower triangular matrix from Cholesky decomposition of $Var(y[t]|y[t-1],\ldots,y[1])$. Computing these for large non-Gaussian models can be time consuming as filtering is needed.

For Gaussian models the component-wise standardized one-step-ahead prediction residuals are defined as $$v_{t}/\sqrt{diag(F_{t})},$$ where $v[t]$ and $F[t]$ are based on the standard multivariate processing. For non-Gaussian models these are obtained as $$(y_{t}-\mu_{t})/\sqrt{diag(F_t)},$$ where $F[t]=Var(y[t]|y[t-1],\ldots,y[1])$.

  • "state": Residuals based on the smoothed state disturbance terms $\eta$ are defined as $$L^{-1}_t \hat \eta_t, \quad t=1,\ldots,n,$$ where $L[t]$ is either the lower triangular matrix from Cholesky decomposition of $Q[t] - V[\eta,t]$, or the diagonal of the same matrix.
  • "pearson": Standardized Pearson residuals $$L^{-1}_t(y_{t}-\theta_{i}), \quad t=1,\ldots,n,$$ where $L[t]$ is the lower triangular matrix from Cholesky decomposition of $Var(y[t]|y[n],\ldots,y[1])$, or the diagonal of the same matrix. For Gaussian models, these coincide with the standardized smoothed $\epsilon$ disturbance residuals, and for generalized linear models these coincide with the standardized Pearson residuals (hence the name).
  • 'deviance': Deviance residuals. Deprecated. This option was meant to be used only for the GLM comparisons, as their generalization to other models is lacking, but these will be completely removed in future in order to avoid misleading results in non-GLM settings.
  • Examples

    Run this code
    modelNile <- SSModel(Nile ~ SSMtrend(1, Q = list(matrix(NA))), H = matrix(NA))
    modelNile <- fitSSM(inits = c(log(var(Nile)),log(var(Nile))), model = modelNile,
      method = "BFGS")$model
    # Filtering and state smoothing
    out <- KFS(modelNile, smoothing = c("state", "mean", "disturbance"))
    
    plot(cbind(
        recursive = rstandard(out),
        irregular = rstandard(out, "pearson"),
        state = rstandard(out, "state")),
      main = "recursive and auxiliary residuals")
    

    Run the code above in your browser using DataLab