一、背景介绍
我们的日常生活中充斥着各种需要推断原因和结果的问题,比如,吸烟是否会导致肺癌,大学教育是否能够提高收入水平?有时,当我们试图回答这些问题的时候,会陷入相关的陷阱,即认为相关等于因果。
比如,伦敦曾经有一个调查机构基于数据发现,在很长一段时间内,发生车祸的数量和司机穿的衣服重量之间呈现正向且显著的相关性,所以他们得出结论,认为厚重的衣服会影响司机的行动能力,从而更可能导致车祸的发生。
基于此结论,调查机构的研究人员建议政府部门应该立法规定——司机在开车时不得穿厚重的衣服。但是实际情况果真如此吗?
其实,这就是个典型的伪相关结论。因为后续的调查研究发现,司机穿厚重的衣服往往是因为下雨,而下雨的时候路况变差能见度较低,而大多数司机并不在下雨天减速,这才是导致大部分车祸发生的原因之一。得到这种伪相关结论,往往是因为我们在分析的过程中忽略了类似下雨这样的混杂变量(如图1-1所示),从而认为观察到的两个结果变量(司机衣服的重量和车祸数量)之间,有着某种可能不存在的因果关系。
图1-1 伦敦出租车司机穿衣和车祸问题的因果结构
正如上面所说,由于混杂因素的存在,会导致我们分析数据出具结论的时候产生偏差。那么,是否有一种方法可以帮助我们回答这样的因果问题呢?答案是肯定的,那就是因果推断。
因果推断是专门研究此类因果关系的科学,即寻找变量之间的因果关系,并且预估由于因对果造成效应大小。互联网公司中每天都在进行的随机实验(AB实验)就是因果推断中的黄金准则,即将研究对象随机分组,对不同组实施不同的干预/处理,然后观察结果的变动,从而验证干预/处理是否是造成结果变动的原因,进而得到干预/处理造成结果变动的程度。
但是需要承认的是,在大多数情况下我们由于某些原因(比如成本限制或者道德风险)或者项目本身性质而无法实行严格的随机试验。比如,携程市场部为了促进用户在暑期的旅游消费,上线了一个营销活动, 在这个场景下我们想要知道这个营销活动是否有效(是否能带来收益增量),以及能带来多少的价值增量,随机实验就显得无计可施。因为我们并不能在做活动期间通过随机分流的形式,控制某个版本的用户参加活动,而另一个版本的用户不参加活动,这首先对于用户来说是具有价格歧视(假设活动会有优惠)的,当然对于公司来说也会潜在损失很大一笔收益(假设活动有效的情况下)。
那么,没有了黄金法则,我们还能做什么来得到项目价值增量呢? 仔细思考不难发现,用户是否参与活动以及最终是否下单,可能同时受其它混杂因素影响(如图1-2所示),比如具有短期休闲旅游出行意图的用户更可能会参加活动并下单,而短期商旅用户很可能并不会参加活动但是依旧会下单,同样的混杂因素还有很多,比如消费能力和长期旅游出行习惯。怎么把这些混杂因素都去除或者控制起来,从而准确评估活动对于用户下单的价值,便是此类分析任务的难点和挑战。
图1-2 活动/项目评估问题因果结构
在因果推断领域中,存在很多方法可以帮助我们解决上述分析中的难点和挑战。这些方法大致可以分为两类:
(1)完全消除混杂因素的方法,比如双重差分法(Difference in Difference)、工具变量(Instrumental Variable) 和断点回归等,但是这些方法的应用需要满足严格的额外假设,在工业应用中较少;
(2)控制混杂因素的方法,比如倾向分匹配PSM、逆倾向分加权法(IPTW)、Lookalike算法、合成控制等, 这些方法是通过调整样本来减少样本在混杂因素上不均衡的情况,从而达到控制混杂因素影响的目的,但是无法完全消除变量之间的内生性。
针对无法使用随机实验进行评估价值的活动/项目,基于数据可得性和方法的易操作性,本文最终使用的是因果推断中通过调整观察样本来模拟随机试验的方法——倾向分匹配(Propensity Score Matching, PSM),来控制同时影响用户参与活动和下单的混杂因素,从而完成活动/项目的价值增量评估任务。
二、倾向分匹配(PSM)基本原理
倾向分匹配(Propensity Score Matching),是通过倾向分(Propensity Score)来匹配对照组和实验组的观察样本,从而控制调整混杂因素的一种方法。倾向分是由Rosenbaum和Rubin于1983年首次提出[1],其定义如下:
即给定混杂因素的条件下样本进入实验组的倾向。其中,T为实验/对照组的标识变量,当T=1时,代表实验组,T=0代表对照组;X则为混杂因素变量集合。Rosenbaum和Rubin在论文中证明了在给定倾向分的条件下,混杂因素和样本是否参与实验变量之间是条件独立的,这一性质说明,通过对观察样本的倾向分进行匹配控制,即将实验组和对照组中倾向分相近的用户进行匹配, 使得对照组和实验组在混杂因素的分布上实现均衡,从而达到控制混杂因素的目的。
2.1 倾向分估计
进行倾向分匹配的第 一步则是估计观测样本(用户)的倾向分。其实,这里的估计目标是我们很熟悉的有监督分类学习任务,其实就是基于观察样本拟合一个分类模型来得到P(T=1 | X=x) 。理论上,常见的分类模型都可以在这里使用,比如支持向量机SVM、逻辑回归LR、树模型等,但一般来说会根据奥卡姆剃刀(Occam's Razor)原则,选择简单实施又能解决问题的LR来进行倾向分的预估。
2.2 匹配
得到每个观测样本的倾向分后,下一步就需要将倾向分相近的用户进行匹配(如图2-1所示),有很多种方式可以完成这个匹配步骤,常见的有以下几种:
(1)设定阈值,当两个用户倾向分距离小于等于阈值时,即被认定相近匹配;
(2)K近邻,选择倾向分距离最近的K个样本作为相近匹配;
(3)K近邻 + 阈值设定,选择倾向分距离最近的K个样本,且倾向分差距还要小于等于阈值,才可被认定为相近匹配。在实际应用中选择哪一种方式取决于哪一种方式能够使得实验组和对照组在混杂变量上平衡。
值得注意的一点是,PSM方法看似简单但是使用时需要满足以下3个假设条件:
(1)可忽略假设(Ignorability),当控制可观测混杂变量后,不可观测的混杂变量对于结果的影响可以忽略不计;
(2)个体处理稳定假设(SUTVA),样本个体不受其他个体影响,即样本独立假设;
(3)共同支撑假设(Common Support),观察样本中,实验组和对照组之间是有混杂特征相近人群存在的,即0<P(T=1 | X=x)<1,否则将无法使用倾向分找到的相近的对照组人群来对比实验组进行价值增量评估。
三、 实际项目应用
2020年底,携程和某外部平台开展等级匹配合作项目,针对该平台内满足条件的不同等级的用户提供领取对应携程等级会员权益的福利,整体项目周期为一年,每个外部平台的用户只可免费领取一次,领取后相应的会员权益有效期为一年。
针对这个项目的价值,可以分为直接和间接:直接价值自然是合作带来的直接收入以及新用户的复购价值,而项目带来的老用户的后续复购价值则属于间接价值。直接价值很容易就可以被计算出,但是对于间接价值来说,如前所述,由于混杂因素(比如消费能力、长/短期旅游出行意图等)同时影响了用户在外部平台是否参加项目和用户是否在领取后会在携程平台内下单(如图3-1所示),使得净效应的评估更为困难和复杂。
图3-1 实际项目评估问题因果结构
针对间接价值的评估,本文采用因果推断中的PSM方法,在满足项目要求的未参与项目用户池中,筛选与参与项目的用户在混杂特征上分布一致(相近)的用户人群,匹配后的实验组和对照组之间的差值即可认为是项目带来的间接价值,整体的分析流程如图3-2所示。
图3-2 项目间接价值评估分析流程
3.1 对照人群候选池筛选
考虑到携程平台全量用户量较大,且因为项目进行周期长达一年,对照用户的候选池是用户id和日期的笛卡尔积,整体数量可达到千亿级别。但是,在计算项目对老用户所带来的间接价值时,只需要考虑携程和外部平台重合的老用户部分,因此在数据预处理过程中,本文首先采用规则筛选出有外部平台参与项目资格但未参与项目的携程老用户,并剔除代理等非自然用户,再综合计算成本和匹配效果的考虑,按照一定的比例进行随机下采样,最终得到对照用户候选池。
3.2 特征设计和数据预处理
在特征设计和提取方面,本文认为影响用户参与项目和后续复购的混杂因素可以分为基本信息、消费能力、出行意愿三类,共104个特征。
针对部分类别特征,比如年龄、性别、等级等,各类别之间地位相同,因此在特征提取阶段,拆分成了多个虚拟变量。
完成提取特征后,在数据预处理阶段,首先针对特征数据的质量进行了校验,未发现单一信息特征(即特征在样本数据集中的取值完全一样),其次针对变量中的缺失值进行了填充处理,最后因为不同的特征之间量纲不同对所有连续变量进行了Z-Score标准化处理。
3.3 倾向分匹配PSM
(1)构建模型,估计倾向分
本文采用逻辑回归LR模型对参与项目用户和对照人群候选池用户组成的样本数据进行训练拟合,模型形式如式3-1所示:
其中,X为特征向量,而T为实验/对照组的标识变量。
需要说明的一点是,在训练过程中,即使采用筛选后的对照人群候选池用户,其量级也比参与项目用户数量大很多,造成样本数据不平衡的情况,从而导致整体预测准度和精度很低。为了解决样本不平衡问题,本文对对照组候选池用户进行了下采样操作,再输入模型进行训练,最终使用训练好的模型再对全体样本进行预测,得到了每个样本的倾向分。其中,训练所得模型的精确率为75.22%,召回率为65.40%,ROC曲线如图3-3所示,AUC为0.79。
图3-3 倾向分估计模型ROC曲线
(2)匹配及结果校验
本文采用K近邻 + 阈值设定的策略(K=1,阈值=0.001)进行用户匹配,即针对每个参与项目的用户在对照人群候选池中寻找与其倾向分距离最近且小于等于0.001的用户进行匹配,最终得到对照组用户。匹配后的实验组(参与项目用户, 蓝线)和对照组(未参与项目,橙线)用户的倾向分分布如图3-4所示,通过KS检验认为两组匹配后的倾向分分布一致(KS-stat = 0.00057, p_value = 0.9771)。
图3-4 匹配后实验组/对照组倾向分分布
除了验证不同组倾向分分布一致以外,还需要针对检验每个混杂变量在实验组与对照组之间是否还存在显著差异,如果不同组在所有混杂变量的均值上都没有显著差异,此时我们可以认为匹配后的实验组和对照组样本是“平衡”(balanced)的。
本文选择使用效应量(effect size)指标来评估不同组混杂特征均值差异,因为相比假设检验的p值来说,效应量不受样本容量影响,可以在不同研究之间进行比较。效应量指标根据问题场景的需要有多种计算方式,本文针对连续变量和类别变量分别采用Cohen’s d(式3-2)和Cohen’s w(式3-3)来比较两组均值的差异。
效应量的大小学术界尚未形成统一的共识,但是对于Cohen’s d,大多数学者认为效应量小于0.2则可认为两组之间的差距很小,而对于Cohen’s w小于0.1则可认为差距较小。本文基于不同组混杂变量的均值和标准差,计算得到不同组的混杂特征均值的效应度量均小于0.1,可以认为匹配效果较好,匹配后不同组在混杂特征上的分布达到均衡。
3.4 项目价值增量计算
经过PSM得到控制了混杂因素的实验组和对照组样本后,本文根据两组复购收益均值的差异,回答了以下两个问题:
(1)项目是否有价值:通过对两组用户的人均复购收益进行T检验,发现可以以99%的把握(T-stat=35.21)认为,实验组的平均复购收益显著高于对照组平均复购收益;
(2)项目带来了多少价值:计算两组用户的总复购收益的差值,得到项目整个周期的价值增量。
3.5 反驳推断
虽然已经计算得到了价值增量,但是因果推断的工作中最重要的一环——反驳推断尚未完成。在前面阐述的实践过程中,我们不经意间做出了很多假设,比如:
(1)问题的因果结构如3-1所示,混杂因素作为混杂同时影响参与项目和下单,而不是作为中介物传到同时参与项目和下单的因果链路;
(2)提取的特征都是可观测因素,我们通过PSM控制了这些混杂,至于不可观测混杂因素的影响可以忽略不计;
(3)个体选择相互独立。
为了逻辑的严谨性和结果的稳健性,我们必须也要对假设的正确性做出证明,虽然我们并不知道真实的因果结构/关系式怎么样的,但是我们可以创造一些检验环境,然后采用已知的事实来反驳推断。本文采用了3个方法来说明假设的正确性和结构的稳健性:
(1)加入随机变量和常数特征,重新进行PSM和因果效应估计,发现和之前差异不大,说明参与项目和复购收益之间的确具有因果效应,而不是由于不可观测因素或者随机波动导致的,这种因果效应是稳健的;
(2)安慰剂检验,将真实的实验组和对照组标签变成随机生成变量,重新进行因果效应估计,发现虚拟实验组和虚拟对照组的结果差异显著为0,认为实验组和对照组之间的差异不是由随机因素引起的,从而也说明是否参与项目式用户复购收益的一个因;
(3)随机子集抽样,从样本数据中随机抽样(80%),然后预估因果效应,差异和全量预估差别不大,认为结果稳健。
四、总结
项目/活动往往由于无法进行随机实验和混杂因素(比如时间、用户历史行为等)的存在而无法准确评估其所带来的价值增量。本文采用因果推断中通过调整观察样本来模拟随机试验的方法——倾向分匹配(Propensity Score Matching, PSM), 控制了同时影响用户参与活动和下单的混杂因素,从而计算得到了活动/项目的价值增量,为后续无法使用随机实验的分析场景提供了一种思路。
当然,上述的评估流程还有很大的优化空间,而PSM也不是因果推断中控制匹配的方法,如前所述其他方法比如双重差分、断点回归、Lookalike相似人群算法、合成控制、聚类分析等都可以作为后续在项目价值评估问题中的研究方向。