因果推断笔记——uplift建模、meta元学习、Class Transformation Method(八)

因果推断笔记——uplift建模、meta元学习、Class Transformation Method(八)文章目录 1uplift 模型介绍 为个体计算 ITE2 元学习方法 Meta learningmeth 2 1Conditional COM S learner2 2GroupedCOM GCOM T Learner2 3X Learner2 4R learner2 5 特殊 meta 学习 TheClassTran 参考文献 1uplift 模型介绍 为个体计算 ITE 有多种方


之前的文章:


1 uplift 模型介绍 —— 为个体计算ITE

1.1 模型方向

uplift model常见的方法:

  • tree-based: 和机器学习中的树基本一样(分裂规则、停止规则、剪枝),核心为分裂规则,根据每个叶子节点的uplift,计算分裂前后的信息差异。常用比如基于分布差异(KL、Euclidean等);或者结合bagging、boosting技术等
  • regression-based / Meta-Learning Method
    • two-model:实验对照组分别一个模型,之后做差。可能实验对照各自学的好,但是缺失了我们要的uplift增益效应
    • one-model:把T(是否发券)作为特征加入(其他模型T不作为特征),最终输出
    • 在这里插入图片描述
  • NN-Based Method
  • 聚类: 从目标上我们想圈一部分uplift高的人,且无label指导,从这个角度可能可以借鉴思路

1.2 ITE的假设前提

参考:Uplift-Model在贝壳业务场景中的实践

