Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

rstandard.KFS

Extract Standardized Residuals from KFS output


Description

Extract Standardized Residuals from KFS output

Usage

## S3 method for class 'KFS'
rstandard(
  model,
  type = c("recursive", "pearson", "state"),
  standardization_type = c("marginal", "cholesky"),
  zerotol = 0,
  expected = FALSE,
  ...
)

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.

zerotol

Tolerance parameter for positivity checking in standardization. Default is zero. The values of D <= zerotol * max(D, 0) are deemed to zero.

expected

Logical value defining the approximation of H_t in case of Gamma and negative binomial distribution. Default is FALSE which matches the algorithm of Durbin & Koopman (1997), whereas TRUE uses the expected value of observations in the equations, leading to results which match with glm (where applicable). The latter case was the default behaviour of KFAS before version 1.3.8. Essentially this is the difference between observed and expected information.

...

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]/√{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]-μ[t]),

    where L[t] is the lower triangular matrix from Cholesky decomposition of Var(y[t]|y[t-1],…,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])/√{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]-μ[t])/√{diag(F[t])},

    where F[t]=Var(y[t]|y[t-1],…,y[1]).

  • "state": Residuals based on the smoothed state disturbance terms η are defined as

    L^{-1}[t] \hat η[t], t=1,…,n,

    where L[t] is either the lower triangular matrix from Cholesky decomposition of Q[t] - V[η,t], or the diagonal of the same matrix.

  • "pearson": Standardized Pearson residuals

    L^(-1)[t](y[t]-θ[t]), t=1,…,n,

    where L[t] is the lower triangular matrix from Cholesky decomposition of Var(y[t]|y[n],…,y[1]), or the diagonal of the same matrix. For Gaussian models, these coincide with the standardized smoothed ε disturbance residuals, and for generalized linear models these coincide with the standardized Pearson residuals (hence the name).

Examples

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")

KFAS

Kalman Filter and Smoother for Exponential Family State Space Models

v1.4.5
GPL (>= 2)
Authors
Jouni Helske [aut, cre] (<https://orcid.org/0000-0001-7130-793X>)
Initial release
2021-05-10

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.