因果推断学习笔记三——Uplift模型

一、Uplift模型

因果推断在互联网界应用主要是基于Uplift model来预测额外收益提升ROI。Uplift模型帮助商家计算人群营销敏感度,驱动收益模拟预算和投放策略制定,促成营销推广效率的最大化。同时如何衡量和预测营销干预带来的“增量提升”,而不是把营销预算浪费在“本来就会转化”的那部分人身上,成为智能营销算法最重要的挑战。

举个例子🌰:对用户A和用户B都投放广告,投放广告后用户A的CVR(转化量/点击量)为5%,用户B的CVR为4%,那么是否就给用户A投广告呢?仅从投放广告后的结果来看是这样的。但如果投放广告前用户A的CVR为4%,用户B的CVR为2%,那么我们就认为广告投放本身所带来的收益B要比A多,所以把广告投给用户B。

Uplift模型的作用就是计算人群营销敏感度,具体就是计算每个用户的增益,再根据广告主设置的预算以及其它限制看是否对该用户投放广告。

在这里插入图片描述

  • persuadables: 不发券就不购买、发券才会购买的人群,即优惠券敏感人群
  • sure thing:无论是否发券,都会购买,自然转化
  • lost causes:无论是否发券都不会购买,这类用户实在难以触达到,直接放弃
  • sleeping dogs:与persuadables相反,对营销活动比较反感,不发券的时候会有购买行为,但发券后不会再购买。

建模时主要针对persuadables人群,并且要避免sleeping dogs人群。如果使用reponse model,则难以区分这几类人群,因为模型只预测是否购买,可能转化的用户中persuadable的比例相当少,并不是营销中的target。

Uplift模型用于预测/估计某种干预对个体状态/行为的因果效应。可以形式化为以下等式:
τ i = p ( Y i ∣ X i , T i = 1 ) − p ( Y i ∣ X i , T i = 0 ) (1) \tau_i=p(Y_i|X_i, T_i=1)-p(Y_i|X_i, T_i=0)\tag1 τi=p(YiXi,Ti=1)p(YiXi,Ti=0)(1)
其中, Y i Y_i Yi表示潜在结果(比如转化率,点击率等), X i X_i Xi表示用户的特征, T i = 1 T_i=1 Ti=1表示进行干预, T i = 0 T_i=0 Ti=0表示不进行干预,应用在广告营销中就可以形象的表示为某用户在经过广告投放行为之后,用户发生某种行为(点击或购买)增加的概率

注意到,对于一个用户,我们只能对他进行干预或者不干预,即只能观测到 T 1 = 1 T_1=1 T1=1 T 1 = 0 T_1=0 T1=0,所以对于一个个体的增益 τ i \tau_i τi是观测不到的。

所以我们可以考虑总体的(人群的子人群,即用一个人群的因果效果来表示一个单个人的因果效果),即平均因果效应(Average treatment effect,简记为ATE): A T E = E ( Y i ( 1 ) − Y i ( 0 ) ) = E ( Y i ( 1 ) ) − E ( Y i ( 0 ) ) (2) ATE=E(Y_i(1)-Y_i(0))=E(Y_i(1))-E(Y_i(0))\tag2 ATE=E(Yi(1)Yi(0))=E(Yi(1))E(Yi(0))(2)

T i ∈ { 0 , 1 } T_i\in\{0, 1\} Ti{ 0,1}表示是否进行干预,那么可有 Y i o b s = T i Y i ( 1 ) + ( 1 − T i ) Y i ( 0 ) (3) Y_i^{obs}=T_iY_i(1)+(1-T_i)Y_i(0)\tag3 Yiobs=TiYi(1)+(1Ti)Yi(0)(3)

这里详细介绍了在合理的假设下,即在一个确定的特征 X i X_i Xi下,用户是随机分到treatment组和对照组的,那么 ( 2 ) (2) (2)式可化为 A T E = E ( Y i ∣ T i = 1 ) − E ( Y i ∣ T i = 0 ) = E ( Y i o b s ∣ X i = x , T i = 1 ) − E ( Y i o b s ∣ X i = x , T i = 0 ) (4) ATE=E(Y_i|T_i=1)-E(Y_i|T_i=0)=E(Y_i^{obs}|X_i=x,T_i=1)-E(Y_i^{obs}|X_i=x,T_i=0)\tag4 ATE=E(YiTi=1)E(YiTi=0)=E(YiobsXi=x,Ti=1)E(YiobsXi=x,Ti=0)(4)

