sort_W_and_lambdas
sorts the columns of W matrix by sorting the lambda parameters of
the second regime to increasing order.
sort_W_and_lambdas(p, M, d, params)
a positive integer specifying the autoregressive order of the model.
a positive integer specifying the number of mixture components.
the number of time series in the system.
a real valued vector specifying the parameter values.
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.
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.
Returns the sorted parameter vector (that implies the same reduced form model).
No argument checks!
Only structural models are supported (but there is no need to provide structural_pars). This function does not sort the constraints of the W matrix but just sorts the columns of the W matrix and the lambda parameters. It is mainly used in the genetic algorithm to assist estimation with better identification when the constraints are not itself strong for identification of the parameters (but are invariant to different orderings of the columns of the W matrix).
Before using this function, make sure the parameter vector is sortable: the constraints on the W matrix is invariant to different orderings of the columns, there are no zero restrictions, and there are no constraints on the lambda parameters.
Virolainen S. 2020. Structural Gaussian mixture vector autoregressive model. Unpublished working paper, available as arXiv:2007.04713.