[译] 解密 Uber 的因果推断最佳实践

在 Uber Labs,咱们的任务是利用行为科学的洞察力和方法论来帮助产品和市场团队改善客户体验。 最近,咱们引入了中介模型来解决用户的痛点,它是一种来自学术研究的统计方法。html

为了理解致使结果的潜在机制,中介模型超越了简单的因果关系。 使用这种类型的分析,咱们能够从微调或开发产品的变化中找到优步平台上功能成功背后的基本机制。git

知其然 vs 知其因此然

在 Uber,咱们有一个强大的改进文化,经过频繁开展实验来测试一个变量是否会影响另外一个变量,以确保可靠、安全和无缝的用户体验。github

大多数时候,咱们对为何两个变量是相关的有一个假设。 例如,假设咱们相信在新乘客的前几回旅行中给予他们行程折扣的促销活动能够提升新乘客的留存率。虽然一个标准的分析会告诉咱们这种促销是否有助于增长新的骑手留存,可是它不会告诉咱们为何。 例如,新乘客是否会在前几回行程后由于行程费用下降而从新使用该应用程序? 或者是促销帮助新乘客熟悉了这个应用程序,或者彻底是别的什么? 若是存在多种机制,哪种机制发挥更大的做用,做用大小如何? 在一个标准的分析中,一个潜在的机制(例如,为何会发生这样的事情)一般被认为是存在的,可是没有用数据进行实证检验。算法

虽然咱们可能有一些证据代表两个变量是相关的,但咱们可能不清楚为何它们是相关的,当咱们不明白为何,咱们不得不依赖于试验和错误。 然而,就像在学术研究中同样,知道为何对 Uber 一样重要,由于它帮助咱们为用户打造更好的产品。 例如,在上面的例子中,若是咱们发现他们对应用程序的熟悉使新的乘客留在了平台上,那么咱们应该优先考虑鼓励乘客使用应用程序的新的产品功能。segmentfault

中介模型: 打开黑匣子

中介模型打开了实验和结果变量之间的黑匣子,从而揭示了潜在的机制,即为何会发生某些事情。当咱们有一个因果假设,而不是让它停留在那里或依赖于相关证据,中介模型让咱们经验性地检验(与逻辑推断)两个变量之间的因果路径。 更重要的是,理解这些机制使咱们可以更快更有效地开发出更好的产品,由于它有助于咱们肯定这些变化的哪些特征是使产品成功的缘由。安全

那么,咱们究竟能够经过中介建模作些什么来改善用户体验呢? 咱们在下面的图1中概述了一些假设的用例:微信

首先,咱们可使用中介建模来测试产品假设。 例如,咱们可能认为,一个新的附加促销能够增长保留,由于减小旅行费用(图1a)。 经过中介建模,咱们能够对这一假设进行实证检验。 咱们的这些测试结果能够告诉咱们咱们的假设是否正确,若是正确,有多少影响是因为旅行费用的减小而不是其余机制(例如,熟悉应用程序)。框架

其次,咱们可使用中介建模来比较多种机制。 在一个假设的例子中,咱们可能认为 Uber Eats 菜单的新设计能够经过多种机制增长订单(图1b)。 经过中介建模,咱们可以估计这些机制中的每个对实验效果(即增长订单)的影响程度,以及哪一种机制发挥了最大的做用。 这些结果有助于告知咱们如何设计咱们的产品及其将来的迭代。机器学习

中介建模还容许咱们将无形变量(如消费者情绪)与特定特性联系到业务指标。 众所周知,顾客的感觉和满意度对于企业的成功相当重要。 然而,一般很难量化它们对业务的影响。 然而,中介建模使咱们可以测试这些变量如何影响下游业务指标(例如,如图1c 所示的附加引用)。学习

此外,中介建模能够是将长期目标分解为更小的中间步骤的一种创造性方法。 例如,假设咱们的目标是提升长期乘客对 Uber 的满意度。 咱们如何将这个目标分解成更小的部分,并与咱们的平常工做联系起来? 若是咱们以前已经肯定了骑手满意度背后的关键中介,那么咱们就能够利用这个中介做为短时间关键绩效指标(KPI)(图1 d)。 若是干预的大部分效果是经过某一特定机制引发的,那么影响该关键调解人多是干预发挥做用的一个必要(虽然不是充分)条件。

