Skip to main content

GLDF: Non-Homogeneous Causal Graph Discovery

Project description

GLDF: Non-Homogeneous Causal Graph Discovery

This is the reference implementation of the framework described by [1] for causal graph discovery on non-homogeneous data.

Introduction

Algorithms for causal graph discovery (CD) on IID or stationary data are readily available. However, real-world data rarely is IID or stationary. This framework particularly aims to find ways in which a causal graph changes over time, space or patterns in other extraneous information attached to data. It does so by focusing on an approach that is local in the graph (gL) and testing qualitative questions directly (D), hence the name gLD-framework (GLDF).

Besides statistical efficiency, another major strength of this approach is its modularity. This allows the present framework to directly build on existing CD-algorithm implementations. At the same time, almost arbitrary "patterns" generalizing persistence in time or space can be leveraged to account for regime-structure. The framework extensively builds on modified conditional independence tests (CITs), where individual (or all) modifications can easily be customized if the need arises.

Getting Started

The best place to get started is probably the extensive documentation. Further, there are tutorials in the form of jupyter-notebooks in the sub-directory "tutorials". This package is designed to be easily extensible and to integrate well out-of-the box with tigramite.

Requirements

Minimal:

  • python (version 3.10 or new recommended, tested on 3.13.5) and its standard-libary
  • numpy (version 2.0.0 or newer, tested on 2.3.2)
  • scipy (version 1.10.0 or newer, tested on 1.16.1)

Recommended (additionally):

  • matplotlib (version 3.7.0 or newer, tested on 3.10.5)
  • tigramite (version 5.2.0.0 or newer, tested on 5.2.8.2)
  • networkx (version 3.0 or newer, tested on 3.5), used via tigramite's graph plotting
  • causal-learn (tested on 0.1.4.3)

References

[1] M. Rabel, J. Runge. Context-Specific Causal Graph Discovery with Unobserved Contexts: Non-Stationarity, Regimes and Spatio-Temporal Patterns. archive preprint arXiv:2511.21537, 2025.

User Agreement

By downloading this software you agree with the following points: This software is provided without any warranty or conditions of any kind. We assume no responsibility for errors or omissions in the results and interpretations following from application of this software.

You commit to cite above papers in your reports or publications.

License

Copyright (C) 2025-2026 Martin Rabel

GNU General Public License v3.0

See the file LICENSE for full text.

This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

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

gldf-0.9.0.tar.gz (186.1 kB view details)

Uploaded Source

Built Distribution

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

gldf-0.9.0-py3-none-any.whl (193.7 kB view details)

Uploaded Python 3

File details

Details for the file gldf-0.9.0.tar.gz.

File metadata

  • Download URL: gldf-0.9.0.tar.gz
  • Upload date:
  • Size: 186.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gldf-0.9.0.tar.gz
Algorithm Hash digest
SHA256 9d13cbce4ecacebfb48a24126dc17cff8e2f765be0883a5fb4cade8d6ee42851
MD5 68e168eb078176a9b8e0053f0304a012
BLAKE2b-256 9f3ee174ae65a92d64c55e09aab6533f775f4c8423241e2ea715ccfa1ba15168

See more details on using hashes here.

File details

Details for the file gldf-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: gldf-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 193.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gldf-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 322f27a78e84828e31490c2053189844cddc752ac587fcb51b689b85939191fc
MD5 f047e24e12cd8de7062f0fc52090dcad
BLAKE2b-256 4d3355c3a6e5925fb5c5410e26a9a6902b81ff3dc3ac6032e172415197561e02

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