从而可以设计随机化的A/B Test。

二、建模

补贴活动提升的购买意愿为 τ ( X i ) = P ( Y i = 1 ∣ X i , T i = 1 ) − P ( Y i = 1 ∣ X i , T i = 0 ) \tau(X_i)=P(Y_i=1|X_i,T_i=1)-P(Y_i=1|X_i,T_i=0) τ(Xi)=P(Yi=1Xi,Ti=1)P(Yi=1Xi,Ti=0),由于我们得不到一个用户的 τ i \tau_i τi,所以无法得到真正的label,造成监督学习无法进行。在缺少真正 τ i \tau_i τi的情况下,一般有三大类方法来评估 τ i \tau_i τi:The Class Transformation Method、Meta-Learning Method、Tree-Based Method。

2.1 The Class Transformation Method

该方法应该归于Meta-Learning Method,这里为了不混淆单列出来。该方法适用于Treatment和Outcome都是二类分类的情况,通过将预测目标做单类的转换,从而实现单模型预测。

首先,定义新的变量 Z i = Y i o b s T i + ( 1 − Y i o b s ) ( 1 − T i ) (5) Z_{i}=Y_{i}^{o b s} T_{i}+\left(1-Y_{i}^{o b s}\right)\left(1-T_{i}\right)\tag5 Zi=YiobsTi+(1Yiobs)(1Ti)(5)
由于Treatment和Outcome都是二类分类,所以 Y i o b s ∈ { 0 , 1 } Y_i^{o b s}\in\{0, 1\} Yiobs{ 0,1} T i ∈ { 0 , 1 } T_i\in\{0, 1\} Ti{ 0,1},所以当 Y i o b s = T i = 0 Y_i^{o b s}=T_i=0 Yiobs=Ti

### 关于因果推断Uplift 模型的实现方法 Uplift 模型是一种专门设计用于评估干预措施(如广告、促销活动或其他策略)对个体行为的影响的方法。其核心目标在于预测不同干预组之间的差异,即所谓的“增量效应”。以下是有关 Uplift 模型的一些重要概念及其在机器学习中的实现方式。 #### 1. 基本定义与挑战 Uplift 模型的核心思想是通过比较接受干预(T=1)和未接受干预(T=0)两组人群的行为变化来量化干预的效果。然而,在实际应用中存在一些难点[^2]: - **缺乏个体样本**:由于无法同时观测到同一人在接受干预和不接受干预两种情况下的表现,因此需要用群体样本来近似估计个体因果效应。 - **建模目标偏差**:传统的机器学习模型通常关注响应率(Response),而非真正的 uplift 效应,这可能导致对 uplift 的识别能力较弱[^3]。 #### 2. 实现方法概述 目前有多种技术可以用来构建 Uplift 模型,主要包括以下几种: ##### (1)基于分类器差分法 这种方法是最简单的实现之一,具体做法如下: - 构建两个独立的分类器分别针对 T=1 和 T=0 进行训练; - 对测试集上的每个样本计算两个分类器输出的概率之差作为 uplift 预测值。 尽管此方法易于理解并快速实施,但它也存在一定缺陷——当两个模型累积误差较大时会影响最终结果的质量。 ##### (2)单模型方法 为了克服上述多模型带来的误差传播问题,研究人员提出了直接优化 uplift 函数的形式化表达式的单一模型框架。这类方法试图最大化特定损失函数以捕捉 treatment effect 而不是单纯 response rate 。例如 Causal Tree 或 Meta-Learner 等算法均属于此类别[^4]。 ```python from sklearn.model_selection import train_test_split import numpy as np from causalml.inference.tree import UpliftTreeClassifier # 数据准备 X, y, treat = ... # 特征矩阵 X ,标签向量 y , 处理指示变量treat # 划分训练集与验证集 X_train, X_val, y_train, y_val, t_train, t_val = \ train_test_split(X, y, treat, test_size=0.2) # 训练Uplift模型 model = UpliftTreeClassifier(max_depth=5, min_samples_leaf=100) model.fit(X_train, t_train, y_train) # 输出决策路径可视化图 print(model.print_tree()) ``` ##### (3)双模型交互项扩展 另一种改进思路是在标准监督学习基础上引入额外特征表示是否存在干预操作,并将其与其他协变量交叉相乘形成新的输入维度供后续分析使用。这样做的好处是可以更灵活地探索复杂非线性关系模式的同时保持原有架构不变形太剧烈从而便于调试维护等工作开展下去。 --- ###
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值