跳转到主要内容

Causing:使用图进行因果解释

项目描述

Causing:使用图进行因果解释

License: MIT Python 3.7

Causing是一个多变量图形分析工具,帮助您解释给定方程组的因果效应。

获得一个漂亮的彩色图形,并立即理解变量之间的因果效应。

输入: 您只需输入一个数据集,并提供一个以Python函数形式存在的方程组。左侧的内生变量假定是由方程右侧的变量引起的。因此,您以有向无环图(DAG)的形式提供因果结构。

输出: 作为输出,您将获得一个量化效应的彩色图形,这些效应作用于模型变量之间。您可以立即解释每个个体观察到的中介链 - 即使对于高度复杂的高度非线性系统。

以下是Causing与其他方法的关联表格

Causing是 Causing不是
✅ 给定因果模型 ❌ 因果搜索
✅ DAG有向无环图 ❌ 循环、无向或双向图
✅ 潜在变量 ❌ 仅观察/显变量
✅ 单个效应 ❌ 仅平均效应
✅ 直接、总效应和中介效应 ❌ 仅总效应
✅ 结构模型 ❌ 简化模型
✅ 小数据和大数据 ❌ 大数据需求
✅ 图形结果 ❌ 只有数值结果
✅ XAI 可解释人工智能 ❌ 黑盒神经网络

因果方法非常灵活。它可以应用于高度潜在模型,其中许多模型内生的变量是不可观测的。外生变量被认为是可观测的和确定的。最严重的限制当然是你需要指定因果模型/因果顺序。

因果效应

因果结合总效应和中介效应在一个易于解释的单一图形中。

一个变量对最终变量的总效应显示在图中的相应节点。总效应通过其发出的边进行拆分,从而得到边上的中介效应。只有教育有多个发出的边需要这样解释。

效应因人而异。为了强调这一点,我们谈论个体效应。相应的图,结合总效应和中介效应,称为个体中介效应(IME)图。

软件

因果是使用Python 3编写的免费软件。图形使用Graphviz生成。请参阅setup.py中的依赖关系。因果在MIT许可下可用。请参阅LICENSE

该软件由RealRate开发,RealRate是一家AI评级机构,旨在通过使用AI、可解释性和避免任何利益冲突来重新发明评级市场。请参阅www.realrate.ai

在克隆/下载因果存储库后,通过运行python -m causing.examples example,您将在output文件夹中找到结果。结果以SVG文件保存。IME文件显示了相应个体的个体中介效应图。

请参阅causing/examples以获取生成示例的代码。

启动您的模型

要启动您的模型,您必须提供以下信息,如下面的示例代码所示

  • 将所有模型变量定义为SymPy符号。
  • 请注意,在Sympy中,一些运算符是特殊的,例如Max()而不是max()。
  • 以计算顺序提供模型方程,即以计算顺序。
  • 然后使用以下内容指定模型
    • xvars:外生变量
    • yvars:拓扑顺序中的内生变量
    • equations:先前定义的方程
    • final_var:用于中介效应的兴趣最终变量

1. 一个简单示例

假设由方程组定义的模型

Y1 = X1

Y2 = X2 + 2 * Y12

Y3 = Y1 + Y2.

这给出了以下图。一些说明来理解它们

  • 使用的数据由200个观测值组成。它们可用于x变量X1和X2,其中mean(X1) = 3和mean(X2) = 2。变量Y1和Y2被认为是潜在的/不可观测的。Y3被认为是明显的/可观测的。因此,有200个观测值可用于Y3

  • 为了允许基准比较,每个个体效应都是相对于所有观测值的平均值测量的。

  • 节点和边被着色,显示它们对最终变量Y3的正(绿色)和负(红色)效应。

  • 个体效应基于给定的模型。然而,对于每个个体,其自己的外生数据被放入给定的图函数中,以产生相应的内生值。效应在这一点上计算。以下仅显示个体编号为1的200个观测值中的个体效应。

  • 总效应显示在以下节点中,并且它们通过输出边分割,从而产生了在边上显示的调节效应。请注意,然而,只有输出边的总和等于节点值,输入边则不然。所有效应都只是对最终关注变量的效应,这里假设为Y3

Individual Mediation Effects (IME)

正如您在右侧图中看到的个体调节效应(IME)一样,有一条从X1开始,经过Y1、Y2,最后到达Y3的绿色路径。这意味着X1是导致Y3高于平均值的根本原因,其对Y3的影响为+29.81。然而,这种积极的影响略受X2的影响。总的来说,考虑到所有外生和内生效应,Y3比平均值高出+27.07。您可以一眼看出为什么Y3在个体1中高于平均值。

您可以在此找到本例的完整源代码:这里

3. 应用于教育和工资

为了更深入地了解,这里有一个来自社会科学领域的真实世界例子。我们分析年轻美国工人的工资是如何由他们的教育水平、家庭特征和考试成绩决定的。

这个5分钟的介绍视频对Causing进行了简要概述,并包括这个真实数据示例:请见Causing介绍视频

有关教育和工资示例的详细分析,请参阅:Causing应用:教育和工资

4. 应用于保险评级

在以下内容中,给出了Causing方法和其公式以及一个应用示例:

Bartel, Holger (2020),"Causal Analysis - With an Application to Insurance Ratings" DOI: 10.13140/RG.2.2.31524.83848 https://www.researchgate.net/publication/339091133

请注意,在这篇早期论文中,对最终关注变量的调节效应被称为最终效应。虽然当前Causing版本仅使用数值计算的效应,但该论文使用封闭公式。

该论文提出了用于方程组因果分析的简单线性代数公式。一个变量对另一个变量的影响是全导数。它扩展到内生系统变量。这些总效应与图论及其do-算术中的效应相同。此外,还定义了调节效应,将一个变量对最终关注变量的总效应分解为其所有直接引起变量的总效应。这允许进行简单但深入的因果和调节分析。

用户提供的方程组表示为结构神经网络(SNN)。网络的节点表示模型变量,其边权重由效应给出。与经典的深度神经网络不同,我们遵循稀疏和“小数据”方法。这种方法应用于保险公司的财务实力评级。

关键词:全导数、图形效应、图论、do-算术、结构神经网络、线性联立方程模型(SEM)、结构因果模型(SCM)、保险评级

奖项

RealRate的AI软件Causing是PyTorch AI黑客马拉松的获奖者。

我们很兴奋地成为PyTorch AI Hackathon 2020责任AI类别的获奖者。鉴于有超过2500个团队提交了项目,这非常荣幸。

devpost.com/software/realrate-explainable-ai-for-company-ratings.

联系方式

Dr. Holger Bartel
RealRate
Cecilienstr. 14, D-12307 Berlin
holger.bartel@realrate.ai
电话:+49 160 957 90 844
www.realrate.ai

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

causing-2.4.0.tar.gz (17.1 kB 查看哈希值)

上传时间 源代码

构建发行版

causing-2.4.0-py3-none-any.whl (15.2 kB 查看哈希值)

上传时间 Python 3

支持者