因果推断技术实践简述

货拉拉数据科学团队在订单分发、产品功能迭代等各项业务的支持上,都会遇到实验科的挑战------在AB实验方面,有时需要避免货运双边市场独有的"运力竞争"对实验结果的影响,有时需要准确评估小流量或小收益实验的收益;在观察性研究上(非AB实验),则会面临全量策略的效果评估。

因此了解行业最新进展和动向,指导数据科学组更快、更好地解决各类业务挑战,是大势所趋。

一、AB实验

1. 流程图

2. 存在实验前差异

AB实验中同质性指"假设在实验中没有干预,实验组观测指标与对照组观测指标的相似程度"(无法观测,因果推断领域称之为"反事实")。当不同的实验分组之间不同质时,无法将实验期间的指标差异作为实验收益。此时指标差异由实验效果ATE和实验前差异构成。

因果推断的角度来看,若不同实验分组的实验对象自身就有差异(如用户性别、年龄、所在城市等),则这些差异会作为混淆变量影响干预,导致干预效果无法被准确计算

2.1 应用场景

  • 在随机分流场景中,由于噪声过大导致的实验前差异无法被忽略(如方差过大)
  • 分流不均导致的分流对象不同质,进而产生实验前差异

2.2 可用技术

场景 Uber解决方案
在随机分流场景中,由于噪声过大导致的实验前差异无法被忽略 CUPED/DID
分流不均导致的分流对象不同质,进而产生实验前差异 倾向性得分匹配(PSM)
逆概率加权(IPTW)

3. 同质用户不依从场景

一般AB实验场景会控制实验组对象受到干预,控制对照组对象不受干预。但在一些场景中,实验组对象实际并未受到干预,而对照组对象会使自己受到干预,这就会导致预期干预结果与实际干预结果不一致,这需要消除影响计算干预产生的真实收益。

3.1 可用技术

人群分类

CACE计算干预对Complier人群的收益:假设可计算每个用户潜在得分,则所有用户群体可被分为如下几类:

干预真正影响的分流对象群体是Complier,因此实验真实收益应等于CACE,即Complier的实际干预收益 。若直接将ACE作为干预带来的收益,会产生低估

3.2 CACE与PSM的对比

4. 干预效应异质性(HTE)

4.1 应用场景

  • 对于一部分用户效果好的策略,不一定对另一部分用户也有效。
  • 方法:使用AB实验数据训练HTE模型 -> 找到对不同用户最优的策略 -> 个性化设置策略并通过AB实验验证。

4.2 可用技术

  • Uplift model
  • Quantile regression

4.3 分位数回归案例

  • 通常评估AB实验的结果时会使用ATE,用分布的统计值以比较效果
  • ATE的评估忽略了处理效应的异质性(实验、对照组分布不一致)
  • 计算QTE(Quantile Treatment Effects)可以捕捉处理效应的异质性

5. 因果解释

5.1 应用场景

  • AB实验可以告诉我们变量X是否对结果Y有影响
  • Mediation modeling可以帮助我们知道为什么变量X会对结果Y有影响

5.2 技术

  • 中介模型(Mediation modeling)

5.3 案例

目标:增加一张司机收入的图表,通过提升司机对收入的理解程度(中介变量) ,以减少司机工单

中介模型实施:

  • 通过AB实验,在实验组司机的UI添加一张展示司机当周每一天的收入图,收集两组司机的工单数量
  • 通过派发问卷(单选项,5分制),收集司机主观对于自己收入的理解程度
  • 通过中介模型,测算司机对收入的理解会影响多少支持工单
  • Mediation modeling表明收入的理解对支持工单的影响特别大,司机收入理解的提升占了总体处理效应的19%
  • 通过这些数据洞察可以帮助产品团队更好的设计产品和展示方式,提升司机的体验
  • 此外,Mediation modeling也可以继续用于理解其余81%的处理效应

二、观察性研究(非AB实验)

1. 流程图

2. 干预前后时序数据图

2.1 应用场景

  • 无AB实验,或有准实验(非随机试验)场景
  • 有干预前后结果指标的时间序列数据(即有多个时间点上Y的观察值)

