Cholesky#

class impulso.identification.Cholesky(*, ordering)[source]#

Bases: ImpulsoModel

Cholesky identification scheme.

Uses the lower-triangular Cholesky decomposition of the residual covariance matrix to identify structural shocks. Variable ordering determines the causal ordering.

Parameters:

ordering (list[str])

ordering#

Ordered list of variable names (most exogenous first).

Type:

list[str]

Expand for references to impulso.identification.Cholesky

Structural Identification / Cholesky identification

Impulso

The conjugate VAR: fast Bayesian estimation / When to reach for ConjugateVAR instead of the NUTS VAR / Scope

Identification in structural VARs: Cholesky vs sign restrictions / A case study using U.S. monetary policy data / Impulse Response Function

Estimating a VAR after March 2020 / What this reproduction does and does not match

Stochastic volatility: modelling time-varying uncertainty / Model / Stochastic volatility inside a VAR

Structural Shocks in the Atmosphere

identify(L, var_names, posterior=None, data=None, n_lags=None)[source]#

Apply Cholesky identification.

For default variable ordering, identify is a no-op and returns L unchanged. When self.ordering differs from var_names, the underlying covariance is permuted and re-decomposed so the Cholesky factor reflects the requested causal ordering.

Parameters:
  • L (ndarray) – Lower-triangular Cholesky factor, shape (chains, draws, n_vars, n_vars).

  • var_names (list[str]) – Variable names in the data’s natural order.

  • posterior (xr.Dataset | None) – Unused. Accepted for Protocol uniformity.

  • data (VARData | None) – Unused. Accepted for Protocol uniformity.

  • n_lags (int | None) – Unused. Accepted for Protocol uniformity.

Returns:

Structural shock matrix, shape (chains, draws, n_vars, n_vars).

Return type:

ndarray

model_config = {'frozen': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

shock_coords(n_vars)[source]#

Cholesky shock labels are simply the causal ordering.

Parameters:

n_vars (int)

Return type:

list[str]