文章目录
❤️❤️❤️之前的《文献阅读》课程整理的报告,有错误的地方请指正❤️❤️❤️
更多内容可以看我的个人网站: 贪钱算法还我头发的个人网站
因果推断和增益模型
1. 绪论
在日常生活和数据分析中可以得到大量相关性的结论,我们通过各种统计模型、机器学习、深度学习模型,通过分析得到种种结论,但是这里面存在一个巨大的疑问就是:“相关性一定等于因果性吗?”下图为缅因州黄油消费量和离婚率的关系图,从图上可以看出这两个变量呈高度相关的关系,但是如果我们从因果的角度来阐释,说黄油消费导致了离婚,或者离婚导致了黄油出售,显然都非常荒谬。事实上,相关性通常是对称的,因果性通常是不对称的(单向箭头)。相关性不一定说明了因果性,但因果性一般都会在统计层面导致相关性。也即相关性 ≠ \neq =因果性。

另外一个例子,在智能营销的发放优惠券场景下用户可分为如下图所示四类。建模时主要针对persuadables营销敏感人群,即给这部分人群发券可以增加人群购买欲望从而增加收益。要避免sleeping dogs人群,这类人群发放优惠券会产生发作用,即会降低人群的购买欲望。人群的区分需要明确是否因为发放优惠券才导致了购买行为,这是一个因果推断问题。预测发放优惠券带来的收益是一个增益模型。由此引出两个概念:
- 因果推断(causal inference):即研究如何更加科学地识别变量间的因果关系,估算同一个体在干预和不干预(互斥情况下)不同输出的差异。
- 增益模型(uplift model):需要预测某种干预增量(uplift)的模型,即干预动作(treatment)对用户响应行为(outcome)产生的效果。为了克服估算同一个体同时受到干预和不干预这一反事实的现状,增益模型强依赖于随机实验(将用户随机分配到实验组&对照组)的结果数据。

2. 因果推断基础
以发放优惠券问题为例,建立以下因果推断模型:
- 输入变量 c o n t e x t x context \space x context x:包含用户的多维度特征信息
- 权益干预 t r e a t m e n t t treatment \space t treatment t:一般考虑二值干预 t i ∈ 0 , 1 t_i\in 0,1 ti∈0,1,如是否给用户发优惠券,发优惠券定义为treatment组,不发优惠券定义为control组。
- 输出变量 y y y:包括潜在结果protential outcome y y y和观察结果oberved outcome y o b s y_{obs} yobs
- 潜在结果 y 1 ( x ) , y 0 ( x ) y_1(x), y_0(x) y1(x),y0(x)分别为用户有没有给treatment
- 用户受到干预时, y o b s = y 1 ( x ) y_{obs}=y_{1}(x) yobs=y1(x),用户未受到干预时, y o b s = y 0 ( x ) y_{obs}=y_0(x) yobs=y0(x)
以上三个变量之间的关系如下图所示。

