is_stationary checks the stationarity condition of GMVAR model.
is_stationary(p, M, d, params, all_boldA = NULL)a positive integer specifying the autoregressive degree 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 colums
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).
3D array containing the \(((dp)x(dp))\) "bold A" matrices related to each mixture component VAR-process,
obtained from form_boldA(). Will be computed if not given.
Returns TRUE if the model is stationary and FALSE if not. In order to obtain numerical stability
is_stationary() may return FALSE when the parameter vector is in the stationarity region, but
very close to the boundary.
No argument checks!
Kalliovirta L., Meitz M. and Saikkonen P. 2016. Gaussian mixture vector autoregression. Journal of Econometrics, 192, 485-498.
Lutkepohl H. 2005. New Introduction to Multiple Time Series Analysis, Springer.