Uplift Model
0.uplift modelling相关理论
- 定义:τ(x)=E[Yi(1)∣X]−E[Yi(0)∣X]\tau(x) = E[Y_i(1)|X]-E[Y_i(0)|X]τ(x)=E[Yi(1)∣X]−E[Yi(0)∣X],单个样本在有干预和没有干预两种情况的表现(potential outcome)的差值
- 目标:识别出营销敏感人群
- 挑战:无法同时观测单个样本在有干预和没有干预两种情况的表现
- 理论依据:当CIA假设成立时(Xi⊥TiX_i \bot T_iXi⊥Ti,样本特征X和T独立),ATE=τ(Xi)=E[Yi(1)∣X]−E[Yi(0)∣X]=E[Yi(1)∣Xi,Ti=1−E[Yi(0)∣Xi,Ti=0]ATE = \tau(X_i) = E[Y_i(1)|X]-E[Y_i(0)|X]= E[Y_i(1)|X_i,T_i=1-E[Y_i(0)|X_i,T_i=0]ATE=τ(Xi)=E[Yi(1)∣X]−E[Yi(0)∣X]=E[Yi(1)∣Xi,Ti=1−E[Yi(0)∣Xi,Ti=0]
- 需满足假设:CIA假设成立时(Xi⊥TiX_i \bot T_iXi⊥Ti,样本特征X和T独立),可通过随机化RCT实验实现
- 直观理解:举例一个场景:Y 代表用户广告转化,X 是用户维度的特征,T 代表的是营销的变量 ( 1 代表有干预,0 代表无干预 )。假设我们有两群同质用户,均来自一线城市/年龄段为 25-35/女性,我们可以对其中一组用户进行广告投放,另外一组不进行任何干预,之后统计这两群人在转化率上的差值,这个差值可以被近似认为是具备同样特征的人可能的平均因果效应。所以 Uplift Model 本质是从T=1/T=0两组无偏样本中学习ATE,通过模型的泛化性对未知样本进行预测。
1.uplift modelling 常用方法
1.1 tree-based
和机器学习中的树基本一样(分裂规则、停止规则、剪枝),核心为分裂规则,根据每个叶子节点的uplift,计算分裂前后的信息差异(如转化率的差异)。常用比如基于分布差异(KL、Euclidean等);或者结合bagging、boosting技术等。
1.2 regression-based / Meta-Learner
1.2.1 S-learner和T-learner
T-learner
用两个分别base learner去模拟干预组的outcome和非干预组的outcome
- 优点是,The T-learner tries to solve the problem of discarding the treatment entirely by forcing the learner to first split on it,hence, avoids the problem of not picking up on a weak treatment variable
- 缺点是,容易出现两个模型的Bias方向不一致,形成误差累积,使用时需要针对两个模型打分分布做一定校准
S-learner
是将treatment作为特征,干预组和非干预组一起训练,
- 优点是,解决了bias不一致的问题
- 缺点是,如果本身X的high dimension可能会导致treatment丢失效果。if the treatment is very weak relative to the impact other covariates play in explaining the outcome, the S-learner can discard the treatment variable completely. Notice that this is highly related to the chosen ML model you employ. The greater the regularization, the greater the problem
1.2.2 X-learner
T-learner和S-learner是一种naive的方法,无法解决样本不均衡的问题、selection bias等问题。
例子
T=1组只有少量样本(as treatment is often expensive),假设T、X和Y的关系是非线性的,且treatment effect是个常数等于1
第一步:T=1和T=0组分别构建模型
rightmodel非线性:M^0(X)=E(Y∣T=0,X)wrongmodel线性:M^1(X)=E(Y∣T=1,X)\begin{aligned} right \ model \ 非线性:\hat M_0(X) = E(Y|T=0,X) \\ wrong \ model \ 线性:\ \hat M_1(X) = E(Y|T=1,X) \end{aligned} right model 非线性:M^0(X)=E(Y∣T=0,X)wrong model 线性: M^1(X)=E(Y∣T=1,X)
训练得到的M^1(X)\hat M_1(X)M^1(X)模型非常简单,是个线性模型。因为样本少,为了防止过拟合,模型自然简单。但T=0组样本量充足,M^0(X)\hat M_0(X)M^0(X)模型捕捉到了Y的非线性关系。C^ATE=τ^=M^1(X)−M^0(X)\hat CATE = \hat \tau = \hat M_1(X)-\hat M_0(X)C^ATE=τ^=M^1(X)−M^0(X),是个非线性的结果,这与实际不符(实际的treatment effect是个常数等于1)。图中蓝色点是T=1组的观测Y,蓝线是M^1(X)\hat M_1(X)M^1(X);图中红色点是T=0组的观测Y,红线是M^0(X)\hat M_0(X)M^0(X)
第二步:用T=0组的模型去预测T=1组的outcome,并和T=1组的观测Y相减
wrongmodel非线性:τ^(X,T=0)=M^1(X,T=0)−YT=0rightmodel线性:τ^(X,T=1)=M^0(X,T=1)−YT=1\begin{aligned} wrong \ model \ 非线性 : \hat \tau(X,T=0) = \hat M_1(X,T=0)-Y_{T=0} \\ right \ model \ 线性: \hat \tau(X,T=1) = \hat M_0(X,T=1)-Y_{T=1} \end{aligned} wrong model 非线性:τ^(X,T=0)=M^1(X,T=0)−YT=0right model 线性:τ^(X,T=1)=M^0(X,T=1)−YT=1
红色点是 τ^(X,T=0)\hat \tau(X,T=0)τ^(X,T=0)是用错误的线性模型M^1(X)\hat M_1(X)M^1(X)估计出来的,该估计是错的(真实treatment effect是常数1);蓝色点是 τ^(X,T=0)\hat \tau(X,T=0)τ^(X,T=0)是用正确的非线性模型M^0(X)\hat M_0(X)M^0(X)估计出来的,该估计是对的,和真实treatment effect是常数1的设定相符;
将红色点和蓝色点拟合成模型:
wrongmodel非线性:F^τ0=E[τ^(X)∣T=0]rightmodel线性:F^τ1=E[τ^(X)∣T=1]\begin{aligned} wrong \ model \ 非线性 : \hat F_{\tau0} = E[\hat \tau(X)|T=0] \\ right \ model \ 线性: \hat F_{\tau1} = E[\hat \tau(X)|T=1] \end{aligned} wrong model 非线性:F^τ0=E[τ^(X)∣T=0]right model 线性:F^τ1=E[τ^(X)∣T=1]
第三步:得到正确的τ^1\hat \tau_1τ^1和错误的τ^0\hat \tau_0τ^0之后,通过倾向性得分加权最终的预估τ^\hat \tauτ^
τ^(X)=F^τ0∗e^(X)+F^τ1∗(1−e^(X))\hat \tau(X) = \hat F_{\tau0} *\hat e(X)+ \hat F_{\tau1} *(1-\hat e(X))τ^(X)=F^τ0∗e^(X)+F^τ1∗(1−e^(X))
T=1组样本量少,e^(T=1∣X)\hat e(T=1|X)e^(T=1∣X)的预测样本也较少,所以错误的τ^0\hat \tau_0τ^0获得权重较低,(1−e^(X))(1-\hat e(X))(1−e^(X))接近1,所以正确的τ^1\hat \tau_1τ^1获得较高的权重。
图中虚线为τ^X\hat \tau^Xτ^X,表示X-learner预测得到的C^ATE\hat CATEC^ATE;实线为τ^T\hat \tau^Tτ^T,表示T-learner预测得到的C^ATE\hat CATEC^ATE,可以看到X-learner的预测更接近treatment effect是常数1的设定。
2.uplift modelling 评估方法
- uplift modelling 评估难点:对单个样本的uplift ground truth未知
- 解决思路:构造两组特征相似的人群,将两组人群的表现差异作为uplift ground truth
相似人群构造:对T=1/T=0两组群人分别预估uplift score,之后将人群按照 uplift score 进行降序排列,通过 score 分数这一桥梁,可以把两组人群进行镜像人群的对齐,之后分别截取分数最高的比如 10% 的用户出来,计算这一部分人观测转化率的差异,这个差异就可以近似地认为是分数最高的这群人真实的uplift,类似地,我们可以计算前 20%,40% 一直到 100% 的点上面的值,连线就能得到 uplift curve。
2.1 Qini Curve
Q(i)=(Nt,y=1(i)Nt−Nt,y=0(i)Nc),i=10%,20%,⋯100%Q(i) = (\frac {N_{t,y=1}(i)}{N_t}-\frac {N_{t,y=0}(i)}{N_c}),i=10\%,20\%,\cdots 100\%Q(i)=(NtNt,y=1(i)−NcNt,y=0(i)),i=10%,20%,⋯100%
- Nt{N_t}Nt表示实验组总样本量,Nc{N_c}Nc表示对照组总样本量;
- 当i=10%i=10\%i=10%时,Nt,y=1(i)N_{t,y=1}(i)Nt,y=1(i)表示实验组前10%样本中,y=1的数量,即转化人数占比;
- 如果实验组和对照组用户数量差别比较大,结果容易失真
2.2 AUUC(Area Under the Uplift Curve)
G(i)=Nt,y=1(i)nt(i)−Nt,y=0(i)nc(i)∗(nt(i)+nc(i)),i=10%,20%,⋯100%G(i) = \frac {N_{t,y=1}(i)}{n_t(i)}-\frac {N_{t,y=0}(i)}{n_c(i)}*(n_t(i)+n_c(i)),i=10\%,20\%,\cdots 100\%G(i)=nt(i)Nt,y=1(i)−nc(i)Nt,y=0(i)∗(nt(i)+nc(i)),i=10%,20%,⋯100%
- 当i=10%i=10\%i=10%时,nt(i)n_t(i)nt(i)表示实验组样本量,nc(i)n_c(i)nc(i)表示对照组样本量
- 与Qini系数相比,累积增益的分母是百分比下的实验组或对照组人数,并乘以nt(i)+nc(i)n_t(i)+n_c(i)nt(i)+nc(i)作为全局调整系数,避免实验组和对照组用户数量不平衡导致的指标失真问题。??为什么能实现??
+** Qini是算的实验组和对照组转化率的差值,AUUC是算的实验组和对照组转化用户数量的绝对差值,QIni是不是要成一Nt+NcN_t+N_cNt+Nc???**
参考资料
21 - Meta Learners - Causal Inference for The Brave and True
阿里文娱智能营销增益模型 (Uplift Model) 技术实践
智能营销增益模型(Uplift Modeling)的原理与实践
Uplift Model相关推荐
- uplift model学习笔记
一.解决的问题: 通常的 Propensity Model 和 Response Model 只是给目标用户打了个分,并没有确保模型的结果可以使得活动的提升最大化:它没有告诉市场营销人员,哪个用户最有 ...
- 智能营销增益模型(Uplift Modeling)的原理与实践
文章目录 增益模型因果与推论(Causal Inference) 增益模型的表示 差分响应模型(Two-Model Approach) 模型优缺点 差分响应模型升级版(One-Model Approa ...
- 因果推断笔记——uplift建模、meta元学习、Class Transformation Method(八)
文章目录 1 uplift 模型介绍 -- 为个体计算ITE 1.1 模型方向 1.2 ITE的假设前提 2 uplift方法一:元学习方法(Meta-learning methods) 2.1 Co ...
- 该把优惠券发送给哪些用户?一文读懂Uplift模型
随着互联网和人工智能的普及化,个性化营销已经渗透到了我们生活中的方方面面.而如何找到真正的营销敏感人群,将更多的预算投入到可以带来'增量'的用户上,以提升整体营销roi,成为了后时代精细化运营的关键. ...
- 因果效应与uplift模型
最近工作中遇到了类似营销场景下找出对营销敏感用户的问题,用到了uplift model.所以想对uplift model做个简单的总结. 因果推断 这是一个非常大的研究领域,它是推断一个变量对另外一个 ...
- 智能营销增益(Uplift Modeling)模型——模型介绍(一)
文章目录 1 Uplift Modeling与reponse model模型的差异 1.1 增益模型与响应模型的差异 1.2 增益模型与响应模型的混淆 1.3 业务疑问与需求 1.3.1 多维度建模 ...
- 这里有个自学数据分析并拿到大厂offer的文科小姐姐
今天跟大家推荐一个自学数据分析的文科妹子[糖甜甜甜],本科就读于重庆双非市场营销专业,后保研至某985大学,自学数据分析相关内容,研究生期间先后在亚马逊.阿里实习做数据分析师工作.个人公众号为:「Da ...
- 算法在哈啰顺风车中的实践应用
导读:如果科技让出行更美好,可以推动出行的进化,那么AI算法模型的应用,就是其中一个最大的推动力.本次分享的主题为算法在哈啰顺风车中的实践应用,将首先介绍算法同学依托于什么样的算法平台来解决哪些具体的 ...
- Capital one TPS整理
Credit Card Fraud Detection 7 times from 2015 to 2017 What machine learning model would you use to c ...
- auuc 评估指标_广告中增益模型理解
由于工作的需要,广告增益越来越进入到我们的视野当中,收益永远是广告主评价广告投放的重要标准,但是这种收益也慢慢被认为有两种. 一种是广告投放所带来的直接收益,比如用户A广告投放后的cvr为3%,用户B ...
最新文章
- uLua中遇到的问题
- 设计模式之Prototype(原型)(转)
- Android自定义控制(五)仿新浪微博的下拉刷新
- 算法导论之贪心算法(Huffman编码和拟阵)
- pytorch 中的 @ 和 * 运算符
- ip 地址 192.168.1.255 代表( )。_ip地址基础入门知识
- aspnetpager的使用(完美篇)
- 【学习笔记】局域网基本概念和体系结构,以太网、无线局域网与PPP协议、HDLC协议
- 目前游戏建模公司大多开出高薪,以期能够留住人才,吸纳更多人才
- 微信圈子将于12月28日停止运营,网友:不是微信朋友圈?
- 20180929 北京大学 人工智能实践:Tensorflow笔记04
- 当画面出现问题时,如何调试!
- 将一个数组划分成总和相等的两部分
- 使用fastcoll生成字符串MD5碰撞
- 时间戳转换年月日天方法
- 上海怎样查询最近三年社保明细
- configure报错
- linux jpg图片缩放,ImageMagick之图片缩放
- win10病毒和威胁防护无法重新启动解决方法
- .net导入Excel 并显示进度条
热门文章
- python 数据可视化sns作图
- matlab基础学习——基础数学函数(持续更新)
- 区块链的隐私保护问题
- 网站打不开如何解决?教你4个方法搞定它!
- wxid中文是什么_wxid开头的微信号是什么意思?怎么添加微信好友
- 利用CRISPR基因编辑高效靶向诱变玉米农作物/植物核糖蛋白复合物的研究
- powerbi服务器无法显示报表,Power BI 报表中的页面显示设置 - Power BI | Microsoft Docs...
- 华硕固件 mysql_刷华硕固件后的桥接中继教程
- 网关和路由器的区别?
- 运用ECharts展示股票k线图