Learn R Programming

gmvarkit (version 1.4.2)

sort_components: Sort components in parameter vector according to mixing weights into a decreasing order

Description

sort_components sorts mixture components in the parameter vector according to mixing weights into a decreasing order.

Usage

sort_components(p, M, d, params, structural_pars = NULL)

Arguments

p

a positive integer specifying the autoregressive order of the model.

M

a positive integer specifying the number of mixture components.

d

the number of time series in the system.

params

a real valued vector specifying the parameter values.

For reduced form model:

Should be size \(((M(pd^2+d+d(d+1)/2+1)-1)x1)\) and have form \(\theta\)\( = \)(\(\upsilon\)\(_{1}\), ...,\(\upsilon\)\(_{M}\), \(\alpha_{1},...,\alpha_{M-1}\)), where:

  • \(\upsilon\)\(_{m}\) \( = (\phi_{m,0},\)\(\phi\)\(_{m}\)\(,\sigma_{m})\)

  • \(\phi\)\(_{m}\)\( = (vec(A_{m,1}),...,vec(A_{m,p})\)

  • and \(\sigma_{m} = vech(\Omega_{m})\), m=1,...,M.

For structural GMVAR model:

Should have the form \(\theta\)\( = (\phi_{1,0},...,\phi_{M,0},\)\(\phi\)\(_{1},...,\)\(\phi\)\(_{M}, vec(W),\)\(\lambda\)\(_{2},...,\)\(\lambda\)\(_{M},\alpha_{1},...,\alpha_{M-1})\), where

  • \(\lambda\)\(_{m}=(\lambda_{m1},...,\lambda_{md})\) contains the eigenvalues of the \(m\)th mixture component.

Above, \(\phi_{m,0}\) is the intercept parameter, \(A_{m,i}\) denotes the \(i\):th coefficient matrix of the \(m\):th mixture component, \(\Omega_{m}\) denotes the error term covariance matrix of the \(m\):th mixture component, and \(\alpha_{m}\) is the mixing weight parameter. The \(W\) and \(\lambda_{mi}\) are structural parameters replacing the error term covariance matrices (see Virolainen, 2020). If \(M=1\), \(\alpha_{m}\) and \(\lambda_{mi}\) are dropped.

If parametrization=="mean", just replace each \(\phi_{m,0}\) with the 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. The notation is in line with the cited article by KMS (2016) introducing the GMVAR model.

structural_pars

If NULL a reduced form model is considered. For structural model, should be a list containing the following elements:

  • W - a \((dxd)\) matrix with its entries imposing constraints on \(W\): NA indicating that the element is unconstrained, a positive value indicating strict positive sign constraint, a negative value indicating strict negative sign constraint, and zero indicating that the element is constrained to zero.

  • C_lambda - a \((d(M-1) x r)\) constraint matrix that satisfies (\(\lambda\)\(_{2}\)\(,...,\) \(\lambda\)\(_{M}) =\) \(C_{\lambda} \gamma\) where \(\gamma\) is the new \((r x 1)\) parameter subject to which the model is estimated (similarly to AR parameter constraints). The entries of C_lambda must be either positive or zero. Ignore (or set to NULL) if the eigenvalues \(\lambda_{mi}\) should not be constrained.

See Virolainen (2020) for the conditions required to identify the shocks and for the B-matrix as well (it is \(W\) times a time-varying diagonal matrix with positive diagonal entries).

Value

Returns sorted parameter vector...

For reduced form GMVAR model:

...with \(\alpha_{1}>...>\alpha_{M}\), that has form \(\theta\)\( = \)(\(\upsilon_{1}\),...,\(\upsilon_{M}\), \(\alpha_{1},...,\alpha_{M-1}\)), where:

  • \(\upsilon_{m}\) \( = (\phi_{m,0},\)\(\phi_{m}\)\(,\sigma_{m})\)

  • \(\phi_{m}\)\( = (vec(A_{m,1}),...,vec(A_{m,1})\)

  • and \(\sigma_{m} = vech(\Omega_{m})\), m=1,...,M.

For structural GMVAR model:

...with \(\alpha_{1}>...>\alpha_{M}\), that has form \(\theta\)\( = (\phi_{1,0},...,\phi_{M,0},\)\(\phi\)\(_{1},...,\)\(\phi\)\(_{M}, vec(W),\)\(\lambda\)\(_{2},...,\)\(\lambda\)\(_{M},\alpha_{1},...,\alpha_{M-1})\), where

  • \(\lambda\)\(_{m}=(\lambda_{m1},...,\lambda_{md})\) contains the eigenvalues of the \(m\)th mixture component.

Note that if the first regime changes as a result of the sorting, the W and lambda parameters change (see details)!

Above, \(\phi_{m,0}\) is the intercept parameter, \(A_{m,i}\) denotes the \(i\):th coefficient matrix of the \(m\):th component, \(\Omega_{m}\) denotes the error term covariance matrix of the \(m\):th component, and \(\alpha_{m}\) is the mixing weight parameter. The \(W\) and \(\lambda_{mi}\) are structural parameters replacing the error term covariance matrices (see Virolainen, 2020). If \(M=1\), \(\alpha_{m}\) and \(\lambda_{mi}\) are dropped.

\(vec()\) is vectorization operator that stack columns of the given matrix into a vector. \(vech()\) stacks columns of the given matrix from the principal diagonal downwards (including elements on the diagonal) to form a vector. The notation is in line with the cited article by KMS (2016) introducing the GMVAR model.

Warning

No argument checks!

Details

Constrained parameter vectors are not supported (expect for constraints in W but including constraining some mean parameters to be the same among different regimes)! For structural models, sorting the regimes in a decreasing order requires re-parametrizing the decomposition of the covariance matrices if the first regime changes. As a result, the sorted parameter vector will differ from the given one not only by the ordering of the elements but also by some of the parameter values.

References

  • Kalliovirta L., Meitz M. and Saikkonen P. 2016. Gaussian mixture vector autoregression. Journal of Econometrics, 192, 485-498.

  • Virolainen S. 2020. Structural Gaussian mixture vector autoregressive model. Unpublished working paper, available as arXiv:2007.04713.