Skip to main content

CausalDynamics: A large-scale benchmark for structural discovery of dynamical causal models

Project description

CausalDynamics: A large-scale benchmark for structural discovery of dynamical causal models

Homepage Huggingface Dataset License Badge Tests

A comprehensive benchmark framework designed to rigorously evaluate state-of-the-art causal discovery algorithms for dynamical systems.

Key Features

Overview of CausalDynamics

1️⃣ Large-Scale Benchmark. Systematically evaluate state-of-the-art causal discovery algorithms on thousands of graph challenges with increasing difficulty.

2️⃣ Customizable Data Generation. Scalable, user-friendly generation of increasingly complex coupled ordinary and stochastic systems of differential equations

3️⃣ Diverse Challenges. From simple chaotic systems to modular causal coupling of dynamical systems, including optional noise, confounding, time lags, and even climate model dynamics.

Abstract: Causal discovery for dynamical systems poses a major challenge in fields where active interventions are infeasible. Most methods used to investigate these systems and their associated benchmarks are tailored to deterministic, low-dimensional and weakly nonlinear time-series data. To address these limitations, we present CausalDynamics, a large-scale benchmark and extensible data generation framework to advance the structural discovery of dynamical causal models. Our benchmark consists of true causal graphs derived from thousands of coupled ordinary and stochastic differential equations as well as two idealized climate models. We perform a comprehensive evaluation of state-of-the-art causal discovery algorithms for graph reconstruction on systems with noisy, confounded, and lagged dynamics. CausalDynamics consists of a plug-and-play, build-your-own coupling workflow that enables the construction of a hierarchy of physical systems. We anticipate that our framework will facilitate the development of robust causal discovery algorithms that are broadly applicable across domains while addressing their unique challenges.

Preprocessed Datasets

You can generate your own dataset (see getting started), but you can also download our preprocessed ones directly from HuggingFace:

wget https://huggingface.co/datasets/kausable/CausalDynamics/resolve/main/process_causaldynamics.py
python process_causaldynamics.py

Installation

Using pdm

Clone the repository and install it using pdm:

git clone https://github.com/kausable/CausalDynamics.git
pdm install

You can test whether the installation succeded by creating some coupled causal model data:

$(pdm venv activate)
python src/causaldynamics/creator.py --config config.yaml

You find the output at output/<timestamp> as default location.

Using pip

Alternatively, causaldynamics is available on PyPi, so you can use pip to install causaldynamcis, which currently requires Python version 3.10.

pip install causaldynamics

Getting Started

Benchmarking

Citation

If you find any of the code and dataset useful, feel free to acknowledge our work through:

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

causaldynamics-0.1.1.tar.gz (93.3 kB view details)

Uploaded Source

Built Distribution

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

causaldynamics-0.1.1-py3-none-any.whl (94.8 kB view details)

Uploaded Python 3

File details

Details for the file causaldynamics-0.1.1.tar.gz.

File metadata

  • Download URL: causaldynamics-0.1.1.tar.gz
  • Upload date:
  • Size: 93.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for causaldynamics-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bfb59762781a5b1067f69c9024964414b25e0d307886c92e26d38705db9aa36f
MD5 ca25aae47db6572c8d70882fdf177f62
BLAKE2b-256 401f7da740dd81d9647b4ad2b0eb14da8c0e4ff2a9767c44c6b2902ed1ee6632

See more details on using hashes here.

File details

Details for the file causaldynamics-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: causaldynamics-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 94.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for causaldynamics-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 04166e4bd2cea925de43866f3882f4cef5a143ee4d089533d413a5a64e186102
MD5 5ac83649d7e5d8c4df9e384996d916e1
BLAKE2b-256 65b23f9731ff7ce5264f5573410bfd4b9e7b38f9f6f790e502bd1d78167795af

See more details on using hashes here.

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