在不一样的用例中,咱们识别上游或下游变量并测试它们之间的链接方式。 接下来,咱们将进一步讨论这个解释,并讨论中介建模背后的概念细节。

中介模型 VS 因果推断

为了成功地执行这项技术,咱们究竟须要用几个什么样的方法呢? 为了回答这些问题,咱们在下面的图2中描述了最简单的中介模型:

图2. 中介建模的概念框架包含了干预、中介和最终的结果

根据这种类型的模型,咱们的目标是估计三个关键数量:

  • 平均直接效应(ADE) :c
  • 平均因果调节效应(ACME) :ab
  • 平均总效应(ATE) : ab + c

近年来,研究人员已经开始理解中介模型的因果关系。这使他们可以使用为因果推断开发的正式框架将中介概念化,如由 Neyman,Rubin 和其余人开发的潜在结果方法

为了更好地理解这个框架是如何运做的,假设咱们有一个结果 y 和实验分配 t,若是一我的在实验组中 t 是1,若是一我的在对照组中 t 是0。 而后,实验分配下个体 i 的结果 y 是 Yi (t)。

如今,咱们常常感兴趣的是估计实验和控制之间 y 的差别,对于个体 i

$$Yi(1)−Yi(0)$$

然而,大多数时候咱们只观察到这两种结果中的一种,由于一我的一般只处于一种实验状态。 例如,若是个体 i 处于治疗状态(t1) ,那么个体的结果 Yi (0)只是一个潜在的结果,也就是说,一个可能发生但实际上没有发生的结果。

因为咱们一般不能观察治疗效果在我的水平,咱们估计的群体水平的平均治疗效果,这是定义为

$$E[Y_i(1)−Y_i(0)]$$

在这里,处理和控制分配的结果 y 是估计从组水平的数量。

全部这些与中介建模有什么关系? 事实证实,咱们能够用上面的框架来表示三个关键的中介量。 设 m (t)对应于实验分配下的潜在介质值 t,那么,咱们能够开始定义关键的介质量以下:

$$ATE=E[Y_i(1,M_i(1))−Y_i(0,M_i(0))]$$

简而言之,ATE 是实验下的潜在结果和控制分配之间的差别,当中介变化,由于它实际上与实验分配。 这解决了实验对结果的平均影响。

如前所述,中介建模的目标是将整体实验效应分解为两部分: 平均直接效应(ADE)和平均因果中介效应(ACME)。 换句话说,ADE 是实验对结果的影响,不须要通过中介变量。 所以,若是您在改变处理状态的值的同时肯定中介的值,那么您将生成直接效果。 使用潜在的结果符号,咱们有

$$ ADE=E[Y_i(1,M_i(t))−Y_i(0,M_i(t)) ]$$

对于 t=0, 所以,ADE 能够理解为一旦咱们阻止中介变量改变实验状态,实验分配对结果的任何额外贡献。 咱们使用统计模型来估计,若是中介变量是固定的,结果会是什么。)

一旦咱们创建了 ADE,很明显 ACME 只是它的补充:

$$ACME=E[Y_i(t,M_i(1))−Y_i(t,M_i(0))]$$

对于 t=0, Acme 对应于潜在结果的差别,若是咱们将中介变量翻转为在实验状态下它将采起的值,同时保持实验状态自己固定,将会看到这种差别。

这些定义的优势之一是它们没有提到任何特定的模型。 所以,像 Imai 等研究人员。 已经开发了使用任何有效模型估计关键中介量的算法。 这意味着,除了其余事情以外,咱们能够自由地使用非参数和非线性模型来估计中介图中的关系,与过去相比,这是一个至关大的进步。例如,在传统的方法中,如 Hayes’ PROCESS 方法,中介不能是分类变量,结果变量仅限于那些能够用通常最小平方法或回归方法适当建模的变量。 过程方法对中介变量和结果变量的限制不容许咱们创建离散数据模型,这使得它不适合咱们在 Uber 的工做。

最后,潜在结果框架证实有助于肯定中介效应的识别假设。 在随机实验的背景下,主要的假设是中介变量应该在统计上独立于 y 的潜在结果,条件是观察到的实验状态和模型中包含的预处理协变量的值。