2.2 技术

  • 主要思路 :我们有受干预的时间序列Y, "测算 "若干预未发生情况下的Y(即反事实推断),设为Y', Y - Y'得到干预效果,核心在于测算Y'
  • 双重差分法(DID) :多用于分析单元较多 (用户、司机)且干预序列未受干预序列满足平行趋势假设的场景
  • 合成控制法(SCM,Synthetic Control Method): 多用于分析单元较大 (如城市、国家)的场景,使用有多个未受干预的时间序列合成 Y'
  • 贝叶斯结构时序模型BSTS, Bayesian structural time series

    • 不一定有未受干预的序列
    • 使用BSTS 模型预测Y':BSTS 模型是一种时间序列预测模型,使用贝叶斯(Bayesian)估计 建立结构化时序模型(Structural Time Series Model,即一种将时间序列拆解成趋势、季节性等元素的时间序列模型)

3. 干预取决于某阈值

3.1 应用场景

样本是否受到干预取决于某个连续变量的阈值(即断点)

3.2 技术:断点回归(RDD)

3.3 案例

目标: Uber想研究某种干预对购买率的影响

人群划分: 将附加费系数"1.15~1.25"人群划为 "对照组" ,将附加费系数"1.25 ~ 1.35"人群划为 "实验组" (1.25就是断点) ,分析认为这两部分人群附加费系数接近,本身(未受干预情况下)购买率差异较小,近似认为同质

干预: 对照组人群不干预,实验组人群施加干预(准实验)

结果: 干预后,实验组购买率显著低于对照组,可知干预对购买率有负向影响

4. 工具变量

4.1 应用场景

定义: 工具变量是指「只能通过干预」影响结果的变量,没有其他路径

关键在于工具变量的获取。如何寻找工具变量?

  • 直接使用观察性数据中已有的变量作为工具变量
  • AB实验本身作为工具变量:将无法直接操纵的变量用AB实验来影响

4.2 技术:二阶段回归法

5. 干预前混淆变量

5.1 应用场景

  • 无AB实验
  • 可以获得对「干预是否发生」(T)和「结果」(Y)都有重要影响的「混淆变量」(X)

5.2 技术

倾向性得分匹配(PSM)

逆概率加权(IPTW)

双重稳健估计(Doubly-Robust Estimation)

  • 由结果模型(Outcome Model)和倾向性得分模型(Propensity Score Model)两部分组成(因此叫"Doubly")
  • Outcome Model:建立 Y ~ X + T 的函数关系
  • Propensity Score Model:建立 T ~ X 的函数关系
  • 结合两个模型,计算ATE
  • 在实际应用中,Outcome Model 或 Propensity Score Model 可能有偏,但只要其中任意一个模型正确,Doubly-Robust Estimation就是正确的(相当于双保险,因此叫"Robust")

四、总结

相信大家都已经意识到了因果推断技术的重要性,货拉拉数据科学团队专注于利用行业前沿技术解决复杂业务问题,不仅组内以承接需求的方式解决难题,也在推动AB平台的进阶实验科学功能产品化,力求让好用的技术服务每一位业务同学。

相关推荐
宅小海1 小时前
scala String
大数据·开发语言·scala
小白的白是白痴的白1 小时前
11.17 Scala练习:梦想清单管理
大数据
java1234_小锋2 小时前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
Swift社区2 小时前
LeetCode - #139 单词拆分
算法·leetcode·职场和发展
Kent_J_Truman3 小时前
greater<>() 、less<>()及运算符 < 重载在排序和堆中的使用
算法
IT 青年3 小时前
数据结构 (1)基本概念和术语
数据结构·算法
Dong雨3 小时前
力扣hot100-->栈/单调栈
算法·leetcode·职场和发展
SoraLuna4 小时前
「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解
开发语言·算法·macos·cangjie
liujjjiyun4 小时前
小R的随机播放顺序
数据结构·c++·算法
¥ 多多¥4 小时前
c++中mystring运算符重载
开发语言·c++·算法