pick_lambdas: Pick the structural parameter eigenvalues 'lambdas'

View source: R/pickParams.R

pick_lambdasR Documentation

Pick the structural parameter eigenvalues 'lambdas'

Description

pick_lambdas picks the structural parameters eigenvalue 'lambdas' from the parameter vector of a structural model identified by heteroskedasticity.

Usage

pick_lambdas(
  p,
  M,
  d,
  params,
  identification = c("reduced_form", "recursive", "heteroskedasticity",
    "non-Gaussianity")
)

Arguments

p

a positive integer specifying the autoregressive order

M

a positive integer specifying the number of regimes

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 thresholds.

weight_function="exogenous":

Omit \alpha from the parameter vector.

AR_constraints:

Replace \varphi_1,...,\varphi_M with \psi as described in the argument AR_constraints.

mean_constraints:

Replace \phi_{1},...,\phi_{M} with (\mu_{1},...,\mu_{g}) where \mu_i, \ (d\times 1) is the mean parameter for group i and g is the number of groups.

weight_constraints:

If linear constraints are imposed, replace \alpha with \xi as described in the argument weigh_constraints. If weight functions parameters are imposed to be fixed values, simply drop \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.

B_constraints:

For models identified by heteroskedasticity, replace vec(W) with \tilde{vec}(W) that stacks the columns of the matrix W in to vector so that the elements that are constrained to zero are not included. For models identified by non-Gaussianity, replace vec(B_1),...,vec(B_M) with similarly with vectorized versions B_m so that the elements that are constrained to zero are not included.

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}. vec() is vectorization operator that stacks columns of a given matrix into a vector. vech() stacks columns of a given matrix from the principal diagonal downwards (including elements on the diagonal) into a vector. Bvec() is a vectorization operator that stacks the columns of a given impact matrix B_m into a vector so that the elements that are constrained to zero by the argument B_constraints are excluded.

identification

is it reduced form model or an identified structural model; if the latter, how is it identified (see the vignette or the references for details)?

"reduced_form":

Reduced form model.

"recursive":

The usual lower-triangular recursive identification of the shocks via their impact responses.

"heteroskedasticity":

Identification by conditional heteroskedasticity, which imposes constant relative impact responses for each shock.

"non-Gaussianity":

Identification by non-Gaussianity; requires mutually independent non-Gaussian shocks, thus, currently available only with the conditional distribution "ind_Student".

Details

Constrained parameter vectors are not supported. Not even constraints in W!

Value

Returns the length (d*(M - 1)) vector (\lambda_{2},...,\lambda_{M}) (see the argument params) for structural models identified by heteroskedasticity, numeric(0) if M=1, and NULL for other models.

References

  • Lütkepohl H., Netšunajev A. 2017. Structural vector autoregressions with smooth transition in variances. Journal of Economic Dynamics & Control, 84, 43-57.


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