其中 Y i o b s Y_i^obs Yiobs 是用户i可以观察到的输出结果,W_i为二值变量,如果用户i被干预则W_i = 1,否则W_i = 0。当用户特征和干预策略满足条件独立假设(CIA,Conditional Independence Assumption)时,条件平均因果效应的期望估计值可以写作:
在这里插入图片描述
那么此时的ITE假设前提为:用户特征和干预策略相互独立:
{Y_i (1),Y_i (0)⊥W_i |X_i


那么什么样的样本用户这样的特征,这样的样本又该如何获取?

最简单直接的方式就是随机A/B实验,A组采用干预策略,B组不进行任何干预,经过A组和B组的流量得到的两组样本在特征分布上基本一致(即满足CIA),可以通过模拟两组人群的τ(X_i)进而得到个人用户的τ(X_i)。因此随机A/B实验在Uplift Model建模过程中至关重要,在训练样本高度无偏情况下,模型才能表现出更好的效果。


2 uplift方法一:元学习方法(Meta-learning methods)

而且,该方法是需要设立实验组treatment与对照组control的,所以是RCM理论下的产物。

Meta-learning methods方法的优缺点:

  • 【优点】:利用了既有预测算法的预测能力,方便易实现。
  • 【缺点】:不直接建模uplift,效果打折扣。

2.1 Conditional Outcome Modeling (COM) / S-learner

基于之前讨论我们得到ATE的识别为在这里插入图片描述
右边式子只包含statistical quantities,是statistical estimand。estimation需要我们用data估计estimate。最直接的办法就是我们可以先使用statistical model或者ML model估计conditional expectation,之后进行样本估计。
这里的估计,在实践看来其实就是利用模型的预测值

在这里插入图片描述
存在问题:当数据纬度变大时,容易产生估计偏差 (estimate biased towards 0!),这个很直观,假设数据有100维,T只是其中1维,模型训练时容易忽略这个维度,导致计算出来ATE -> 0,进而引出Grouped COM。

S-learner是将treatment作为特征,干预组和非干预组一起训练,解决了bias不一致的问题,但是如果本身X的high dimension可能会导致treatment丢失效果:

  • 【优点】S-Learner简单直观、直接使用既有预测算法;预测仅依赖一个模型,避免了多模型的误差累积;更多的数据和特征工程对预测准确率有利。
  • 【缺点】但是该方法不直接建模uplift;且需要额外进行特征工程工作(由于模型拟合的是Y,所以若W直接作为一个特征放进去,可能由于对Y的预测能力不足而未充分利用)。
  • 【应用】在因果推断未受关注之前,诸如”优惠券“发放的问题常用该方法,直接建模”对什么人,发放什么面额券,是否会下单“,预测阶段则对User和Coupon交叉组合后进行预测,得到(User,Coupon)组合的下单率,然后再依据预算、ROI或其他约束进行MCKP求解。

2.2 Grouped COM (GCOM) / T-Learner

GCOM引入为了解决COM中estimate biased towards to 0的问题,为了加强模型对T的权重,我们在估计 u u u时,分别对treatment组和control组使用不同的模型,其他流程与COM一样,也常叫T-Learner。

在这里插入图片描述

存在问题:每个estimator只使用部分数据,尤其当样本不足或者treatment、control样本量差别较大时,模型variance较大(对数据利用效率低),我们需要提升数据利用率!

  • 【优点】T-Learner一样简单直观、直接使用既有预测算法;将不同的数据集中的增量效果转换为模型间的差异,不需要太多的特征工程工作;当有随机试验的数据时该方法作为baseline很方便。
  • 【缺点】容易出现两个模型的Bias方向不一致,形成误差累积,使用时需要针对两个模型打分分布做一定校准;同时当数据差异过大时(如数据量、采样偏差等),对准确率影响较大。

进而引出接下来2个model TARNet和X-Learner。

2.3 X-Learner

2.4 R-learner

【Uplift】建模方法篇

不过,实现起来复杂度较高,不是特别实用。

2.5 特殊meta学习:The Class Transformation Method

【Uplift】建模方法篇

该方法有点像是S-Learner的升级版,但是又有一些改动。之前看到腾讯看点团队基于该方法进行改动。

在这里插入图片描述
在这里插入图片描述
最后,我们考虑一般情况,适用于非平衡非随机试验的数据,可用任意机器学习算法估计(同CATE):
在这里插入图片描述
这里p为倾向性得分



在证明前需要说明两个假设:

  • 用户特征和干预策略相互独立
  • 用户被分到实验组和对照组的概率一致P(T)=P©=0.5 (独有)

在贝壳中就使用了该模型:Uplift-Model在贝壳业务场景中的实践

当实验组和对照组的样本比例不相同时,这时对应的 Y i ∗ Y_i^* Yi是一个连续值,因此我们可以采用任意一种回归模型进行求解。

即使不满足(经常会有对照组数量远远小于实验组的情况),根据公式,训练数据的不平衡影响的只是P ( G = T ) 和P(G=C)的权重(原来的权重是1:1),如果模型结果有意义,并且如果在测试集和线上表现良好,那么也不一定非要满足P ( G = T ) = P ( G = C ) = 1/ 2 的假设,实践中都是结果导向。


3 uplift方法二:Tree-Based Method(增量直接建模)

3.1 分布散度下的Uplift-Tree

除此以外,分布散度还有个特点:通过公式可以推导,当结点中对照组数据为空时,KL散度会退化为决策树分裂准则中的信息增益;欧式距离和卡方散度将会退化为基尼指数。而当结点中实验组数据为空时,欧式距离将会化为基尼指数。这也是该类分裂准则的优点之一。

3.2 CausalForest

3.3 对uplift直接建模的CTS Tree

这里重点介绍其与上述Uplift Tree的区别:


4 NN-Based Method

4.1 DragonNet

在这里插入图片描述
然后,为了准确预测ATE而非关注到Y预测上,我们应尽可能使用X 中与 T 相关的部分特征。


5 Uplift Model 模型评估

常用分类和回归算法,可以通过 AUC、准确率和 RMSE 等去评估模型的好坏。而由于Uplift Model 中不可能同时观察到同一用户在不同干预策略下的响应,即无法获取用户真实增量, 我们也就无法直接利用上述评价指标去衡量模型的好坏。因此,Uplift Model 通常都是通过划分十分位数来对齐实验组和对照组数据,去进行间接评估。常用的评估方 法有 Qini 曲线、AUUC 等。

参考:

  • 【Uplift】评估方法篇

5.1 离线评估方法:Qini curve

Qini 曲线是衡量 Uplift Model 精度方法之一,通过计算曲线下的面积,类似 AUC 来评价模型的好坏。

5.2 离线评估方法:AUUC

值得注意的是,当分桶时,对照组边界点预估出的增量与实验组边界点的预估值有较大差别时候,以上的两个评估指标似乎都显得不那么可靠了。因此在实际中,我们使用的往往是AUUC 另外的一种计算方法。

5.2.1 AUUC非随机情况分析

参考:uplift模型评估指标及分析

5.2.2 AUUC非平衡情况分析

5.2.3 AUUC优化 – 降低方差

参考:uplift模型评估指标及分析

5.3 线上评估方法——腾讯的A/B 测试得到效应

最好的验证模型或策略效果的方法就是做线上的AB实验。在设计AB实验对比时,要小心处理目标的数据范围,在什么节点进行分流。

如果我们想知道的是全局的策略效果,则要在一开始就分流;而如果想知道策略生效部分的效果,则要在策略判定之后,对判定生效的部分进行分流,其中A桶原样返回,B桶生效返回。

5.4 Uplift decile charts

用第k组内Treatment和Control样本的y之差表示,如下图表示按照uplift得分降序排列后,前50%的样本Treatment是正效果的,而后50%是负效果。


参考文献

  • 因果推断–uplift model 评估
  • 因果推断综述及基础方法介绍(二)
  • 【Uplift】建模方法篇
  • 一文读懂uplift model进阶
  • DiDi Food中的智能补贴实战漫谈
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220700.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午7:51
下一篇 2026年3月17日 下午7:51


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号