sort_components
sorts mixture components in the parameter vector according
to mixing weights into a decreasing order.
sort_components(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.
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.
If parametrization=="mean"
, just replace each \(\phi_{m,0}\) 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.
The notation is in line with the cited article by KMS (2016) introducing the GMVAR model.
Returns sorted parameter vector 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.
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. \(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.
No argument checks!
Constrained parameter vectors are not supported!
Kalliovirta L., Meitz M. and Saikkonen P. 2016. Gaussian mixture vector autoregression. Journal of Econometrics, 192, 485-498.