A/B测试并不是理解因果关系的唯一工具:如果使用得当,准实验和反事实分析(Counterfactual)是进行因果推理的有力工具。
描述性统计和相关性是每个数据科学家的“面包和黄油”,但实用它们时却需要格外小心,因为它们只能证明相关性不是因果关系。
在Shopify,我们相信理解因果关系是释放最大商业价值的关键。我们的目标是找到可以实际解释在数据中看到的现象的原因和见解,因为因果性可以验证整个业务战略是否有效。
今天这篇文章,来自Shopify的数据科学团队,本文探讨了不同的因果推理方法,以及如何使用这些方法来构建好的产品。
因果推理的四个等级
数据科学家可以使用各种不同的方法来估计一个因素的因果效应。下面这幅图介绍了因果推论的四个等级,越往上代表这个方法的因果证据越强,越往下就代表这个方法的因果性越低。这幅图被我们称为是“因果证据阶梯”(Evidence Ladder for Causal Inference)。
▲ 证据阶梯的层次:第一级(最清晰的证据):A/B测试(也就是统计实验);第二层次(合理的证据水平):准实验(包括差值法、匹配法、控制回归法);第三层次(最弱的证据水平):完全估计反事实;图表底部:描述性统计——没有提供因果关系的直接证据。
阶梯并不是方法的排名,而是每个方法给你的证明程度的一个松散的指示。在阶梯上越高的方法,越容易计算出构成强因果关系证据的估计。处于阶梯顶端的方法通常需要更加关注实验设置。在另一端,阶梯底部的方法使用更多的观察数据,但需要更多关注稳健性检查。
阶梯很好地解释了一点:因果推理中没有免费的午餐。也就是说,要想得到一个强大的因果分析,你要么需要一个好的实验设置,要么需要一个好的统计学家和大量的工作。
这个阶梯还有一个用处就是,数据科学家可以和他们的利益相关者(stakeholder)去分享这个模型。用它来说明你的工作过程,这是获得合作者和利益相关者认同的好方法!
因果推理方法
A/B测试
A/B测试,或随机对照实验,是因果推理的黄金标准方法——它们是证据阶梯的第一级!对于A/B测试,A组和B组是随机分配的。两组所处的环境是完全相同的,除了一个参数:他们看到的版本。随机性保证了两组都是 "平均 "的。这使你能够从A/B测试中推断出因果估计,因为它们唯一不同的是看到的版本,这样就可以判断到底是不是版本不同导致业务的变化。当然在实践中,有很多注意事项。
为产品设置A/B测试是一件很麻烦的事情。如果你是从头开始设置A/B测试,你将需要:
-
当用户使用你的产品时,随机分配他们到正确的小组的方法;
-
一种跟踪机制,用于收集所有相关指标的数据;
-
分析这些指标及其相关的统计数据,以计算效果大小,并验证你怀疑的因果效应是否真实存在。
准实验
在真实的商业世界中,很多时候是不可能设置一个严格控制的实验的。以下是A/B测试无法在每种情况下都发挥作用的几个原因:
- 缺乏工具。例如,如果你的代码不能在产品的某些部分进行修改。
- 缺乏实施实验的时间。
-
商业道德方面的考虑,例如在Shopify,随意将一些商家排除在一个可以帮助他们业务的新功能之外,有时是不可能的。
准实验(图中的第二级)是指你的实验组和对照组被一个自然过程划分,这个过程不是真正的随机的,但被认为是足够接近计算估计的实验。准实验经常发生在产品公司中,例如,当一个功能推出发生在不同国家的不同日期时,或者如果一个新功能的资格取决于其他功能的行为(比如在废弃某一功能的情况下)。当控制组使用非随机标准划分时,为了计算因果估计,你会使用不同的方法,这些方法对应着不同的假设,即你与随机情况的 "接近程度"。
我想强调一下我们在Shopify使用的两种方法。第一种是带有固定效应的线性回归。在这种方法中,假设我们已经收集了所有在实验组和控制组之间划分个体的因素的数据。如果这是真的,那么在控制这些因素的情况下,对感兴趣的指标进行简单的线性回归,就能很好地估计出处于实验组的因果效应。
第二种也是因果推理中很常见的方法:双重差分(difference-in-differences)。当你要使用这种方法时,要先找到一个对照组,和实验组里你感兴趣的指标有平行的趋势,然后再应用任何实验。然后,实验开始,这种并行趋势的差别就只可能是实验本身造成的。 下图可以帮助你理解:
反事实分析
最后,有时候你可能想从仅包含实验观察结果的数据中检测出因果关系。一个经典的技术性方法是执行一次向所有用户发起的新功能的效果的评估:没有进行A/B测试,而且没有人可以作为对照组。在这种情况下,你就可以尝试反事实条件估计(第三阶级)。
反事实条件的底层逻辑是创建一个模型,可以计算反事实条件对照组。也就是说,你可以估计出如果不存在这个功能将会发生什么。计算估算值不容易。但是,如果你对自己的用户模型充满信心,那你就有足够的资料来进行反事实因果分析!
我们来举个例子进一步说明。几个月前,我们需要评估安全升级对用户的影响。这个升级很重要,并且已经向所有用户推出了,但是它给用户带来了很多麻烦。我们想看看这种困扰是不是会导致用户的使用量减少。当然,我们不可能在用户中找到对照组。
在没有对照组的情况下,我们创建了一个时间序列模型去寻找可靠的升级功能对用户使用情况的反事实估计。我们训练了模型,例如不受安全升级影响的其他功能的使用量以及描述Shopify总体活跃度的全球平均趋势。所有变量都与我们正在研究的安全升级无关。当我们将模型的预测值与实际值进行比较时,我们发现并没有提升。这表明新的安全功能不会对用户的使用量产生负面影响。
使用反事实条件方法时,预测的质量至关重要。如果有一个与最新版本无关的混杂的因素发生变化,那你也不想将这个改变归因到你的功能上。比如,如果你有一个可以预测某项功能的日常使用情况的模型,而竞争对手在你之后立即发布了一项类似的功能,那么你的模型将无法解释这一新因素。领域专业知识和严格的测试是进行反事实条件因果推理的最佳工具。让我们再进一步了解。
稳定性检查
当无法进行完全随机化时,准实验研究和反事实条件就是不错的方法,但这些方法还是要付出一定代价的!要计算出合理的置信区间要困难得多,而且通常来说会处理更多的不确定性 - 假阳性(误报率)很高。避免陷入这类陷阱的关键是稳定性检查。稳定性实际上并没有那么复杂。也就是说要清楚地陈述你的方法和数据所依赖的假设,并逐步放宽每个假设,来查看结果是否还成立。如果你发现由于单个变量而可能发生显著变化,尤其是该变量受噪声,误差测量等影响时,它可以作为一种有效的一致性检查。
有向无环图(DAGs)是检查稳定性的好方法。它们可以帮助你在因果推断的背景下清楚地阐明假设和假说。DAGs受著名的计算机科学家Judea Pearl的推广,最近在技术和学术界获得了很多关注。
在Shopify,我们真的很喜欢DAGs。我们经常使用一个很好用的基于浏览器的工具Dagitty。简而言之,当您在Dagitty中绘制假设的因果事件链时,它会为你的数据提供鲁棒性检查,例如某些条件有相关性,它就应该被删除。
因果推理的三个重点
让我们快速回顾一下因果推理的最重要的要点:-
A/B测试好,应该成为每个数据科学团队的必备工具。
-
但是,并不是总能设置A / B测试。相反,寻找自然的实验(准实验)来代替真实的实验。
-
如果找不到自然实验(准实验),那么反事实调教方法可能会有用。但是,你也不应该期望使用这些方法可以检测到非常微弱的信号。
以上就是“Shopify数据科学案例: 4种因果推论方法!”的详细内容,想要了解更多IT圈内资讯欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/10277/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料