Causal-learn,由CMU张坤老师主导,多个团队(CMU因果研究团队、DMIR蔡瑞初老师团队、宫明明老师团队和Shohei Shimizu老师团队)联合开发出品的因果发现算法平台。

Causal-learn用Python实现了CMU开发的基于Java的Tetrad因果发现平台,并进一步加入新的算法和功能。其中包含了因果发现的经典算法与API,并且提供了模块化的代码,以方便研究者实现自己的算法。Causal-learn所有模块均基于Python实现,从而避免了传统因果发现库对R/Java的依赖,为Python开发者提供便利。

 

先列一下库的相关链接:

GitHub: github.com/cmu-phil/cau

文档: causal-learn.readthedocs.io

简单使用案例:github.com/cmu-phil/cau

安装causal-learn

可以通过pip来实现

pip install causal-learn

开始使用causal-learn

causal-learn支持:

  • 基于约束的因果发现方法(Constrained-based causal discovery methods): PC、FCI、CD-NOD算法等;
  • 基于评分的因果发现方法(Score-based causal discovery methods): 包含BIC、BDeu、generalized score等评分的GES算法;
  • 基于函数因果模型的因果发现方法(Functional causal models-based causal discovery methods): LiNGAM及其拓展方法、ANM、PNL等;
  • 隐因果表征学习方法(Hidden causal representation learning):GIN方法;
  • 格兰杰因果分析(Granger causal analysis);
  • 多个独立的基础模块,比如独立性测试,评分函数,图操作,评测指标;
  • 更多最新的因果发现算法,如gradient-based methods等。

causal-learn为所有模型都提供了简单易用的接口,用户可以通过一行代码在自己的数据上进行因果发现:

 G = pc(data, alpha, indep_test, stable, uc_rule, uc_priority, mvpc, correction_name, background_knowledge)

可视化结果与评测

在算法运行结束后,用户可以查看生成的因果图,并通过多种评测指标来与基准图进行对比:

G.to_nx_graph()
G.draw_nx_graph(skel=False)

Causal-learn团队正在积极维护与开发算法平台,并持续更新最新的因果发现算法。欢迎大家关注以及提供宝贵意见!如果有问题或者建议,请联系我们。

建议与反馈: 郑雨嘉yujiazh@cmu.edu陈薇chenweiDelight@gmail.com

内容中包含的图片若涉及版权问题,请及时与我们联系删除