Learn R Programming

uGMAR (version 1.0.1)

quantileResidualTests: Quantile residual tests for GMAR or StMAR model

Description

quantileResidualTests performs quantile residual tests for GMAR or StMAR model, testing normality, autocorrelation and conditional heteroscedasticy.

Usage

quantileResidualTests(data, p, M, params, StMAR = FALSE, restricted = FALSE,
  constraints = FALSE, R, lagsAC = c(1, 2, 4, 6, 8, 10), lagsCH = c(1, 2,
  4, 6, 8, 10), nsimu = 2000, printRes = TRUE)

Arguments

data

a numeric vector or column matrix containing the data. NA values are not supported.

p

a positive integer specifying the order of AR coefficients.

M

a positive integer specifying the number of mixture components or regimes.

params

a real valued parameter vector specifying the model.

For non-restricted models:

For GMAR model:

Size \((M(p+3)-1x1)\) vector \(\theta\)\(=\)(\(\upsilon_{1}\),...,\(\upsilon_{M}\), \(\alpha_{1},...,\alpha_{M-1}\)), where \(\upsilon_{m}\)\(=(\phi_{m,0},\)\(\phi_{m}\)\(, \sigma_{m}^2)\) and \(\phi_{m}\)=\((\phi_{m,1},...,\phi_{m,p}), m=1,...,M\).

For StMAR model:

Size \((M(p+4)-1x1)\) vector (\(\theta, \nu\))\(=\)(\(\upsilon_{1}\),...,\(\upsilon_{M}\), \(\alpha_{1},...,\alpha_{M-1}, \nu_{1},...,\nu_{M}\)).

With linear constraints:

Replace the vectors \(\phi_{m}\) with vectors \(\psi_{m}\) and provide a list of constraint matrices R that satisfy \(\phi_{m}\)\(=\)\(R_{m}\psi_{m}\) for all \(m=1,...,M\), where \(\psi_{m}\)\(=(\psi_{m,1},...,\psi_{m,q_{m}})\).

For restricted models:

For GMAR model:

Size \((3M+p-1x1)\) vector \(\theta\)\(=(\phi_{1,0},...,\phi_{M,0},\)\(\phi\)\(, \sigma_{1}^2,...,\sigma_{M}^2,\alpha_{1},...,\alpha_{M-1})\), where \(\phi\)=\((\phi_{1},...,\phi_{M})\).

For StMAR model:

Size \((4M+p-1x1)\) vector (\(\theta, \nu\))\(=(\phi_{1,0},...,\phi_{M,0},\)\(\phi\)\(, \sigma_{1}^2,...,\sigma_{M}^2,\alpha_{1},...,\alpha_{M-1}, \nu_{1},...,\nu_{M})\).

With linear constraints:

Replace the vector \(\phi\) with vector \(\psi\) and provide a constraint matrix \(R\) that satisfies \(\phi\)\(=\)\(R\psi\), where \(\psi\)\(=(\psi_{1},...,\psi_{q})\).

Symbol \(\phi\) denotes an AR coefficient, \(\sigma^2\) a variance, \(\alpha\) a mixing weight and \(v\) a degrees of freedom parameter. Note that in the case M=1 the parameter \(\alpha\) is dropped, and in the case of StMAR model the degrees of freedom parameters \(\nu_{m}\) have to be larger than \(2\).

StMAR

an (optional) logical argument stating whether StMAR model should be considered instead of GMAR model. Default is FALSE.

restricted

an (optional) logical argument stating whether the AR coefficients \(\phi_{m,1},...,\phi_{m,p}\) are restricted to be the same for all regimes. Default is FALSE.

constraints

an (optional) logical argument stating whether general linear constraints should be applied to the model. Default is FALSE.

R

Specifies the linear constraints.

For non-restricted models:

a list of size \((pxq_{m})\) constraint matrices \(R_{m}\) of full column rank satisfying \(\phi_{m}\)\(=\)\(R_{m}\psi_{m}\) for all \(m=1,...,M\), where \(\phi_{m}\)\(=(\phi_{m,1},...,\phi_{m,p})\) and \(\psi_{m}\)\(=(\psi_{m,1},...,\psi_{m,q_{m}})\).

For restricted models:

a size \((pxq)\) constraint matrix \(R\) of full column rank satisfying \(\phi\)\(=\)\(R\psi\), where \(\phi\)\(=(\phi_{1},...,\phi_{p})\) and \(\psi\)\(=\psi_{1},...,\psi_{q}\).

