VARResultBase#

class impulso.results.VARResultBase(*, idata)[source]#

Bases: ImpulsoBaseModel

Base class for VAR post-estimation results.

Subclasses that hold a single named DataArray in idata.posterior_predictive (IRF, FEVD) declare its key via the class-level _PRIMARY_KEY; this drives the shared _guard_no_time_dim check.

The abstract quartet — median(), hdi(), to_dataframe(), plot() — is the whole of what impulso.plotting is written against. Every plotting function consumes this interface and the result’s own accessors, never the raw posterior internals behind them, which is what makes the base class worth having: a new result becomes plottable by implementing the quartet, and a change to the draw layout stays inside the result that owns it.

Not every result implements the quartet, deliberately. It is for results carrying posterior draws; the diagnostic results — GrangerCausalityResult, LagOrderResult, StationarityTestResult, CointegrationTestResult, IntegrationOrderResult — are not posterior-shaped, so they inherit ImpulsoBaseModel directly and offer summary() instead. “Result object” therefore does not imply the quartet.

Parameters:

idata (InferenceData)

idata#

InferenceData-schema container holding the result draws (arviz.InferenceData on ArviZ 0, xarray.DataTree on ArviZ 1).

Type:

arviz.data.inference_data.InferenceData

abstractmethod hdi(prob=0.89)[source]#

Compute highest density interval.

Parameters:

prob (float) – Probability mass for the HDI. Default 0.89.

Return type:

HDIResult

abstractmethod median()[source]#

Compute posterior median of the result.

Return type:

DataFrame

model_config = {'arbitrary_types_allowed': True, 'frozen': True}#

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

abstractmethod plot()[source]#

Plot the result. Subclasses must implement.

Return type:

Figure

abstractmethod to_dataframe()[source]#

Convert result to a tidy DataFrame.

Return type:

DataFrame