IntegrationOrderResult#
- class impulso.results.IntegrationOrderResult(*, order, alpha, max_order, regression, inconclusive, table)[source]#
Bases:
ImpulsoBaseModelResult from sequential integration-order determination.
Each variable is tested at its level, then differenced and re-tested, until ADF rejects a unit root or max_order is reached. ADF drives the stopping rule; KPSS is recorded alongside it as a cross-check, and the two are combined into a joint_status per level:
“stationary”: ADF rejects, KPSS does not.
“unit_root”: ADF does not reject, KPSS does.
“conflicting”: both reject.
“inconclusive”: neither rejects.
- Parameters:
- regression#
Deterministic terms used for the level test. Differenced series are always tested with a constant only.
- Type:
- inconclusive#
Variables whose order should not be taken at face value, either because they were still non-stationary at max_order or because the two tests disagreed at the level where the search stopped.
- table#
Long table indexed by (variable, d). Columns are adf_stat, adf_pvalue, adf_lags, adf_reject, kpss_stat, kpss_pvalue, kpss_lags, kpss_reject, kpss_pvalue_bounded, joint_status.
- Type:
Expand for references to
impulso.results.IntegrationOrderResultTesting for Stationarity and Cointegration / Integration order
- property d_max: int#
Highest integration order across the tested variables.
Consult inconclusive first. A variable still non-stationary at max_order is recorded with order = max_order, which is a floor, not a finding — so whenever inconclusive is non-empty d_max may understate the true maximum. A Toda-Yamamoto consumer that augments by d_max would then under-augment.
- model_config = {'arbitrary_types_allowed': True, 'frozen': True}#
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- summary()[source]#
Return the full level-by-level test table.
- Returns:
DataFrame indexed by (variable, d).
- Return type:
Expand for references to
impulso.results.IntegrationOrderResult.summary