Symbol \(\phi\) denotes an AR coefficient. Note that regardless of any constraints, the nominal order of AR coefficients is alway p for all regimes. This argument is ignored if constraints==FALSE.

lagsAC

an (optional) numeric vector of positive integers specifying the lags for which autocorrelation is tested. Default is c(1, 2, 4, 6, 8, 10).

lagsCH

an (optional) numeric vector of positive integers specifying the lags for which conditional heteroscedasticy is tested. Default is c(1, 2, 4, 6, 8, 10).

nsimu

an (optional) positive integer specifying to how many simulated observations the covariance matrix Omega should be based on. If smaller than data size, then omega will be based on the given data. Default is 2000.

printRes

an (optional) logical argument defining wether results should be printed or not. Default is TRUE.

Value

a list of data frames containing the test results:

$normality

A data frame containing results from the normality test. $testStat containing the test statistic and $pvalue containing the corresponding p-value.

$autocorrelation

A data frame containing results from the autocorrelation tests. $testStat containing the test statistics and $pvalue containing the corresponding p-values. $indStat containing uncentered sample autocovariances of the quantile residuals for each lag, and $stdError containing their approximate standard errors.

$cond.heteroscedasticity

A data frame containing results from the conditional heteroskedasticity tests. $testStat containing the test statistics and $pvalue containing the corresponding p-values. $indStat containing the individual statistics assiociated with each lag, and $stdError containing their approximate standard errors.

Printed results

The results from the tests are printed so that the letter "N" means normality test, "A" autocorrelation test and "H" conditional heteroscedasticity test. The numbers right next to "A" and "H" indicate the number of lags used in each test. The statistics following them are the corresponding test statistics and p-values.

Suggested packages

Install the suggested package "gsl" for faster evaluations in the cases of StMAR models. For large StMAR models with large data the evaluations may take significantly long time without the package "gsl".

Details

NA values mean that it was not (numerically) possible for the code to calculate all the necessary estimates for the tests. This may suggest that the model is misspecified.

For details about the quantile residual tests see Kalliovirta 2012 from the references.

References

  • Kalliovirta L., Meitz M. and Saikkonen P. (2015) Gaussian Mixture Autoregressive model for univariate time series. Journal of Time Series Analysis, 36, 247-266.

  • Kalliovirta L. (2012) Misspecification tests based on quantile residuals. The Econometrics Journal, 15, 358-393.

  • Lutkepohl H. New Introduction to Multiple Time Series Analysis, Springer, 2005.

  • Galbraith, R., Galbraith, J., (1974). On the inverses of some patterned matrices arising in the theory of stationary time series. Journal of Applied Probability 11, 63-71.

  • References regarding the StMAR model and general linear constraints will be updated after they are published.

Examples

Run this code
# NOT RUN {
# GMAR model
params13 <- c(1.4, 0.88, 0.26, 2.46, 0.82, 0.74, 5.0, 0.68, 5.2, 0.72, 0.2)
tests13 <- quantileResidualTests(VIX, 1, 3, params13)

# Restricted GMAR model, using the given data instead of simulated data
params12r <- c(1.4, 1.8, 0.88, 0.29, 3.18, 0.84)
tests12r <- quantileResidualTests(VIX, 1, 2, params12r, restricted=TRUE, nsimu=1)

# StMAR model
params12t <- c(1.38, 0.88, 0.27, 3.8, 0.74, 3.15, 0.8, 120, 3.6)
tests12t <- quantileResidualTests(VIX, 1, 2, params12t, StMAR=TRUE,
                                  lagsAC=c(1, 5, 10), lagsCH=c(1, 5, 10))

# GMAR model as a mixture of AR(2) and AR(1) models
R <- list(diag(1, ncol=2, nrow=2), as.matrix(c(1, 0)))
params22c <- c(1.2, 0.85, 0.04, 0.3, 3.3, 0.77, 2.8, 0.77)
tests22c <- quantileResidualTests(VIX, 2, 2, params22c, constraints=TRUE, R=R)

# Such StMAR(3,2) that the AR coefficients are restricted to be
# the same for both regimes and that the second AR coefficients are
# constrained to zero.
params32trc <- c(2.2, 1.8, 0.88, -0.03, 2.4, 0.27, 0.40, 3.9, 1000)
qr32trc <- quantileResidualTests(VIX, 3, 2, params32trc, StMAR=TRUE,
                                  restricted=TRUE, constraints=TRUE,
                                  R=matrix(c(1, 0, 0, 0, 0, 1), ncol=2),
                                  lagsAC=c(1, 5, 10), lagsCH=c(1, 5, 10))
# }

Run the code above in your browser using DataLab