MarkovSwitchingDFM._build#

static MarkovSwitchingDFM._build(theta, n_series)[source]#

The state space a parameter vector names.

Layout of theta: loadings 2..N, log idiosyncratic variances, arctanh of the factor persistence, log factor innovation sd, the low intercept, the log intercept gap, and the two staying-logits. The gap is logged so the low state is low by construction, which is the label-ordering convention.

Parameters:
  • theta (NDArray[double]) – The (2 n_series + 5,) unconstrained parameter vector.

  • n_series (int) – Series in the panel.

Return type:

_RegimeSwitchingLinearStateSpace

Returns:

A two-regime linear state space with a scalar state.

Example

At theta = 0 the loadings are one, the variances one, the persistence zero and the chain symmetric:

>>> import numpy as np
>>> space = MarkovSwitchingDFM._build(np.zeros(2 * 3 + 5), 3)
>>> type(space).__name__, space.regime_transition.tolist()
('_RegimeSwitchingLinearStateSpace', [[0.5, 0.5], [0.5, 0.5]])