学习一下uplift model,听组内大佬说过但是没搞明白
因果推断基础
两大框架
因果推断最著名的两大流派:Structural Causal Model以及Potential Outcome Framework
- Structural Causal Model: 基于因果图,本质是处理各个变量间的因果关系,干预是重要概念,对应do算子
- Potential Outcome Framework:相对来说不注重因果关系,关注因果效,应控制变量,对原因做调整
几个基本假设
- 单位处理变量稳定性假设(Stable Unit Treatment Value Assumption,SUTVA),我理解有两层含义:
- 对不同对象的处理/干预不存在相互影响。也就是说不同对象的处理结果不应该依赖于其他个体的处理
- 对不同对象的处理/干预的属性应该一致
也就是说,被处理对象所接受的处理的性质应当是固定的 - 包含了另一个假设,一致性假设(Consistency),对象接受了反事实的处理,那么结果也是反事实的
- 可忽略性假设(Ignorability):被处理对象受影响进入干预组/对照组是随机事件,和潜在反事实不存在关系。
- 消除了混淆因素对最终结果的影响,也就是某些因素对分组和实验结果同时有影响
- e.g:所有男性进入干预组,女性进入对照组,这样最后的处理的结果就会有倾向性
- 为了确保可忽略性假设成立,最简单的就是随机试验。如果不能随机实验,就要通过实验设计或者统计方法,使观测性研究接近随机实验
- 正值假设:实验对象接受处理的概率∈(0,1),不能确定为0或1。
一些常用概念
定义:T=1表示接受treatment,T=0表示未接受treatment
ITE:Individual Treatment Effect, 个体处理效应
- $[\text{ITE}_i = Y_i(1) - Y_i(0) ]$
- 表示单个个体在接受与未接受treatment情况下的效果差异
- 由于个体在同一时间点只能处于处理或未处理状态,因此无法同时观测到 $(Y_i(1))$ 和 $(Y_i(0))$,这被称为因果推断中的反事实问题(Counterfactual Problem)。
ATE: Average Treatment Effect, 平均处理效应 - $[ \text{ATE} = \mathbb{E}[Y(1) - Y(0)] ]$
- ATE 是在整个群体上衡量处理效应的平均值,反映群体上的因果效应
- ATE 可以帮助我们判断一个政策或干预措施是否在总体上有正面或负面影响,是一个不关注个体差异的全局指标
CATE:Conditional Average Treatment Effect, 条件平均处理效应 - $[ \text{CATE}(X) = \mathbb{E}[Y(1) - Y(0) \mid X] ]$
- 在某些特定条件(如个体特征、环境变量、细分人群等)下的平均处理效应
- CATE 能帮助我们理解处理效应如何因个体特征的不同而变化,比 ATE 更细粒度,适用于个性化干预或推荐
| 概念 | 定义 | 适用场景 | 难度 |
|---|---|---|---|
| ITE | 个体处理效应,衡量单个个体的处理与未处理效果差异 | 个体化决策,如个性化推荐 | 极难 |
| ATE | 平均处理效应,衡量总体上处理的平均效果 | 总体评价,如政策整体效果 | 较易 |
| CATE | 条件平均处理效应,衡量特定条件下的平均处理效果 | 个性化策略,如分组营销 | 中等 |
我们很难直接观测到个体的 ITE,而 CATE 是对某一类人群的平均处理效应的估计,相对来说更容易得到。
主要原因:
- 反事实不可观测,导致 ITE 无法直接计算。
- 数据稀疏性,无法支持对每个个体进行可靠的效应估计。
- 模型误差敏感性,导致 ITE 估计的不稳定性。
- 因果推断方法的局限性,使其更多关注群体层面的效应估计。
Heterogeneous Treatment Effects:可以大致理解成CATE(?)
Heterogeneous Treatment Effects指处理效应在个体或群体之间的差异,目标是描述处理效应如何因个体特征(如年龄、性别、职业等)或环境变量(如时间、地点)而变化。CATE 是在条件 𝑋=𝑥下对 HTE 的一种简化和总结。
Uplift:在因果推断的上下文中,uplift 通常指一个策略的因果效应 - Uplift 通常和 ITE 更接近,因为它关注的是因果效应的个体化差异。
- 但在实际应用中,如果没有精确的 ITE,可以通过 ATE 或 CATE 来近似衡量整体或局部群体的 uplift,更多的是CATE。
uplift建模概览:
各种建模技术:
meta-learner
meta-learning method(元学习方法)就是简单地使用已有的机器学习算法(e.g. 线性回归,树模型,神经网络)来完成 CATE 估计的一系列方法的总称。
meta-learning 是用机器学习算法来估计treatment和control的结果,相减得到uplift,meta-learner划分:
T-learner(two learner):差分响应模型,在T=0的控制组和T=1的实验组各训练一个模型,控制组的数据只用控制组的数据,实验组只使用实验组的数据
实际应用时,两个组的数据分别放入两个模型,相减的结果就是uplift
S-learner(single learner):特征是treatment,比如是否发优惠券/是否推送广告,用实验组和控制组的样本都用来训练这个模型。
实际应用的时候,要预测的样本分别设定T=0和T=1就得到一yu对反事实的值,再相减就得到uplift
上面两种经典的方法非常直观自然,但是存在一些问题:
- T-learner在实验组和控制组的样本上分别训练模型,并用来估计反事实。但两组数据的样本分部会有差异,T-learner没能发挥全样本的优势,最后的反事实估计可能是有偏的
- S-learner使用了全部的样本,但把treatment作为特征的后果就是可能会淹没在特征中,应有的差异体现不出来。
关于T-learner的训练,因为T=0和T=1的数据是各自训练对应模型的,T=1的数据在大部分时候都很少,所以,T=1对应的模型训练会不充分。为了能利用全部的样本,应用X-learner。与T-learner一样,还是在T=0的控制组和T=1的实验组各训练一个模型,但反事实估计时,利用两个模型得到两组反事实训练样本:
如此利用训练样本天然的label,就得到了两组反事实训练样本。再训练两个模型来拟合这两组反事实得到的uplift
最终新样本的uplift是把这两个结果加权求和。加权求和的权重,就是前面提到的倾向值
这样两个learner就简介利用了全部的样本。
包含了一点回归调整匹配对于某一个样本X
一些DL的方法:
引进了DL的思想,算是对meta-learner方法的扩充(BLR,TarNet&CFRNet,SITE)
我们在估计时,模型训练使用的是事实数据,估计的是反事实,换句话说就是某样本在实验组或者控制组的potential outcome。这样的话存在一个问题,显然,实验组控制组的分布不会相同,估计的时候,我们也不知道样本会进入哪个模型。后面优化的思路重点在于克服分布不一致的情况
通用的做法比较符合直觉,首先度量实验组以及控制组的embedding分布差异。然后从从理论出发,证明uplift误差的上界
$$
uplift error ≤ l(treatment) + l(control) + f(D of distriDbution)
$$
$l(treatment)$和$l(control)$对应T-learner的两个lossfD,f(D of distribution)表示两个模型的embedding的分布距离。很显然,两个距离越近越好
BLR:
- 首先利用实验组和控制组训练一个平衡的Φ
- 利用Φ训练线性回归模型 $h(Φ,ti)$,uplift也就是 $h(Φ,t_1)−h(Φ,t_0)$了
从上面这里可以看出来,显然问题的关键就在于如何找到符合条件的Φ:
对于某一个样本X_i,显然我们最想要的就是这个样本的事实结果和反事实结果,但是很显然,并不存在现存的反事实。因此,我们需要寻找一个近似与这个样本的X_{j(i)},这样就得到了样本X_i的事实结果和近似上的反事实结果
训练网络是Φ,通过样本x我们可以通过线性变换得到Φ(X_i),根据表示函数训练的的结果,这部分是h(Φ(xi),ti),h这里也是一个线性变换,输入样本的表示和treatment条件,得到对应的latent outcome。
最后引入domain adaption来解决泛化的问题
TarNet&CFRNet:
BLR是个two-stage的方法,我们肯定会有念头,把它搞成one-stage。TarNet就是个一阶段的方法。Treatment状态作为一个特征加入,那就又可能被淹没在众多的特征中。在这篇文章里面直接把T=1和T=0分塔。
和BLR一样,依然是寻找一个分布近似的表示。
优化目标如下:
当 $\alpha > 0$ 时是CFR,等于0时则是TarNet。
在这里我们需要估算两个分布的散度,因此引入了integral probability metric(IPM),IPM可以引申出各种GAN。
SITE:
相似的样本在相似的处理下就会有相似的结果,这是一个十分自然的思路。在two-stage变成one-stage后,SITE的核心就在于如何保持局部的相似以及平衡分布