- 对于单个用户,希望得到individual treatment effect(ite), i t e = y 1 ( x ) − y 0 ( x ) ite=y_1(x)-y_0(x) ite=y1(x)−y0(x)
- 对于整体的效果,希望得到the average treatment effect(ate), a t e = e ( y 1 ( x ) − y 0 ( x ) ) ate=e(y_1(x)-y_0(x)) ate=e(y1(x)−y0(x))
ite和ate即因果效应 τ \tau τ(增益),增益模型目标是最大化增益。一般取所有用户的因果效应期望的估计值来衡量整个用户群的效果,称为条件平均因果效应(conditional average treatment effect, cate)。实际中对用户 i i i不可能同时观察到使用策略(treatment)和未使用策略(control)的输出结果,用下式表示用户可以观察到的输出结果,如果使用干预, w i w_i wi为1否则为0:
y i o b s = w i y i ( 1 ) + ( 1 − w i ) y i ( 0 ) y_i^{obs}=w_iy_i(1)+(1-w_i)y_i(0) yiobs=wiyi(1)+(1−wi)yi(0)
当假设CIA(conditional independence assumption)成立时,即给定特征下用户被随机分配到实验组/对照组(与用户的干预敏感度无关)。可以通过计算下式来估算每个个体的增益:
τ i = E [ y i o b s ∣ x i = x , w i = 1 ] − E [ y i o b s ∣ x i = x , w i = 0 ] \tau_i=E[y_i^{obs}|x_i=x, w_i=1]-E[y_i^{obs}|x_i=x, w_i=0] τi=E[yiobs∣xi=x,wi=1]−E[yiobs∣xi=x,wi=0]
由于增益无法观测,造成不能得到监督学习的label,如果得到了监督学习的label,就可以对数据集进行训练集测试集的划分,定义目标函数和损失函数进行神经网络训练,达到优化目标的目的。所以需要使用增益模型对评估增益的方法描述。通过ab实验可以获得使用干预策略和不使用干预策略两组人群,如果两组人群的特征分布一致,可以通过模拟两组人群的 τ ( x i ) \tau(x_i) τ(xi)得到个体用户的 τ ( x i ) \tau(x_i) τ(xi)。因此增益模型依赖ab实验的数据。ab实验也可以称为随机化实验(randomized controlled trials),在ab实验中,数据的treatment和control组理论上同质,即除treatment外其余特征相同。这就导致ab实验往往耗费的成本较高,是最“贵”的因果推断方式,有时候无法控制“treatment”,只能拨一小波人进行实验,需要通过子人群(obs数据)的增益效果来推断个体(rct数据)的增益效果。
基础的增益模型主要有以下三种:
- Meta Learning
- Tree-based Method(增量直接建模)
- Representation Learning
3. 主要增益模型
3.1 Meta Learning
这个方向使用基础的机器学习方法去首先估计条件平均输出 E [ y ∣ x = x ] ( c a t e ) E[y|x = x](cate) E[y∣x=x](cate),然后基于不同的结果获得cate estimator ,以下介绍几种经典的meta learning:
3.1.1 S-Learner(One Model)
通过现有模型(LR,GBDT,NN等)对treatment / control的数据进行训练,在预测的时候分别对该用户被干预和不被干预时的p进行预测计算,相减后便是增益。其计算步骤如下:
- ATE:
- step1: 模型条件期望 μ ( t , w ) = E ( y ∣ t , w ) \mu(t, w)=E(y|t,w) μ(t,w)=E(y∣t,w)
- step2: 每个样本的平均增益 τ ^ = 1 n ∑ i ( μ ^ ( 1 , w i ) − μ ^ ( 0 , w i ) ) \hat \tau =\frac{1}{n}\sum_i(\hat \mu(1, w_i)-\hat \mu(0, w_i)) τ^=n1∑i(μ^(1,wi)−μ^(0,wi))
- CATE
- step1: μ ( t , w , x ) = E ( y ∣ t = t , w = w , x = x ) \mu(t, w, x)=E(y|t=t,w=w,x=x) μ(t,w,x)=E(y∣t=t,w=w,x=x)
- step2: 每个样本的平均增益 τ ^ = 1 n ∑ i ( μ ^ ( 1 , w i , x ) − μ ^ ( 0 , w i , x ) ) \hat \tau =\frac{1}{n}\sum_i(\hat \mu(1, w_i, x)-\hat \mu(0, w_i, x)) τ^=n1∑i(μ^(1,wi,x)−μ^(0,wi,x))
- 优点:S-learner简单直观、直接使用既有预测算法;预测仅依赖一个模型,避免了多模型的误差累积;更多的数据和特征工程对预测准确率有利。
- 缺点:该方法不直接建模uplift;且需要额外进行特征工程工作(由于模型拟合的是y,所以若t直接作为一个特征放进去,可能由于对y的预测能力不足而未充分利用)。
- 应用:在因果推断未受关注之前,诸如优惠券发放的问题常用该方法,直接建模“对什么人,发放什么面额券,是否会下单”,预测阶段则对user和coupon交叉组合后进行预测,得到(user,coupon)组合的下单率,然后再依据预算、roi或其他约束进行mckp求解。
3.1.2 T-Learner(Two Model)
又称差分响应模型,通常作为baseline模型,模型分别在干预组和非干预组训练,即对 μ 1 ( w ) = E [ y i ( 1 ) ∣ x i ] \mu_1(w)=E[y_i(1)|x_i] μ1(w)=E[yi(1)∣xi

1万+

被折叠的 条评论
为什么被折叠?



