stab_conds_satisfied: Check the stability condition for each of the regimes

View source: R/argumentChecks.R

stab_conds_satisfiedR Documentation

Check the stability condition for each of the regimes

Description

stab_conds_satisfied checks whether the stability condition is satisfied for each of the regimes.

Usage

stab_conds_satisfied(p, M, d, params, all_boldA = NULL, tolerance = 0.001)

Arguments

p

the autoregressive order of the model

M

the number of regimes

d

the number of time series in the system, i.e., the dimension

params

a real valued vector specifying the parameter values. Should have the form \theta = (\phi_{1},...,\phi_{M},\varphi_1,...,\varphi_M,\sigma,\alpha,\nu), where (see exceptions below):

  • \phi_{m} = the (d \times 1) intercept (or mean) vector of the mth regime.

  • \varphi_m = (vec(A_{m,1}),...,vec(A_{m,p})) (pd^2 \times 1).

  • if cond_dist="Gaussian" or "Student":

    \sigma = (vech(\Omega_1),...,vech(\Omega_M)) (Md(d + 1)/2 \times 1).

    if cond_dist="ind_Student" or "ind_skewed_t":

    \sigma = (vec(B_1),...,vec(B_M) (Md^2 \times 1).

  • \alpha = the (a\times 1) vector containing the transition weight parameters (see below).

  • if cond_dist = "Gaussian"):

    Omit \nu from the parameter vector.

    if cond_dist="Student":

    \nu > 2 is the single degrees of freedom parameter.

    if cond_dist="ind_Student":

    \nu = (\nu_1,...,\nu_d) (d \times 1), \nu_i > 2.

    if cond_dist="ind_skewed_t":

    \nu = (\nu_1,...,\nu_d,\lambda_1,...,\lambda_d) (2d \times 1), \nu_i > 2 and \lambda_i \in (0, 1).

For models with...

weight_function="relative_dens":

\alpha = (\alpha_1,...,\alpha_{M-1}) (M - 1 \times 1), where \alpha_m (1\times 1), m=1,...,M-1 are the transition weight parameters.

weight_function="logistic":

\alpha = (c,\gamma) (2 \times 1), where c\in\mathbb{R} is the location parameter and \gamma >0 is the scale parameter.

weight_function="mlogit":

\alpha = (\gamma_1,...,\gamma_M) ((M-1)k\times 1), where \gamma_m (k\times 1), m=1,...,M-1 contains the multinomial logit-regression coefficients of the mth regime. Specifically, for switching variables with indices in I\subset\lbrace 1,...,d\rbrace, and with \tilde{p}\in\lbrace 1,...,p\rbrace lags included, \gamma_m contains the coefficients for the vector z_{t-1} = (1,\tilde{z}_{\min\lbrace I\rbrace},...,\tilde{z}_{\max\lbrace I\rbrace}), where \tilde{z}_{i} =(y_{it-1},...,y_{it-\tilde{p}}), i\in I. So k=1+|I|\tilde{p} where |I| denotes the number of elements in I.

weight_function="exponential":

\alpha = (c,\gamma) (2 \times 1), where c\in\mathbb{R} is the location parameter and \gamma >0 is the scale parameter.

weight_function="threshold":

\alpha = (r_1,...,r_{M-1}) (M-1 \times 1), where r_1,...,r_{M-1} are the threshold values.

weight_function="exogenous":

Omit \alpha from the parameter vector.

identification="heteroskedasticity":

\sigma = (vec(W),\lambda_2,...,\lambda_M), where W (d\times d) and \lambda_m (d\times 1), m=2,...,M, satisfy \Omega_1=WW' and \Omega_m=W\Lambda_mW', \Lambda_m=diag(\lambda_{m1},...,\lambda_{md}), \lambda_{mi}>0, m=2,...,M, i=1,...,d.

Above, \phi_{m} is the intercept parameter, A_{m,i} denotes the ith coefficient matrix of the mth regime, \Omega_{m} denotes the positive definite error term covariance matrix of the mth regime, and B_m is the invertible (d\times d) impact matrix of the mth regime. \nu_m is the degrees of freedom parameter of the mth regime. If parametrization=="mean", just replace each \phi_{m} with regimewise mean \mu_{m}.

all_boldA

3D array containing the ((dp)x(dp)) "bold A" (companion form) matrices of each regime, obtained from form_boldA. Will be computed if not given.

tolerance

Returns FALSE if modulus of any eigenvalue of "bold A" is larger or equal to 1-tolerance.

Details

Does not support constrained parameter vectors.

Value

Returns TRUE if the stability condition is satisfied for all regimes and FALSE if not. According to the argument tolerance, stab_conds_satisfied may return FALSE when the parameter vector satisfies the stability conditions but is very close to the boundary (this is used to ensure numerical stability in the estimation of the model parameters).

Warning

No argument checks!

References

  • Lütkepohl H. 2005. New Introduction to Multiple Time Series Analysis, Springer.


sstvars documentation built on April 11, 2025, 5:47 p.m.