Skip to main content

Adaptive Structural Dependency Learning for Non-Stationary Dynamical Systems

Project description

CausalNerve

CausalNerve: online causal graph adaptation for streaming non-stationary systems.

Core Capabilities

  1. Real-time causal structure revision without retraining (see Section 6 benchmarks).
  2. Intervention simulation via Pearl's do-calculus (native) (demonstrated in Turbofan demo).
  3. Structural isolation guarantee: do(X) only affects descendants (formalized in PAPER.md).

Installation

pip install causalnerve
pip install causalnerve causalnerve-observe  # for dashboard

Upgrade Note

To upgrade to the latest stabilized version:

pip install --upgrade causalnerve causalnerve-observe

Quickstart

from causalnerve import CausalNerve
from causalnerve.datasets import SyntheticStreamGenerator

nerve = CausalNerve(nodes=6, state_dim=32)
nerve.fit(SyntheticStreamGenerator.stable(n_cycles=200), epochs=20)
nerve.watch(SyntheticStreamGenerator.with_drift(drift_at=100))

Expected output:

CausalNerve Summary
────────────────────────────────────────
Cycles processed: 200
Structural alarms: 3
Edits accepted: 1 (edge 4->2, conf=0.71)
Edits rejected: 2
Final leakage: 0.031
Causal equilibrium: reached at cycle 147
────────────────────────────────────────
Run nerve.why(4) for root cause analysis.
Run nerve.what_if({2: 0.5}) to simulate interventions.

What CausalNerve Is Not

  • CausalNerve is not a causal discovery algorithm (use PCMCI for that).
  • CausalNerve is not a replacement for physics simulations.
  • CausalNerve is not validated for safety-critical deployment without domain expert review of its structural revisions.

Scientific Benchmarks

Evaluated on NASA C-MAPSS FD001 (Engines 81-100).

Method SHD ↓ Det. Delay ↓ Runtime ↑ Online?
CausalNerve 0.0 ± 0.0 221.7 ± 60.3 83 ms Yes
PCMCI 105.8 ± 9.3 N/A (offline) 4613 ms No
VAR-LiNGAM 20.0 ± 0.0 N/A (offline) 1 ms No
Granger 158.9 ± 13.7 N/A (offline) 780 ms No

Note: CausalNerve is structurally self-repairing (via automated dual-world validation), which incurs an ~80ms overhead compared to static architectures. It trades offline causal discovery accuracy for online adaptability; specifically, CausalNerve loses to PCMCI on Structural Hamming Distance (SHD) for stationary chain graphs.

Examples

We provide three definitive demonstrations of the autonomous capabilities:

  1. Real-time Causal Self-Repair in Turbofan Engines
  2. Tracking Changing Brain Connectivity During Seizure
  3. Detecting Cascading Failures in Distributed Systems

Documented Limitations

CausalNerve is bound by constraints in scalability, expected calibration error (ECE) under rapid distribution shifts, and sensitivity to highly correlated sensor noise. For a rigorous audit of system boundaries and known failure modes, please read FAILURES.md.

Citation

If you use CausalNerve in your research, please cite our technical paper:

@software{causalnerve2026,
  author = {CausalNerve Core Team},
  title = {CausalNerve: Adaptive Structural Dependency Learning},
  year = {2026},
  url = {https://github.com/guru-s/CausalNerve}
}

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

causalnerve-1.0.5.tar.gz (226.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

causalnerve-1.0.5-py3-none-any.whl (224.8 kB view details)

Uploaded Python 3

File details

Details for the file causalnerve-1.0.5.tar.gz.

File metadata

  • Download URL: causalnerve-1.0.5.tar.gz
  • Upload date:
  • Size: 226.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for causalnerve-1.0.5.tar.gz
Algorithm Hash digest
SHA256 b3de2f49e8545bf25a1ea36d4ecb809f3e29e42f4aeb9f9b22a74149a6824c57
MD5 90a7810ac6cee9280fdb42428313cfb3
BLAKE2b-256 3a6243d51468f831d2630129f95a9cfd4dca51466b6d4bbc121f7960fcbf5bca

See more details on using hashes here.

Provenance

The following attestation bundles were made for causalnerve-1.0.5.tar.gz:

Publisher: publish.yml on GURU1001S/CausalNerve

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file causalnerve-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: causalnerve-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 224.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for causalnerve-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 29b942828395d8fbefc3171383a1d935b241ef8ff84f435d0beecb00408d2b42
MD5 ebfa2999a15201f3445b7fde82c89ffe
BLAKE2b-256 faeb63eb7da1776548bf651e1fce6f13cb4a6294929af23736892b52bb78809f

See more details on using hashes here.

Provenance

The following attestation bundles were made for causalnerve-1.0.5-py3-none-any.whl:

Publisher: publish.yml on GURU1001S/CausalNerve

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page