Forecastability triage for time series using AMI, pAMI, and covariate-aware dependence diagnostics before expensive model search.
Project description
Forecastability Triage Toolkit
Forecastability triage for time series using AMI, pAMI, and covariate-aware dependence diagnostics before expensive model search.
Why this package
Forecastability triage for time series using AMI, pAMI, and covariate-aware dependence diagnostics before expensive model search.
Install
pip install dependence-forecastability
Optional runtime extras:
pip install "dependence-forecastability[transport]"
pip install "dependence-forecastability[agent]"
Quickstart
Run one deterministic univariate triage call through the top-level facade:
from forecastability import TriageRequest, generate_ar1, run_triage
series = generate_ar1(n_samples=300, phi=0.8, random_state=42)
result = run_triage(
TriageRequest(
series=series,
goal="univariate",
max_lag=20,
n_surrogates=99,
random_state=42,
)
)
summary = {
"blocked": result.blocked,
"readiness_status": result.readiness.status.value,
"compute_surrogates": None if result.method_plan is None else result.method_plan.compute_surrogates,
"forecastability_class": None if result.interpretation is None else result.interpretation.forecastability_class,
"primary_lags": [] if result.interpretation is None else list(result.interpretation.primary_lags),
}
print(summary)
Equivalent minimal files:
Start here
- Python user: start with examples/minimal_python.py, then docs/public_api.md.
- CLI user: run examples/minimal_cli.sh, then docs/quickstart.md.
- Notebook user: open the canonical notebook notebooks/walkthroughs/00_air_passengers_showcase.ipynb.
- Maintainer/contributor: use docs/maintenance/developer_guide.md.
Canonical walkthrough
The canonical notebook is notebooks/walkthroughs/00_air_passengers_showcase.ipynb.
When to use it
Use this package when you need a deterministic pre-modeling screen to decide whether a series has exploitable structure before expensive model search.
Links
- Notebook: notebooks/walkthroughs/00_air_passengers_showcase.ipynb
- Notebook (covariant informative): notebooks/walkthroughs/01_covariant_informative_showcase.ipynb
- Quickstart: docs/quickstart.md
- PyPI: dependence-forecastability
- Issues: GitHub Issues
[!NOTE]
run_covariant_analysis()supports six methods:cross_ami,cross_pami,te,gcmi,pcmci, andpcmci_ami. The two PCMCI methods are optional and skip gracefully when the causal extra is unavailable.
Install optional causal dependencies only if you need PCMCI methods:
pip install "dependence-forecastability[causal]"
Transport and runtime entry points:
| Surface | Entry point | Stability |
|---|---|---|
| Python facade | forecastability, forecastability.triage |
Stable |
| CLI | forecastability |
Beta |
| HTTP API | forecastability.adapters.api:app |
Beta |
| Dashboard | forecastability-dashboard |
Beta |
| MCP server | adapter surface | Experimental |
| Agent narration | adapter surface | Experimental |
Repository Workflow
If you are working in the repository rather than installing the package, start here:
uv sync
Canonical maintainer scripts:
| Script | Role |
|---|---|
scripts/run_canonical_triage.py |
Canonical single-series workflow |
scripts/run_benchmark_panel.py |
Benchmark-panel workflow |
scripts/build_report_artifacts.py |
Report artifact builder |
Secondary utilities:
scripts/download_data.pyscripts/run_exog_analysis.pyscripts/check_notebook_contract.pyscripts/rebuild_benchmark_fixture_artifacts.pyscripts/rebuild_diagnostic_regression_fixtures.py
Current config status:
| Config | Current role |
|---|---|
configs/benchmark_panel.yaml |
Active benchmark-panel configuration |
configs/canonical_examples.yaml |
Descriptive reference for canonical examples, not the root runner's only source of truth |
configs/interpretation_rules.yaml |
Reference thresholds for interpretation policy |
configs/benchmark_exog_panel.yaml |
Secondary exogenous benchmark workflow |
configs/exogenous_screening_workbench.yaml |
Secondary workbench configuration |
configs/robustness_study.yaml |
Secondary robustness-study workflow |
Notebook Path And Artifact Surfaces
Canonical notebook:
Follow-on notebooks:
notebooks/walkthroughs/01through04notebooks/triage/01through06for deep dives
Main checked-in artifact surfaces:
outputs/json/canonical_examples_summary.jsonand related canonical JSON outputsoutputs/tables/*.csvoutputs/reports/*.md
[!NOTE] Checked-in artifacts are reference outputs. They are useful examples of the output surface, but they should not be treated as guaranteed-fresh build products for the current working tree.
Statistical Notes
- AMI is computed per horizon rather than aggregated before computation.
- pAMI is a project extension and a linear-residual approximation, not exact conditional mutual information.
- Surrogate significance uses phase-randomized FFT surrogates with at least 99 surrogates and two-sided 95% bands.
- “Significance skipped” and “no significant lags” are different outcomes. Use
compute_surrogatesor the route choice to tell them apart. - In rolling-origin workflows, diagnostics are computed on the training window only.
- Phase surrogates can be conservative for strongly periodic series.
Documentation Map
| Need | Start here |
|---|---|
| Documentation index by role | docs/README.md |
| Stable imports and runtime entry points | docs/public_api.md |
| Live module layout | docs/code/module_map.md |
| HTTP API contract | docs/api_contract.md |
| Notebook path | docs/notebooks/README.md |
| Contributor workflow | docs/maintenance/developer_guide.md |
For the repository-wide docs map, see docs/README.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dependence_forecastability-0.3.0.tar.gz.
File metadata
- Download URL: dependence_forecastability-0.3.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
975a70d8273b75d48f63f221ba39d2609e071b7a04bb4aea0263715698d2dff1
|
|
| MD5 |
e655880eaa70564db5f8018cd4c81bdc
|
|
| BLAKE2b-256 |
c8c9ca95c7e0d9e0abbe8382e1e7ec95318e8e30c144fb7592a1a337b63947aa
|
Provenance
The following attestation bundles were made for dependence_forecastability-0.3.0.tar.gz:
Publisher:
publish-pypi.yml on AdamKrysztopa/dependence-forecastability
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dependence_forecastability-0.3.0.tar.gz -
Subject digest:
975a70d8273b75d48f63f221ba39d2609e071b7a04bb4aea0263715698d2dff1 - Sigstore transparency entry: 1338811639
- Sigstore integration time:
-
Permalink:
AdamKrysztopa/dependence-forecastability@e5d02d5c88f0894f28789cbd6ae2ee56fb8c0a1d -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/AdamKrysztopa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e5d02d5c88f0894f28789cbd6ae2ee56fb8c0a1d -
Trigger Event:
push
-
Statement type:
File details
Details for the file dependence_forecastability-0.3.0-py3-none-any.whl.
File metadata
- Download URL: dependence_forecastability-0.3.0-py3-none-any.whl
- Upload date:
- Size: 232.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b07a577bf82cdf977d12c3627e03ccb4f653f996f7f631836772e62a7547e25c
|
|
| MD5 |
651e5775a692b2e886e8fb7f8c148cf6
|
|
| BLAKE2b-256 |
c822300075e57d88403debb3c4740d3b4f639cf1014f9c143934dd9e6aa675f5
|
Provenance
The following attestation bundles were made for dependence_forecastability-0.3.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on AdamKrysztopa/dependence-forecastability
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dependence_forecastability-0.3.0-py3-none-any.whl -
Subject digest:
b07a577bf82cdf977d12c3627e03ccb4f653f996f7f631836772e62a7547e25c - Sigstore transparency entry: 1338811653
- Sigstore integration time:
-
Permalink:
AdamKrysztopa/dependence-forecastability@e5d02d5c88f0894f28789cbd6ae2ee56fb8c0a1d -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/AdamKrysztopa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@e5d02d5c88f0894f28789cbd6ae2ee56fb8c0a1d -
Trigger Event:
push
-
Statement type: