(Tech)一个简单的解决方法是构造实验和特征
分享嘉宾|周小羽 快手 经济学家团队Tech Lead编辑整理|王鑫民 同济大学
出品平台|DataFunTalk
01
介绍
首先简单介绍Uplift。
Uplift 模型要做的就是预估每一个人对实验的反应,从而圈选一部分对实验敏感性较高的人群。举个事例,商家希望通过给顾客发美妆折扣券提升顾客在店家的消费。当店家对所有用户发美妆产品的折扣券时,男性用户可能难以get到这个折扣券的好处,而男性用户可能会更被这个策略吸引。如果我们估算发折扣券的平均疗效——即ATE(average treatment effect)时,如果女性用户无反馈而男性是正反馈,两个群体的实验疗效加上去可能是不明显的。
进一步地,我们希望发觉激励疗效明显的用户群体,业务上比较常见的做法是用户分层,但是传统的用户分层很难展示高维度的分层结果,这也是Uplift流行的诱因——我们希望恐怕高维度的异质性因果效应——HTE (heterogeneous treatment effect),而并非ATE。
估计HTE的方式有很多,例如casual tree,casual forest等,我们先从线性模型的角度讲解怎样从ATE恐怕到HTE。在实验变量离散的情况下(即传统做法,将用户分为实验组和对照组),ATE的估算公式为两个用户组结果变量diff的期望;在实验变量是连续的情况下(比如实验变量是药剂剂量时),ATE的估算公式就是结果变量对实验变量导数。用散点图说明:当x轴是实验变量、y轴是结果变量时,ATE为各点拟合曲线的斜率。以此类推,HTE须要我们对每位点求斜率。
一个简单的解决方式是构造实验变量和特点变量的交互项而且拟合一个线性函数:对没有交互项的函数,求解的实验效应是常数,即所有人实验效应相同;对于有交互项的函数,求解的实验效应是一个关于特点变量X的函数。对于该种HTE的方式,我们也可以称其为CATE (conditional average treatment effect),因为它conditional on 了特点变量X。
举例:假设用户的数据包含了性别和年纪这两个画像变量,且均被 one-hot编码——性别等于 1 为女性,性别等于 0 为男性,年龄1为小于 30 岁、0为大于30岁。在这两个维度下,用户可以被分成四个人群,我们希望恐怕每位人群的异质性因果效应。线性模型求解结果如表中公式所示。该方式的优点在于:
①易于理解:HTE等同于用户分层以后对各群体求ATE。
②可以进行统计检验:通过 delta method 快速估算标准偏差。
02
难点
快手在应用Uplift模型中遇见了如下一些问题。
第一个问题:业务场景下实验变量常常是连续的。当第一单位和第二单位的边际影响不同时,我们应怎样捕捉但是量化这个现象?
比如push 消息:我们希望通过 push 让降低用户的 App时长。每天push 一两条一般人可以接受,但是用户收到第五条时,他们会就很厌恶甚至会关闭 push提醒功能,这样平台之后就再也没有拉起该用户的机会了。我们希望有一个除了能给出HTE、还能估算每位用户在不同实验剂量下的边际效应的模型。这样就可以晓得应当给什么用户多push 几条。
再举个反例:当一个作者粉丝数降低的时侯,我们希望他能更多地在平台上进行生产。我们发觉作者降低的第一个 1000 单位粉丝和第二个 1000 单位粉丝带来的作品发布数的增量是不一样,因为大 V主播和小主播对同等量级的粉丝增量的体感不同。如何 capture 这个规模效应也是业务时常遇见的问题。
第二个问题:非线性模型怎么做统计检验?
线性模型因为假定太强,模型疗效常常表现很差。换成更复杂的机器学习模型以后, delta method不再适用于求标准偏差。并且非常对于一些波动非常大的指标,即使用delta method疗效也不好。因此我们须要晓得怎样判别指标的显著性。
对于上述两个问题,我们简单地介绍在快手的解决方式。
首先是恐怕规模效应。以作者和作者生产数为例,经济学中有一个理论叫边际效应递减法则:即作者粉丝数降低时,单纯通过涨粉对于作者生产数形成的激励存在一个上限。如上图所示,我们期望见到降低单位粉丝带来的生产数实际是逐步递减的。如果能预估该作者的涨粉能力上限和生产数上限,对平台资源的分配是有极大帮助。
一个比较粗鲁的解题思路是建立一个函数方式,使HTE为一个关于实验变量的函数。
以之前谈到过的线性函数为例(左框中的公式),我们对干预变量和特点变量进行交互,求解得到的HTE是一个关于X的函数。但该方式下第一单位的treatment effect和第二单位的treatment effect是等价,因此并不能达到我们之前预期的边际效益递减的目的。如果我们拟合一个非线性函数,如上图中的多项式函数方式,一阶导后CATE是关于X 和 T的函数方式,这意味着第一单位的 treatment effect 和第二单位的 treatment effect 不等价,CATE随着 treatment的变化而变化的。这种粗鲁求解的思路缺点在于:对 CATE的函数方式的假定会特别强。
为了解决上述问题,我们基于Farrell在2020年的论文,构造了神经网路的优化模型,并称其为“双重神经网路”模型。input layer由特点变量构成 (如用户画像),经过第一个神经网路的feature hidden layer建立交互特点;interaction layer包括关于特点变量的函数a(X)以及函数和treatment的交互项b(X),经过parameter hidden layer进行交互得到非线性关系,最后output layer输出得到HTE。
我们在这儿展示某个真实的业务剖析中双重神经网路模型的表现。该剖析中,我们首先用双重机器学习模型对恐怕目标进行纠偏(实验变量并非纯随机试验,而双重机器学习模型可以帮助我们生成类随机实验)。同时我们也对量化模型表现进行了优化,生成了基于连续实验变量的uplift curve。上图可以看出双重神经网路模型的表现远远优于其余模型。
此外我们也解决了关于非线性模型怎么做统计检验的问题。在得到HTE以后,常常还须要回答:①哪些人HTE是明显的?②模型有多个treatment,各自HTE差别很小,哪个treatment更好更科学?
基于Victor的论文,我们使用data splitting的方式近似significance level:通过不停地对数据进行分拆,main sample用于模型训练,auxiliary sample用于预测HTE,求得HTE的empirical distribution。
该方式用关键的三个指标来评判HTE的表现:
越紧靠0说明恐怕的HTE等于噪声,越大说明异质性越强。另外,该指标越紧靠1说明选择的ML恐怕方式能对CATE有较好的预测。
近似恐怕HTE是否明显:将每次预测的HTE排序分段,并检验每段的均值是否明显。
估计X对HTE的影响是否明显,是一种评判feature importance的方式。
03
应用
下面介绍一个基于双重神经网路的Uplift模型在快手的应用。
1. 应用—:涨粉和生产
http://www.qianxianly.com/data/attachment/forum/20240507/1715018721695_1.jpg
平台希望圈一些作者,并了解她们生产数的最大空间--知道作者的生产数空间可以易于业务request相应活动流量和预算。我们通过优化的模型可以实现对每一个作者计算一个边际效益曲线。模型也可以做到根据作者类型去分类,得到各种作者生成力的边际。除了恐怕预算,通过预测每位作者的生产力天花板,运营朋友可以针对大V作者做相应的策略调整。模型结果如上右图所示:基于过去一段时间的勤奋程度和其他特点,作者1涨粉到4.5万就不再可能通过涨粉降低利润、而作者2涨粉到1.7万就到头了。
2. 应用二:push消息
平台规定每位用户每晚最多可以收到 10 条 push ,第一条 push 对用户的 app 时长影响和第二条 push 的影响肯定是不同的:从逻辑上来说,第二条 push 带来的影响会弱一点。如何用模型去 capture 这个影响?通过双重神经网路的模型,我们可以对每一个设备预测它在不同 push 条数下的反应。
结果如上图所示,我们从所有的样本中选择 7 个设备,并且画出了利润衰减图:横座标是设备收到的push数目,纵座标是模型预测的边际效益。蓝线代表该随机抽取的设备当被 push 第一条消息HTE就早已到 0,因此该设备并不适宜做push策略;粉线代表另外一个随机抽取的设备被push第7条消息时HTE一直没有到0,因此可以多push一些消息。
04
总结
DNN+HTE可以应用在探求利润天花板的问题中:
①帮助业务规划资源。比如想申请一部分预算推动给作者分发推进流量,DNN+HTE模型可以帮助探求利润的天花板,预估合理的预算申请金额。
②帮助调整定价策略。比如给店家进行涨粉,应该在哪些地方多付钱,什么地方少付钱,可以探求公域和私域的利润天花板,通过这两个天花板去调价。
post analysis让结果更稳健:
①对DML可以跨模型比较模型表现,适合复杂的模型结构。
②可以探求一个模型恐怕的HTE的variation是否够大;variation比较小的时侯可能圈人疗效不准。
③可以探究特点变量对HTE的影响是否明显,帮助业务缩小决策圈,只对明显的人群做策略。
05
问答环节
Q1:是基于离线数据的剖析吗?
A1:是离线数据剖析。但不是基于实验AB实验的结果:关于涨粉和生产两个案例,我们直接用盘面数据训练,并用模型进行纠偏。
Q2:应用中研究的Uplift 模型中,什么情况下 meta learner 间接建模会比 casual tree 直接建模对 Uplift 效果更好?
A2:meta learner 在离线分析中的使用可能较少,多使用于线上剖析,因为它最大的优点是速度快,在线训练模型可能有一定优势。但是缺点是它不灵活,大部分 meta learner 只能对离散的实验变量去做建模。我们在对连续实验变量建模时,做了大量 research ,最后设计了一种可以拉通比较离散实验变量和连续实验变量模型的表现的方式,从而促使我们在模型选择上愈加灵活。
Q3:模型是如何评估的,如何判断模型是否确切?
A3:将数据分为训练集和测试集,在测试集上拟合,使用root mean square error评定模型表现。
Q4:如何选择混淆诱因,实际发觉X选择对 DML 影响很大,如何判定结果的置信度?
A4:使用非实验数据的情况下,对X通常建议应选尽选。在双重机器学习模型的应用中,我们会对Model Y 和 Model T 的方差去做检验,看其是否明显相关,且它们的均值是否有明显区别。因为这是 DML 的假定,如果连这个基本的假定都不能满足,那必然是有一个比较大的混淆诱因被 left over ,需要重新再去筛查。
页:
[1]