[Paper Review] gCastle: A Python Toolbox for Causal Discovery
gCastle is an end-to-end Python toolbox for gradient-based causal structure learning, including data generation, learning, evaluation, and a GUI, with GPU acceleration and real-world telecom datasets.
$ exttt{gCastle}$ is an end-to-end Python toolbox for causal structure learning. It provides functionalities of generating data from either simulator or real-world dataset, learning causal structure from the data, and evaluating the learned graph, together with useful practices such as prior knowledge insertion, preliminary neighborhood selection, and post-processing to remove false discoveries. Compared with related packages, $ exttt{gCastle}$ includes many recently developed gradient-based causal discovery methods with optional GPU acceleration. $ exttt{gCastle}$ brings convenience to researchers who may directly experiment with the code as well as practitioners with graphical user interference. Three real-world datasets in telecommunications are also provided in the current version. $ exttt{gCastle}$ is available under Apache License 2.0 at \url{https://github.com/huawei-noah/trustworthyAI/tree/master/gcastle}.
Motivation & Objective
- Provide an end-to-end pipeline for causal discovery—from data generation to graph evaluation.
- Incorporate state-of-the-art gradient-based methods with optional GPU acceleration.
- Offer practical features such as prior knowledge insertion, neighborhood selection, and post-processing to reduce false discoveries.
- Include a user-friendly GUI and real-world telecom datasets to facilitate research and deployment.
Proposed method
- Implement a comprehensive Python toolbox (PyTorch-enabled) for gradient-based causal structure learning.
- Support data generation from simulators or real datasets, and multiple data-generating mechanisms (linear, MLP, quadratic, various noise types).
- Provide a library of 19 causal discovery algorithms across gradient-based, constraint-based, function-based, and score-based categories.
- Include evaluation metrics such as FDR, TPR, SHD, and a domain-specific gScore for root-cause analysis.
- Offer pre- and post-processing utilities (prior knowledge insertion, neighborhood selection, post-processing) and a GUI for visualization.
- Distribute via pip/setup.py with a Docker image for GUI-enabled use.
Experimental results
Research questions
- RQ1Can gradient-based causal discovery methods be effectively implemented in a pure Python toolbox with GPU acceleration?
- RQ2How do gradient-based methods compare to traditional causal discovery algorithms when applied to simulated and real telecom datasets?
- RQ3What practical aids (prior knowledge, neighborhood selection, post-processing) improve the reliability of learned graphs in gCastle?
- RQ4Does the GUI facilitate easier experimentation and visualization of causal graphs for researchers and practitioners?
Key findings
- gCastle implements 19 causal discovery algorithms, emphasizing gradient-based methods and GPU acceleration.
- The toolbox supports data generation from simulators or real-world sources and provides nine evaluation metrics (e.g., FDR, TPR, SHD).
- Three real-world telecom datasets are included, with true causal graphs labeled by business experts.
- A user-friendly GUI is provided to design tasks and visualize learned graphs.
- The package offers practical features such as prior knowledge insertion, preliminary neighborhood selection, and post-processing to reduce false discoveries.
- Installation supports pip, setup.py, and a Docker image to simplify deployment.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.