Last chance! 50% off unlimited learning
Sale ends in
isStationary
checks the stationarity condition of the specified GMAR, StMAR, or G-StMAR model.
isStationary(
p,
M,
params,
model = c("GMAR", "StMAR", "G-StMAR"),
restricted = FALSE,
constraints = NULL
)
a positive integer specifying the autoregressive order of the model.
a positive integer specifying the number of mixture components.
a size (2x1) integer vector specifying the number of GMAR type components M1
in the
first element and StMAR type components M2
in the second element. The total number of mixture components is M=M1+M2
.
a real valued parameter vector specifying the model.
Size
Size
Size
Replace the vectors
Size
Size
Size
Replace the vector
Symbol parametrization=="mean"
, just replace each intercept term M1
components are GMAR type
and the rest M2
components are StMAR type.
Note that in the case M=1, the parameter
is "GMAR", "StMAR", or "G-StMAR" model considered? In the G-StMAR model, the first M1
components
are GMAR type and the rest M2
components are StMAR type.
a logical argument stating whether the AR coefficients
specifies linear constraints applied to the autoregressive parameters.
a list of size
a size
Symbol p
for all regimes.
Ignore or set to NULL
if applying linear constraints is not desired.
Returns TRUE
or FALSE
accordingly.
This function falsely returns FALSE
for stationary models when the parameter is extremely close
to the boundary of the stationarity region.
Kalliovirta L., Meitz M. and Saikkonen P. 2015. Gaussian Mixture Autoregressive model for univariate time series. Journal of Time Series Analysis, 36, 247-266.
Meitz M., Preve D., Saikkonen P. 2018. A mixture autoregressive model based on Student's t-distribution. arXiv:1805.04010 [econ.EM].
Virolainen S. 2020. A mixture autoregressive model based on Gaussian and Student's t-distribution. arXiv:2003.05221 [econ.EM].
# NOT RUN {
# GMAR model
params22 <- c(0.4, 0.39, 0.6, 0.3, 0.4, 0.1, 0.6, 0.3, 0.8)
isStationary(2, 2, params22)
# StMAR model
params12t <- c(-0.3, 1, 0.9, 0.1, 0.8, 0.6, 0.7, 10, 12)
isStationary(1, 2, params12t, model="StMAR")
# G-StMAR model
params12gs <- c(1, 0.1, 1, 2, 0.2, 2, 0.8, 20)
isStationary(1, c(1, 1), params12gs, model="G-StMAR")
# Restricted GMAR model
params13r <- c(0.1, 0.2, 0.3, -0.99, 0.1, 0.2, 0.3, 0.5, 0.3)
isStationary(1, 3, params13r, restricted=TRUE)
# Restricted StMAR model
params22tr <- c(-0.1, -0.2, 0.01, 0.99, 0.3, 0.4, 0.9, 3, 13)
isStationary(2, 2, params22tr, model="StMAR", restricted=TRUE)
# Restricted G-StMAR model
params13gsr <- c(1, 2, 3, -0.99, 1, 2, 3, 0.5, 0.4, 20, 30)
isStationary(1, c(1, 2), params13gsr, model="G-StMAR", restricted=TRUE)
# GMAR model as a mixture of AR(2) and AR(1) models
constraints <- list(diag(1, ncol=2, nrow=2), as.matrix(c(1, 0)))
params22c <- c(1.2, 0.8, 0.2, 0.3, 3.3, 0.7, 3, 0.8)
isStationary(2, 2, params22c, constraints=constraints)
# 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(1, 2, 0.8, -0.3, 1, 2, 0.7, 11, 12)
isStationary(3, 2, params32trc, model="StMAR", restricted=TRUE,
constraints=matrix(c(1, 0, 0, 0, 0, 1), ncol=2))
# }
Run the code above in your browser using DataLab