作者简介
野生梨,携程算法工程师,关注因果推断在实际工业项目上的探索和应用。
一、背景介绍
我们的日常生活中充斥着各种需要推断原因和结果的问题,比如,吸烟是否会导致肺癌,大学教育是否能够提高收入水平?有时,当我们试图回答这些问题的时候,会陷入相关的陷阱,即认为相关等于因果。
比如,伦敦曾经有一个调查机构基于数据发现,在很长一段时间内,发生车祸的数量和司机穿的衣服重量之间呈现正向且显著的相关性,所以他们得出结论,认为厚重的衣服会影响司机的行动能力,从而更可能导致车祸的发生。
基于此结论,调查机构的研究人员建议政府部门应该立法规定——司机在开车时不得穿厚重的衣服。但是实际情况果真如此吗?
其实,这就是个典型的伪相关结论。因为后续的调查研究发现,司机穿厚重的衣服往往是因为下雨,而下雨的时候路况变差能见度较低,而大多数司机并不在下雨天减速,这才是导致大部分车祸发生的原因之一。得到这种伪相关结论,往往是因为我们在分析的过程中忽略了类似下雨这样的混杂变量(如图1-1所示),从而认为观察到的两个结果变量(司机衣服的重量和车祸数量)之间,有着某种可能不存在的因果关系。
图1-1 伦敦出租车司机穿衣和车祸问题的因果结构
正如上面所说,由于混杂因素的存在,会导致我们分析数据出具结论的时候产生偏差。那么,是否有一种方法可以帮助我们回答这样的因果问题呢?答案是肯定的,那就是因果推断。
因果推断是专门研究此类因果关系的科学,即寻找变量之间的因果关系,并且预估由于因对果造成效应大小。互联网公司中每天都在进行的随机实验(AB实验)就是因果推断中的黄金准则,即将研究对象随机分组,对不同组实施不同的干预/处理,然后观察结果的变动,从而验证干预/处理是否是造成结果变动的原因,进而得到干预/处理造成结果变动的程度。
但是需要承认的是,在大多数情况下我们由于某些原因(比如成本限制或者道德风险)或者项目本身性质而无法实行严格的随机试验。比如,携程市场部为了促进用户在暑期的旅游消费,上线了一个营销活动, 在这个场景下我们想要知道这个营销活动是否有效(是否能带来收益增量),以及能带来多少的价值增量,随机实验就显得无计可施。因为我们并不能在做活动期间通过随机分流的形式,控制某个版本的用户参加活动,而另一个版本的用户不参加活动,这首先对于用户来说是具有价格歧视(假设活动会有优惠)的,当然对于公司来说也会潜在损失很大一笔收益(假设活动有效的情况下)。
那么,没有了黄金法则,我们还能做什么来得到项目价值增量呢? 仔细思考不难发现,用户是否参与活动以及最终是否下单,可能同时受其它混杂因素影响(如图1-2所示),比如具有短期休闲旅游出行意图的用户更可能会参加活动并下单,而短期商旅用户很可能并不会参加活动但是依旧会下单,同样的混杂因素还有很多,比如消费能力和长期旅游出行习惯。怎么把这些混杂因素都去除或者控制起来,从而准确评估活动对于用户下单的价值,便是此类分析任务的难点和挑战。
图1-2 活动/项目评估问题因果结构
在因果推断领域中,存在很多方法可以帮助我们解决上述分析中的难点和挑战。这些方法大致可以分为两类:
(1)完全消除混杂因素的