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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d13cbce4ecacebfb48a24126dc17cff8e2f765be0883a5fb4cade8d6ee42851
|
|
| MD5 |
68e168eb078176a9b8e0053f0304a012
|
|
| BLAKE2b-256 |
9f3ee174ae65a92d64c55e09aab6533f775f4c8423241e2ea715ccfa1ba15168
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
322f27a78e84828e31490c2053189844cddc752ac587fcb51b689b85939191fc
|
|
| MD5 |
f047e24e12cd8de7062f0fc52090dcad
|
|
| BLAKE2b-256 |
4d3355c3a6e5925fb5c5410e26a9a6902b81ff3dc3ac6032e172415197561e02
|