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

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.3.tar.gz (224.1 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.3-py3-none-any.whl (222.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: causalnerve-1.0.3.tar.gz
  • Upload date:
  • Size: 224.1 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.3.tar.gz
Algorithm Hash digest
SHA256 704aa2b10485e341ac1b7007fa3dbf51ef452feee91634cdcdca977d5fb616e3
MD5 d07369fa1e3d8a853db71173fa382a96
BLAKE2b-256 aa2381a4d8940b72cb66839a8abef1f10aa3b22ce0bcabda1423c964e4790632

See more details on using hashes here.

Provenance

The following attestation bundles were made for causalnerve-1.0.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: causalnerve-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 222.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 212d75f24fda54ad8e35263522ca232af6450b3e3bfc4ffae6744fa4aa74c5e1
MD5 5f2bddec12bf05f4f83cfac7596164c0
BLAKE2b-256 a7c2d7b8dd01e4866a0b1499c63ba033d1c7f0130b996d23d433a39b407fa6f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for causalnerve-1.0.3-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