stationarity_test
Back to L1.5 | Browse all axes | Browse all options
Axis
stationarity_teston sub-layerL1_5_C_stationarity_tests(layerl1_5).
Sub-layer
L1_5_C_stationarity_tests
Axis metadata
Default:
'none'Sweepable: False
Status: operational
Operational status summary
Operational: 5 option(s)
Future: 0 option(s)
Options
adf – operational
Augmented Dickey-Fuller (Said-Dickey 1984) unit-root test.
Standard unit-root test based on the autoregressive specification Δy_t = α + β t + γ y_{t-1} + Σ δ_j Δy_{t-j} + ε_t. Null hypothesis: γ = 0 (unit root). Lag length auto-selected by BIC. statsmodels adfuller backend; emits per-series test statistic, lag, and MacKinnon (1996) p-value.
When to use
Default unit-root test; lowest power but widely cited.
When NOT to use
Series with strong autocorrelation in residuals – ADF over-rejects; pair with PP or KPSS for triangulation.
References
macroforecast design Part 4: ‘diagnostic layers default-off; non-blocking; produce JSON + matplotlib views attached to manifest.diagnostics/.’
Said & Dickey (1984) ‘Testing for unit roots in autoregressive-moving average models of unknown order’, Biometrika 71(3): 599-607.
Related options: kpss, pp, multi, none
Last reviewed 2026-05-05 by macroforecast author.
kpss – operational
Kwiatkowski-Phillips-Schmidt-Shin (1992) stationarity test.
Complementary to ADF: null hypothesis is stationarity (reject = unit root). Useful for breaking ties when ADF and KPSS disagree – the variable’s stationarity status is then ambiguous and probably benefits from a transformation. statsmodels kpss backend.
When to use
Triangulating ADF results; running both is the gold-standard pre-cleaning audit.
References
macroforecast design Part 4: ‘diagnostic layers default-off; non-blocking; produce JSON + matplotlib views attached to manifest.diagnostics/.’
Kwiatkowski, Phillips, Schmidt & Shin (1992) ‘Testing the null hypothesis of stationarity against the alternative of a unit root’, JoE 54(1-3): 159-178.
Related options: adf, pp, multi
Last reviewed 2026-05-05 by macroforecast author.
multi – operational
Run ADF + KPSS + PP and stack the results into one table.
Triangulated stationarity verdict for every series. When all three reject (ADF, PP) / fail to reject (KPSS) the same direction, you have a clean stationarity verdict; conflicting results flag series for closer inspection.
When to use
Recommended default; gold-standard pre-cleaning audit.
References
macroforecast design Part 4: ‘diagnostic layers default-off; non-blocking; produce JSON + matplotlib views attached to manifest.diagnostics/.’
Related options: adf, kpss, pp
Last reviewed 2026-05-05 by macroforecast author.
none – operational
Skip stationarity tests entirely.
Useful when the panel is known stationary by construction (returns, log-changes, growth rates) and the test overhead provides no information.
When to use
Already-stationary panels (returns / log-changes); CI smoke runs.
References
macroforecast design Part 4: ‘diagnostic layers default-off; non-blocking; produce JSON + matplotlib views attached to manifest.diagnostics/.’
Last reviewed 2026-05-05 by macroforecast author.
pp – operational
Phillips-Perron (1988) unit-root test with native MacKinnon p-values.
Like ADF but corrects for serial correlation and heteroscedasticity in the residuals via a non-parametric Newey-West HAC adjustment rather than ADF’s parametric lag augmentation. v0.25 ships a native macroforecast implementation – no arch dependency required.
When to use
ADF alternative when residual autocorrelation is suspected.
References
macroforecast design Part 4: ‘diagnostic layers default-off; non-blocking; produce JSON + matplotlib views attached to manifest.diagnostics/.’
Phillips & Perron (1988) ‘Testing for a unit root in time series regression’, Biometrika 75(2): 335-346.
Related options: adf, kpss, multi
Last reviewed 2026-05-05 by macroforecast author.