HeteroskedasticSVAR._regime_covariances#

HeteroskedasticSVAR._regime_covariances()[source]#

Per-regime second moments of the residuals.

Return type:

tuple[NDArray[double], ...]

Returns:

One (k, k) matrix per regime in label order, each the uncentered second moment resid.T @ resid / n_m of that regime’s residual rows.

Example

>>> import numpy as np
>>> from cultivars.multivariate.reduced_form.vector_autoregression import VAR
>>> rng = np.random.default_rng(0)
>>> res = VAR(rng.standard_normal((121, 2)), order=1).fit()
>>> model = HeteroskedasticSVAR(res, ["a"] * 60 + ["b"] * 60)
>>> first, second = model._regime_covariances()
>>> first.shape, bool(np.allclose(first, res.resid[:60].T @ res.resid[:60] / 60))
((2, 2), True)