sort_components
sorts mixture components in the parameter vector by
by 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.
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 notations are in line with the cited article by KMS (2016).
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 notations are in line with the cited article by KMS (2016)
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.