[论文解读] gCastle: A Python Toolbox for Causal Discovery
gCastle 是一个端到端的 Python 工具箱,用于基于梯度的因果结构学习,涵盖数据生成、学习、评估和 GUI,支持 GPU 加速并包含真实世界的电信数据集。
$ 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}.
研究动机与目标
- 提供从数据生成到图评估的端到端因果发现管线。
- 结合最先进的基于梯度的方法并可选支持 GPU 加速。
- 提供实用特性,如先验知识插入、邻域选择和后处理,以减少错误发现。
- 包含一个用户友好的 GUI 和真实世界的电信数据集,以促进研究与部署。
提出的方法
- 实现一个全面的 Python 工具箱(支持 PyTorch),用于基于梯度的因果结构学习。
- 支持从仿真器或真实数据集中生成数据,并支持多种数据产生机制(线性、MLP、二次、各种噪声类型)。
- 提供一个涵盖梯度基、约束基、函数基和分数基等类别的 19 种因果发现算法库。
- 包括如 FDR、TPR、SHD,以及用于根因分析的领域特定 gScore 等评估指标。
- 提供前处理和后处理工具(先验知识插入、邻域选择、后处理)以及用于可视化的 GUI。
- 通过 pip/setup.py 分发,并提供用于 GUI 启用的 Docker 镜像。
实验结果
研究问题
- RQ1是否可以在纯 Python 工具箱中有效实现基于梯度的因果发现方法,并支持 GPU 加速?
- RQ2在应用于模拟数据和真实电信数据集时,基于梯度的方法与传统因果发现算法相比表现如何?
- RQ3哪些实用辅助功能(先验知识、邻域选择、后处理)能够提高 gCastle 学得图的可靠性?
- RQ4GUI 是否便于研究人员和从业者进行更轻松的实验和对因果图的可视化?
主要发现
- gCastle 实现了 19 种因果发现算法,强调基于梯度的方法和 GPU 加速。
- 该工具箱支持从仿真器或真实来源生成数据,并提供九种评估指标(如 FDR、TPR、SHD)。
- 包含三份真实世界的电信数据集,真实因果图由业务专家标注。
- 提供一个用户友好的 GUI,用于设计任务和可视化学习到的图。
- 该软件包提供实用功能,如先验知识插入、初步邻域选择和后处理,以减少错误发现。
- 安装支持 pip、setup.py,以及用于简化部署的 Docker 镜像。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。