Skip to main content

Tools for analysing and visualising causal graphs

Project description

causaliq-analysis

Python Versions License: MIT Coverage

This repo provides tools for analysing and visualising learned causal graphs, including structural metrics, stability assessment, significance tests, and publication-ready tables and charts. It is part of the CausalIQ ecosystem for intelligent causal discovery.

Status

Current Version: v0.4.0

This repository is part of the CausalIQ ecosystem and is in active development. Recent work has focused on graph evaluation, optimal DAG extraction, and metric summarisation.

Features

Implemented Releases

  • Release v0.4.0 - Evaluation & Summarisation: Structural evaluation metrics (F1, precision, recall, SHD) vs ground truth, optimal DAG extraction from PDGs, metric summarisation, noisy-OR and max merge strategies.
  • Release v0.3.0 - Graph Merging: Merge multiple DAGs/PDAGs/PDGs into probabilistic dependency graphs (PDGs) with weighted edge probabilities. Trace migration to convert legacy traces to modern GraphML format.
  • Release v0.2.0 - Legacy Trace: Support for reading and writing structure learning traces in legacy pickle format.
  • Release v0.1.0 - Foundation Metrics: CausalIQ and Bayesys structural graph metrics and KL metric.

🛣️ Upcoming Releases

  • Release v0.5.0 - Publication Assets: publication-ready charts and tables

Upcoming Key Innovations

🧠 LLM-assisted Graph Averaging

  • Uncertain or conflicting edges - resolved using LLM queries

📊 Publication-ready chart generation

  • Seaborn charts - flexible, but standardised publication-ready chart generation

▦ Publication-ready table generation

  • LaTeX tables - converts tabular analysis data into publication-ready LaTeX tables

Integration with CausalIQ Ecosystem

  • 🔍 CausalIQ Discovery generates causal graphs which this package evaluates and visualises.
  • 🤖 CausalIQ Workflow can access all features of this package (through the Action interface) so that analysis and visualisation are incorporated into CausalIQ workflows.
  • 🧪 CausalIQ Papers uses the analysis, table and chart features of this package to generate published paper assets.

LLM Support

The following provides project-specific context for this repo which should be provided after the personal and ecosystem context:

I wish to migrate the code in legacy/core/metrics.py following all CausalIQ development guidelines
so that the legacy repo can use the migrated code instead. 

Quick Start

# to be completed

Getting started

Prerequisites

  • Git
  • Latest stable versions of Python 3.9, 3.10. 3.11, 3.12 or 3.13

Clone the new repo locally and check that it works

Clone the causaliq-analysis repo locally as normal

git clone https://github.com/causaliq/causaliq-analysis.git

Set up the Python virtual environments and activate the default Python virtual environment. You may see messages from VSCode (if you are using it as your IDE) that new Python environments are being created as the scripts/setup-env runs - these messages can be safely ignored at this stage.

scripts/setup-env -Install
scripts/activate

Check that the causaliq-analysis CLI is working, check that all CI tests pass, and start up the local mkdocs webserver. There should be no errors reported in any of these.

causaliq-analysis --help
scripts/check_ci
mkdocs serve

Enter http://127.0.0.1:8000/ in a browser and check that the causaliq-data documentation is visible.

If all of the above works, this confirms that the code is working successfully on your system.

Documentation

Full API documentation is available at: http://127.0.0.1:8000/ (when running mkdocs serve)

Contributing

This repository is part of the CausalIQ ecosystem. For development setup:

  1. Clone the repository
  2. Run scripts/setup-env -Install to set up environments
  3. Run scripts/check_ci to verify all tests pass
  4. Start documentation server with mkdocs serve

Supported Python Versions: 3.9, 3.10, 3.11, 3.12, 3.13
Default Python Version: 3.11
License: MIT

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

causaliq_analysis-0.4.0.tar.gz (56.5 kB view details)

Uploaded Source

Built Distribution

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

causaliq_analysis-0.4.0-py3-none-any.whl (56.9 kB view details)

Uploaded Python 3

File details

Details for the file causaliq_analysis-0.4.0.tar.gz.

File metadata

  • Download URL: causaliq_analysis-0.4.0.tar.gz
  • Upload date:
  • Size: 56.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for causaliq_analysis-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e50a433a364939367125eb729aa64299abc743cba4f57dee06a6426b21013edd
MD5 5d5b466689d6e14b66c8c9bcb9cde970
BLAKE2b-256 44bb94661fef38a28144e6b3b550ad1f9a73f16857c7d7b15bf3cd9b96bd1e79

See more details on using hashes here.

File details

Details for the file causaliq_analysis-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for causaliq_analysis-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ed783dc97addd302fcbe521dc6c5ab12907d8a8e93919d97d8f41dd533b5e54
MD5 865d95c6552f0279690e89f3dab88a6f
BLAKE2b-256 0553af8dbae9e3401ac24a3b3781603519fefd74d282f1b18ed0dc4ea8f434c4

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