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=0​right 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)=(Nt​Nt,y=1​(i)​−Nc​Nt,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相关推荐

  1. uplift model学习笔记

    一.解决的问题: 通常的 Propensity Model 和 Response Model 只是给目标用户打了个分,并没有确保模型的结果可以使得活动的提升最大化:它没有告诉市场营销人员,哪个用户最有 ...

  2. 智能营销增益模型(Uplift Modeling)的原理与实践

    文章目录 增益模型因果与推论(Causal Inference) 增益模型的表示 差分响应模型(Two-Model Approach) 模型优缺点 差分响应模型升级版(One-Model Approa ...

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

    文章目录 1 uplift 模型介绍 -- 为个体计算ITE 1.1 模型方向 1.2 ITE的假设前提 2 uplift方法一:元学习方法(Meta-learning methods) 2.1 Co ...

  4. 该把优惠券发送给哪些用户?一文读懂Uplift模型

    随着互联网和人工智能的普及化,个性化营销已经渗透到了我们生活中的方方面面.而如何找到真正的营销敏感人群,将更多的预算投入到可以带来'增量'的用户上,以提升整体营销roi,成为了后时代精细化运营的关键. ...

  5. 因果效应与uplift模型

    最近工作中遇到了类似营销场景下找出对营销敏感用户的问题,用到了uplift model.所以想对uplift model做个简单的总结. 因果推断 这是一个非常大的研究领域,它是推断一个变量对另外一个 ...

  6. 智能营销增益(Uplift Modeling)模型——模型介绍(一)

    文章目录 1 Uplift Modeling与reponse model模型的差异 1.1 增益模型与响应模型的差异 1.2 增益模型与响应模型的混淆 1.3 业务疑问与需求 1.3.1 多维度建模 ...

  7. 这里有个自学数据分析并拿到大厂offer的文科小姐姐

    今天跟大家推荐一个自学数据分析的文科妹子[糖甜甜甜],本科就读于重庆双非市场营销专业,后保研至某985大学,自学数据分析相关内容,研究生期间先后在亚马逊.阿里实习做数据分析师工作.个人公众号为:「Da ...

  8. 算法在哈啰顺风车中的实践应用

    导读:如果科技让出行更美好,可以推动出行的进化,那么AI算法模型的应用,就是其中一个最大的推动力.本次分享的主题为算法在哈啰顺风车中的实践应用,将首先介绍算法同学依托于什么样的算法平台来解决哪些具体的 ...

  9. Capital one TPS整理

    Credit Card Fraud Detection 7 times from 2015 to 2017 What machine learning model would you use to c ...

  10. auuc 评估指标_广告中增益模型理解

    由于工作的需要,广告增益越来越进入到我们的视野当中,收益永远是广告主评价广告投放的重要标准,但是这种收益也慢慢被认为有两种. 一种是广告投放所带来的直接收益,比如用户A广告投放后的cvr为3%,用户B ...

最新文章

  1. uLua中遇到的问题
  2. 设计模式之Prototype(原型)(转)
  3. Android自定义控制(五)仿新浪微博的下拉刷新
  4. 算法导论之贪心算法(Huffman编码和拟阵)
  5. pytorch 中的 @ 和 * 运算符
  6. ip 地址 192.168.1.255 代表( )。_ip地址基础入门知识
  7. aspnetpager的使用(完美篇)
  8. 【学习笔记】局域网基本概念和体系结构,以太网、无线局域网与PPP协议、HDLC协议
  9. 目前游戏建模公司大多开出高薪,以期能够留住人才,吸纳更多人才
  10. 微信圈子将于12月28日停止运营,网友:不是微信朋友圈?
  11. 20180929 北京大学 人工智能实践:Tensorflow笔记04
  12. 当画面出现问题时,如何调试!
  13. 将一个数组划分成总和相等的两部分
  14. 使用fastcoll生成字符串MD5碰撞
  15. 时间戳转换年月日天方法
  16. 上海怎样查询最近三年社保明细
  17. configure报错
  18. linux jpg图片缩放,ImageMagick之图片缩放
  19. win10病毒和威胁防护无法重新启动解决方法
  20. .net导入Excel 并显示进度条

热门文章

  1. python 数据可视化sns作图
  2. matlab基础学习——基础数学函数(持续更新)
  3. 区块链的隐私保护问题
  4. 网站打不开如何解决?教你4个方法搞定它!
  5. wxid中文是什么_wxid开头的微信号是什么意思?怎么添加微信好友
  6. 利用CRISPR基因编辑高效靶向诱变玉米农作物/植物核糖蛋白复合物的研究
  7. powerbi服务器无法显示报表,Power BI 报表中的页面显示设置 - Power BI | Microsoft Docs...
  8. 华硕固件 mysql_刷华硕固件后的桥接中继教程
  9. 网关和路由器的区别?
  10. 运用ECharts展示股票k线图