尽管潜在结果框架有助于咱们清楚地定义这一假设,但不可能最终验证这一假设是否成立。 咱们能作的最好的是(1)包括任何预处理协变量,理论上的考虑建议能够去混淆介质和结果之间的关系和(2)进行敏感性分析,看看咱们的估计将如何变化,若是咱们的假设不知足不一样程度。幸运的是,做为一个数据驱动的技术公司,咱们一般有一个良好的预处理协变量集,咱们可使用在咱们的模型,以减轻混淆的风险。

应用示例: 用户工单处理

如今,让咱们来看一个具体的例子,经过最近对咱们的顾客至上团队的分析,咱们如何在 Uber 中应用中介模型。 咱们想知道,若是增长一个显示司机收入的图表,是否会致使更少的支持工单。 为了帮助用户提交更少的支持工单,咱们须要了解他们为何首先要提交工单。

在以前的一个实验中,顾客至上团队发现,添加一个显示司机-合伙人每周收入的图表,显著增长了他们对本身收入的理解。 图3,下面,显示了实验组和控制组的 UI:

图3. 实验和控制盈利标签视图为咱们的用户提供了略有不一样的界面

在这个分析中,收益理解是经过一个单项调查来衡量的,这个调查询问了司机们对他们收益信息的理解程度,以5分为单位。

咱们想知道收入理解是不是收入相关支持工单背后的一个重要的行为机制。 换句话说,咱们想知道是否实验提升了对收入的理解,从而减小了支持票。 若是是这样的话,咱们还想估计有多少实验效果是经过盈利理解的途径(而不是其余机制)来调节的。

为了回答这些问题,咱们使用了以干预为独立变量的中介建模,以盈利理解为中介,以与盈利相关的支持票做为结果变量(图4)。 此外,咱们还将驾驶员的实验前支持票和实验前收入经验(例如,之前的收入,终身旅行和活跃天数)做为控制变量。 咱们经过运行一个敏感度分析以肯定咱们的结果对于未经测量的中介变量-结果混杂因素的强大程度。

图4. 中介建模测试与收益相关的支持工单背后的基本机制

中介模型结果代表,收入理解确实是收入相关支持工单背后的一个重要机制,约占总实验效果的19% 。 基于这些结果,咱们更好地理解了为何盈利理解是减小客户支持工单的一个重要途径。

有了这些看法,咱们能够更好地设计产品和沟通,提升司机对其收入的理解,从而使用户体验更加无缝和愉快。 与此同时,咱们也意识到咱们的团队有很大的机会进一步利用模型来揭示其他81% 影响的中介机制。 为了实现这一点,咱们正在与顾客至上团队合做,测试更多剩余的行为机制。 这些结果将推动收益产品路线图的规划。

中介模型的将来

中介模型的将来是使人兴奋的: 近年来,学术研究人员已经开始研究使用高维数据进行自动中介变量选择。在这些应用中,咱们能够指定潜在的数百个中介变量,它们在实验和结果之间是暂时的。 而后咱们测试治疗和每一个候选中介变量之间或者每一个候选中介变量和结果变量之间是否存在统计学上可靠的联系。 有了这些方法,咱们就有可能在史无前例的细节上揭开实验-结果关系的黑匣子。

在 Uber,咱们期待测试这些数据驱动的算法,看看它们与传统的理论驱动方法相好比何。研究人员在进行研究以前,经过传统的理论驱动方法指定介质。 咱们认为中介建模是另外一个有趣的领域,在这里使用机器学习方法来分析实验具备很大的潜力。

若是你有兴趣利用应用行为科学为产品和城市提供动力,能够到 Uber Labs了解工做机会。

参考资料

原文做者: Haoyang Chen, Bonnie Li 译者: Harry Zhu 英文原文地址:
https://eng.uber.com/mediatio...
https://eng.uber.com/causal-i...

做为分享主义者(sharism),本人全部互联网发布的图文均听从CC版权,转载请保留做者信息并注明做者 Harry Zhu 的 FinanceR专栏:https://segmentfault.com/blog...,若是涉及源代码请注明GitHub地址:https://github.com/harryprince。微信号: harryzhustudio商业使用请联系做者。

相关文章
相关标签/搜索