方法论
在本节中,我们将更深入地探讨CausalML中实现的算法。为了为讨论提供基础,我们回顾了文献中使用的一些框架和定义。
我们使用Neyman-Rubin潜在结果框架,并假设Y代表结果,W代表处理分配,X_i代表观察到的协变量。
支持的算法
CausalML 目前支持以下方法:
- Tree-based algorithms
Uplift Random Forests 在KL散度、欧几里得距离和卡方上的应用
Uplift Random Forests 在上下文治疗选择中的应用
Uplift Random Forests 基于 delta-delta-p (\(\Delta\Delta P\)) 准则(仅适用于二叉树和两类问题)
Uplift Random Forests 在IDDP上(仅适用于二叉树和两类问题)
交互树(仅适用于二叉树和二分类问题)
因果推断树(仅适用于二叉树和两类问题)
- Meta-learner algorithms
- Instrumental variables algorithms
- Neural network based algorithms
CEVAE
龙网
决策指南
查看图片:https://github.com/uber/causalml/issues/677#issuecomment-1712088558
元学习算法
元算法(或元学习器)是一个框架,用于使用任何机器学习估计器(称为基础学习器)来估计条件平均处理效应(CATE)[16]。
元算法使用单个基础学习器,同时将处理指示器作为特征(例如S-learner),或者分别为处理组和对照组使用多个基础学习器(例如T-learner、X-learner和R-learner)。
平均处理效应估计的置信区间是基于[14]中的下界公式(7)计算的。
S-学习器
S-learner 使用单一的机器学习模型来估计处理效果,如下所示:
第一阶段
估计具有协变量 \(\mu(x)\) 和治疗指示变量 \(W\) 的平均结果 \(X\):
使用机器学习模型。
第二阶段
将CATE估计定义为:
在模型中包含倾向评分可以减少由正则化引起的混杂偏差[30]。
当控制组和实验组在协变量上差异很大时,单一的线性模型不足以编码控制组和实验组的不同相关维度和特征的平滑度[1]。
T-学习器
T-learner [16] 包括以下两个阶段:
第一阶段
估计平均结果 \(\mu_0(x)\) 和 \(\mu_1(x)\):
使用机器学习模型。
第二阶段
将CATE估计定义为:
X-Learner
X-learner [16] 是 T-learner 的扩展,包含以下三个阶段:
第一阶段
估计平均结果 \(\mu_0(x)\) 和 \(\mu_1(x)\):
使用机器学习模型。
第二阶段
基于\(\mu_0(x)\)估算处理组中用户\(i\)的用户级别处理效果\(D^1_i\)和\(D^0_j\),并基于\(\mu_1(x)\)估算对照组中用户\(j\)的用户级别处理效果:
然后使用机器学习模型估计 \(\tau_1(x) = E[D^1|X=x]\) 和 \(\tau_0(x) = E[D^0|X=x]\)。
阶段 3
通过\(\tau_1(x)\)和\(\tau_0(x)\)的加权平均值来定义CATE估计:
其中 \(g \in [0, 1]\)。我们可以使用倾向得分来表示 \(g(x)\)。
R-学习者
R-learner [19] 使用交叉验证的折叠外估计结果 \(\hat{m}^{(-i)}(x_i)\) 和倾向得分 \(\hat{e}^{(-i)}(x_i)\)。它由以下两个阶段组成:
第一阶段
使用交叉验证的机器学习模型拟合 \(\hat{m}(x)\) 和 \(\hat{e}(x)\)。
第二阶段
通过最小化R损失\(\hat{L}_n(\tau(x))\)来估计治疗效果:
其中 \(\hat{e}^{(-i)}(X_i)\) 等表示在不使用第 \(i\) 个训练样本的情况下进行的留出预测。
双重稳健(DR)学习器
DR-learner [15] 通过两个阶段交叉拟合双重稳健评分函数来估计CATE,具体如下。我们首先将数据 \(\{Y, X, W\}\) 随机分成3个部分 \(\{Y^i, X^i, W^i\}, i=\{1,2,3\}\)。
第一阶段
使用机器学习拟合倾向评分模型 \(\hat{e}(x)\),使用 \(\{X^1, W^1\}\),并使用机器学习拟合处理组和未处理组的结果回归模型 \(\hat{m}_0(x)\) 和 \(\hat{m}_1(x)\),使用 \(\{Y^2, X^2, W^2\}\)。
第二阶段
使用机器学习来拟合CATE模型,\(\hat{\tau}(X)\)从伪结果中
使用 \(\{Y^3, X^3, W^3\}\)
阶段 3
再次重复阶段1和阶段2两次。首先使用\(\{Y^2, X^2, W^2\}\)、\(\{Y^3, X^3, W^3\}\)和\(\{Y^1, X^1, W^1\}\)用于倾向评分模型、结果模型和CATE模型。然后使用\(\{Y^3, X^3, W^3\}\)、\(\{Y^2, X^2, W^2\}\)和\(\{Y^1, X^1, W^1\}\)用于倾向评分模型、结果模型和CATE模型。最终的CATE模型是3个CATE模型的平均值。
双重稳健工具变量(DRIV)学习器
我们将DR-learner [15] 的思想与[10] 中描述的LATE的双重稳健评分函数结合起来,以估计条件LATE。为此,我们首先将数据 \(\{Y, X, W, Z\}\) 随机分成3个部分 \(\{Y^i, X^i, W^i, Z^i\}, i=\{1,2,3\}\)。
第一阶段
使用\(\{X^1, W^1, Z^1\}\)为分配和未分配的用户拟合倾向评分模型\(\hat{e}_0(x)\)和\(\hat{e}_1(x)\),并使用机器学习使用\(\{Y^2, X^2, Z^2\}\)为分配和未分配的用户拟合结果回归模型\(\hat{m}_0(x)\)和\(\hat{m}_1(x)\)。分配概率\(p_Z\)可以由用户提供或来自一个简单的模型,因为在大多数使用案例中,分配是随机设计的。
第二阶段
使用机器学习来拟合条件LATE模型,\(\hat{\tau}(X)\),通过最小化以下损失函数
使用 \(\{Y^3, X^3, W^3\}\)
阶段 3
类似于DR-Learner,再次重复阶段1和阶段2两次,使用不同的分区排列进行估计。最终的LATE条件模型是三个LATE条件模型的平均值。
基于树的算法
提升树
提升树方法包括一组使用基于树的算法的方法,其中分裂标准基于提升的差异。[22]提出了三种不同的方式来量化分裂导致的差异增益[11]:
其中 \(D\) 测量了差异,\(P^T\) 和 \(P^C\) 分别指代处理组和对照组中感兴趣结果的概率分布。该包中实现了三种不同的量化差异的方法:KL、ED 和 Chi。
KL
Kullback-Leibler (KL) 散度由以下公式给出:
其中 \(p\) 是处理组的样本均值,\(q\) 是对照组的样本均值,\(k\) 表示计算 \(p\) 和 \(q\) 的叶子节点 [11]
ED
欧几里得距离由以下公式给出:
其中符号与上述相同。
卡方
最后,\(\chi^2\)-散度由以下公式给出:
其中符号再次与上述相同。
DDP
另一个实现的提升树算法是[9]提出的delta-delta-p(\(\Delta\Delta P\))方法,其中样本分割标准定义如下:
其中 \(a_0\) 和 \(a_1\) 是 Split A 的结果,\(y\) 是选定的类别,\(P^T\) 和 \(P^C\) 分别是处理组和对照组的响应率。换句话说,我们首先计算每个分支中的响应率差异(\(\Delta P_{left}\) 和 \(\Delta P_{right}\)),然后计算它们的差异(\(\Delta\Delta P = |\Delta P_{left} - \Delta P_{right}|\))。
IDDP
基于\(\Delta\Delta P\)方法,实现了[23]的IDDP方法,其中样本分割标准定义如下:
其中 \(\Delta\Delta P^*\) 定义为 \(\Delta\Delta P - |E[Y(1) - Y(0)]| X \epsilon \phi|\) 并且 \(I(\phi, \phi_l, \phi_r)\) 定义为:
其中熵H定义为\(H(p,q)=(-p*log_2(p)) + (-q*log_2(q))\),其中\(\phi\)是与当前决策节点相关的特征空间的子集,\(\phi_l\)和\(\phi_r\)分别是左右子节点。\(n_t(\phi)\)是处理样本的数量,\(n_c(\phi)\)是控制样本的数量,\(n(\phi)\)是当前(父)节点中所有样本的数量。
信息技术
此外,该包实现了[26]提出的交互树(IT),其中样本分割准则在所有允许的分割中最大化G统计量:
其中 \(G(s)=t^2(s)\) 和 \(t(s)\) 定义为:
其中 \(\sigma=\sum_{i=4}^4w_is_i^2\) 是常数方差的合并估计量,且 \(w_i=(n_i-1)/\sum_{j=1}^4(n_j-1)\)。 此外,\(y^L_1\)、\(s^2_1\) 和 \(n_1\) 分别是左子节点中治疗组的样本均值、样本方差和样本大小。类似的符号适用于其他量。
请注意,此实现与原始实现有所不同,具体表现在(1)剪枝技术和(2)确定最佳树大小的验证方法不同。
CIT
此外,该包实现了[25]中的因果推断树(CIT),其中样本分割标准计算似然比检验统计量:
其中 \(n_{\tau}\), \(n_{\tau 0}\), 和 \(n_{\tau 1}\) 分别是节点 \(\tau\) 中的总观测数, 节点 \(\tau\) 中被分配到控制组的观测数,以及节点 \(\tau\) 中被分配到处理组的观测数。\(SSE_{\tau}\) 定义为:
并且 \(\hat{y_{t0}}\) 和 \(\hat{y_{t1}}\) 分别是节点 \(\tau\) 中控制组和实验组的样本平均响应。
请注意,此实现与原始实现有所不同,具体表现在(1)剪枝技术和(2)确定最佳树大小的验证方法不同。
CTS
最终实现的提升树算法是[28]提出的上下文治疗选择(CTS)方法,其中样本分割标准定义如下:
其中 \(\phi_l\) 和 \(\phi_r\) 分别指左叶和右叶中的特征子空间,\(\hat{p}(\phi_j \mid \phi)\) 表示在给定 \(\phi\) 的情况下,主体处于 \(\phi_j\) 的估计条件概率,而 \(\hat{y}_t(\phi_j)\) 是在治疗 \(t\) 下的条件期望响应。
价值优化方法
该包支持在治疗成本高时分配治疗组的方法。为了理解这个问题,将人群分为以下四类是有帮助的:
符合条件者. 那些只有在接受治疗时才会有良好结果的人。
总是接受者。那些无论是否接受治疗都会有良好结果的人。
从不接受者。那些无论是否接受治疗都不会有良好结果的人。
Defiers. 那些只有在不接受治疗时才会有良好结果的人。
有关更详细的讨论,请参见例如 [2]。
反事实单位选择
[18] 提出了一种使用反事实逻辑选择治疗单位的方法。假设选择属于上述不同类别的单位有以下好处:
编译器: \(\beta\)
总是接受者: \(\gamma\)
从不接受者: \(\theta\)
违抗者: \(\delta\)
如果 \(X\) 表示个体特征的集合,单位选择问题可以表述如下:
这个问题可以使用反事实逻辑重新表述。假设\(W = w\)表示个体接受了治疗,而\(W = w'\)表示他或她未接受治疗。同样地,让\(F = f\)表示个体的有利结果,而\(F = f'\)表示不利结果。那么优化问题变为:
请注意,上述内容仅遵循相关用户分段的定义。[18] 然后使用反事实逻辑 ([21]) 在某些条件下解决上述优化问题。
注意:当前包中的实现是高度实验性的。
反事实价值估计器
该包中实现的反事实价值估计方法使用标准的机器学习模型预测单位在不同治疗条件下的结果。然后将单位分配到特定治疗的期望值由以下公式给出
其中 \(Y_w\) 是在给定处理 \(w\) 下有利事件(如转化)的概率,\(v\) 是有利事件的价值,\(cc_w\) 是在有利事件发生时触发的处理成本,\(ic_w\) 是与处理相关的成本,无论结果是否有利。该方法基于 [29] 中讨论的思想。
因果概率
如果一个结果在没有某个原因的情况下不会发生,那么这个原因被称为结果的必要条件。如果一个结果在某个原因存在的情况下会发生,那么这个原因被称为结果的充分条件。如果上述两个条件都成立,那么这个原因被称为必要且充分条件。[27] 展示了我们可以计算一个原因属于上述三种类型中每一种的概率范围。
为了理解因果概率的界限是如何计算的,我们需要特殊的符号来表示反事实量。让\(y_t\)表示命题“如果治疗组被设置为‘治疗’,\(y\)将会发生”,\(y^{\prime}_c\)表示命题“如果治疗组被设置为‘控制’,\(y\)将不会发生”,同样适用于(假设的)二元结果和治疗变量的其余两种组合。
那么治疗对于\(y\)发生的充分概率可以定义为
这是当治疗实际上被设置为控制且结果未发生时,如果治疗被设置为\(t\),\(y\)发生的概率。
治疗对于\(y\)发生是必要的概率可以定义为
这是如果治疗设置为控制时\(y\)不会发生的概率,而实际上\(y\)发生了并且治疗也进行了。
最后,治疗既是必要又是充分的概率被定义为
并指出如果治疗发生,\(y\) 会发生;如果治疗没有发生,\(y\) 不会发生。PNS 与 PN 和 PS 的关系如下:
在限制上述三个量时,我们除了使用实验数据外,还利用了观测数据。观测数据的特征在于联合概率:
鉴于此,[27] 使用在 [8] 中开发的程序来获得上述三个量的严格界限。该程序的主要思想是将界限任务转化为线性规划问题(有关他们方法的现代实现,请参见 这里)。
使用线性规划方法并结合给定的约束条件和观测数据,[27] 发现PNS的下界由以下公式给出:
且尖锐上界由
他们使用类似的例程来找到PS和PN的边界。get_pns_bounds()函数使用[27]中的结果计算了三种因果概率的边界。
选定的传统方法
该包支持选定的传统因果推断方法。这些方法通常用于使用观察性(非实验性)数据进行因果推断。在这些类型的研究中,处理和对照组之间的观察差异通常不等于“潜在结果”之间的差异 \(\mathbb{E}[Y(1) - Y(0)]\)。因此,以下方法试图以不同的方式解决这个问题。
匹配
匹配的一般思想是找到在相关特征上尽可能相似的接受处理和未接受处理的单元。因此,匹配方法可以被视为试图模仿随机对照试验的因果推断方法家族的一部分。
虽然有多种不同的方法来匹配处理组和未处理组,但最常见的方法是使用倾向得分:
处理组和未处理组随后根据\(e(X)\)使用某种距离标准进行匹配,例如\(k:1\)最近邻。由于匹配通常是在处理群体和对照组之间进行的,这种方法估计了处理组的平均处理效应(ATT):
参见[24]以了解不同匹配方法的优缺点讨论。
治疗权重的逆概率
治疗逆概率加权(IPTW)方法使用倾向评分\(e\),通过实际治疗\(W\)概率的倒数来加权治疗和未治疗的人群。对于二元治疗\(W \in \{1, 0\}\):
通过这种方式,IPTW方法可以被视为创建了一个人工群体,其中接受处理和未接受处理的单位在其观察到的特征\(X\)方面是相似的。
与匹配相比,IPTW的一个可能优势是,由于处理单位和非处理单位之间缺乏重叠,可能会丢弃较少的数据。该方法的一个已知问题是,极端的倾向得分可能会产生高度可变的估计量。已经提出了不同的方法来修剪和归一化IPT权重([13])。IPTW方法的概述可以在[7]中找到。
两阶段最小二乘法 (2SLS)
识别\(W\)对\(Y\)处理效果的基本要求之一是,在给定协变量\(X\)的条件下,\(W\)与\(Y\)的潜在结果正交。如果\(W\)和\(Y\)都受到一个未观测变量的影响,即从\(Y\)中去除\(W\)的真实效应后的误差项,而这个变量不在\(X\)中,那么这一条件可能被违反。在这种情况下,工具变量方法试图借助与\(W\)相关但与误差项不相关的第三个变量\(Z\)来估计\(W\)对\(Y\)的影响。换句话说,工具\(Z\)仅通过经过\(W\)的有向路径与\(Y\)相关。如果这些条件得到满足,在没有协变量的情况下,可以使用以下样本模拟来估计\(W\)对\(Y\)的影响:
工具变量估计的最常见方法是两阶段最小二乘法(2SLS)。在这种方法中,首先将原因变量\(W\)对工具变量\(Z\)进行回归。然后,在第二阶段,将感兴趣的结果\(Y\)对第一阶段模型的预测值进行回归。直观地说,通过仅使用\(W\)中由\(Z\)变化引起的变异部分来估计\(W\)对\(Y\)的影响。具体来说,假设我们有线性模型
为了方便起见,我们设 \(\Xi=[W, X]\) 和 \(\gamma=[\alpha', \beta']'\)。假设我们有工具变量 \(Z\),其列数至少与 \(W\) 的列数相同,设 \(\Omega=[Z, X]\),2SLS 估计器如下
有关该方法的详细讨论,请参见[3]。
LATE
在许多情况下,治疗\(W\)可能取决于受试者自己的选择,并且不能在实验环境中直接进行。然而,可以随机将用户分配到治疗/对照组,以便可以推动治疗组中的用户接受治疗。这是不依从的情况,用户可能未能遵守他们的分配状态\(Z\),即是否接受治疗。与价值优化方法部分类似,在这种情况下通常有3种类型的用户,
Compliers 那些只有在被分配到治疗组时才会接受治疗的人。
总是接受者 那些无论被分配到哪个组都会接受治疗的人。
永不接受者 那些无论被分配到哪个组都不会接受治疗的人。
然而,假设为了识别目的没有违抗者,即那些只有在被分配到对照组时才会接受治疗的人。
在这种情况下,可以测量Compliers的治疗效果,
这是局部平均处理效应(LATE)。如果我们把分配状态\(Z\)作为工具变量,估计量也等同于2SLS。
针对ATE的目标最大似然估计(TMLE)
目标最大似然估计(TMLE)[17]提供了一种双重稳健的半参数方法,借助机器学习算法直接“瞄准”平均治疗效果。与结果回归和逆概率加权等其他方法相比,TMLE通常表现更好,尤其是在处理偏斜治疗和异常值时。
给定二元处理 \(W\),协变量 \(X\),和结果 \(Y\),ATE 的 TMLE 按以下步骤进行
步骤 1
使用交叉拟合来估计倾向得分 \(\hat{e}(x)\),处理组的预测结果 \(\hat{m}_1(x)\),以及对照组的预测结果 \(\hat{m}_0(x)\),通过机器学习实现。
步骤 2
将\(Y\)缩放到\(\tilde{Y}=\frac{Y-\min Y}{\max Y - \min Y}\),使得\(\tilde{Y} \in [0,1]\)。使用相同的缩放函数将\(\hat{m}_i(x)\)转换为\(\tilde{m}_i(x)\),\(i=0,1\)。裁剪缩放后的函数,使其值保持在单位区间内。
步骤 3
设 \(Q=\log(\tilde{m}_W(X)/(1-\tilde{m}_W(X)))\)。最大化以下伪对数似然函数
步骤 4
让
ATE估计是\(\tilde{Q}_1\)和\(\tilde{Q}_0\)在重新缩放到原始范围后的差异的样本平均值。