当无法进行AB实验或者AB实验不够有效(如存在不依从现象)时,正确评估因果效应就需要排除混淆变量的干扰,而排除混淆变量干扰最常用的方法之一就是倾向性得分匹配。倾向性得分匹配通过估计样本被分配到干预组的概率,并将干预组和对照组的参与者匹配来提高因果推断的可靠性。
一、背景
1. 混淆变量对因果推断产生干扰
因果推断目标:测算干预对结果产生的真实影响,即干预效果
-
案例1: 学历对收入的影响
-
现象:高学历人群收入更高
-
问题:能否能说明学历对收入有正面影响?
- 不能,也许是更强的能力同时导致了高学历及高收入,学历本身并不提升收入
-
-
案例2:服用药物对死亡率的影响
-
现象:服药人群死亡率更高
-
问题:能否说明药物导致了更高的死亡率?
- 不能,也许是更大的年龄的同时导致了更高的服药率和更高的死亡率,服药本身对死亡率的影响未知
-
-
案例3:参与活动对完单量的影响
-
现象:参与活动的人群完单量更高
-
问题:能否说明活动促进了用户完单?
-
不能,也许是更强的完单需求导致了更高的活动参与率和活动期间的完单量,活动本身并未促进完单
-
-
以上案例中,「能力、年龄、完单需求」为混淆变量(Confounders),指对干预(Treatment:学历,药物,活动)和结果(Outcome:收入、死亡率、完单量)同时产生影响的变量
混淆变量的存在导致「干预和结果的相关关系」(或干预样本和未干预样本的差异)无法代表「干预和结果的因果关系」。想要获得准确的因果关系,需要剔除混淆变量的干扰
2. 如何剔除混淆变量干扰?
需要“阻断”混淆变量对干预的影响,使混淆变量和干预从相关变为不相关/正交,进而准确测量干预效果
2.1 AB实验 ——最有效
例如,通过进行关于药物的随机试验,是否用药便和年龄或其他混淆变量无关了(阻断了年龄等混淆变量对是否用药这一干预的影响),从而得出药物对死亡率的真实影响。AB实验能最有效地剔除混淆变量的干扰,是因果推断的黄金准则
2.2 非 AB实验 ——当无法进行AB实验或AB实验不够有效
场景
无法进行 AB实验:如学历和收入,这种场景无法无法进行AB实验
实验无法有效评估干预效果:即便有AB实验,实验组也可能因用户 “ 不依从 ” (Non-Compliance,例如虽然对实验组用户开放了某个功能,但实验组用户不一定都会去使用),导致只有少数用户真正受到干预( 干预覆盖率低 ) ,干预即使对这部分用户有效,但从整体看效果往往不显著
方法
匹配:以药物-死亡率的案例为例,一种很自然的想法是比较不同年龄层内服药和死亡率的关系,每个年龄层内相对同质。这其实是一种匹配(Matching) ,即将同质(混淆变量近似)样本放到一起比较,避免因不同质而不可比。通过这种方式阻断了年龄对服药的影响
年龄 | 不服药死亡率 | 服药死亡率 |
---|---|---|
20 | 1‱ | 0.8‱ |
21 | 1.2‱ | 1.1‱ |
22 | 1.4‱ | 1.2‱ |
... | ... | ... |
59 | 2.5‱ | 2.1‱ |
60 | 3.1‱ | 2.8‱ |
倾向性得分匹配(Propensity Score Matching):PSM是一种使用倾向性得分进行匹配的因果推断方法,由Paul R. Rosenbaum和Donald Rubin两位统计学家在1983年首次提出,可以降低或消除混淆变量的干扰,从而更准确地测算干预的效果
二、整体框架
1. 倾向性得分计算
建立机器学习模型,模型预测每个样本“受干预概率”(Propensity Score),即倾向性得分
2. 样本匹配
匹配:为「受干预样本」寻找倾向性得分接近的「未受干预样本」
检验匹配样本同质性
3. 干预效果计算
对比匹配样本差异,计算干预效果
三、使用步骤
: 受干预样本集合,以下简称干预组
: 未受干预样本集合,以下简称空白组
: 第i个受干预的样本
: 第i个未受干预的样本
: 配对的受干预样本
:配对的未受干预样本
1. 倾向性得分计算
Y:关注的结果指标,如单量、GTV
X:混淆变量集合,同时也是模型特征。数据时间需要在T发生之前
T:是否受到干预,1-是,0-否
1.1 构建模型
样本:
特征:需要尽可能包含所有对 T 和 Y 都有重要影响的混淆变量(X)
标签:样本是否受到干预(T:1-受到干预,0-未受干预)
年龄(X1) | 性别(X2) | 区域(X3) | ... | 是否服药(T) |
---|---|---|---|---|
21 | 男 | 广东 | ... | 1 |
34 | 女 | 河北 | ... | 1 |
... | ... | ... | ... | ... |
25 | 女 | 上海 | ... | 0 |
a. 样本筛选:
如果是观察性数据(无AB实验),则使用所有样本
如果是AB实验数据,则只使用实验组数据(因为对照组无法受到干预,如果包含对照组数据,则会导致模型学习到有偏的 X 和 T 的因果关系)
b. 模型训练:
以X为自变量,T为因变量,训练二分类模型(如逻辑回归、Xgb等)
模型效果要求: 没有明确要求。PSM的最终目标并非训练一个AUC很高的模型,模型的预测结果是为下一步的匹配服务的,关键在于匹配的样本是否同质
1.2 倾向性得分输出:
使用模型预测所有样本的受干预概率,这个概率就是倾向性得分
2. 匹配
匹配:从空白组中为干预组样本匹配倾向性得分接近的样本
以最常用的卡尺最邻近匹配(Nearest Neighbor Caliper Matching)为例,过程为:对每个干预组样本,从空白组中寻找一个(通常为一个,但也可以是多个)与其倾向性得分最接近的样本,且两者差异小于某阈值
倾向性得分∈[0,1],下面例子为了表述方便没有做这一限制
2.1 卡尺最近邻匹配
根据使用细节的不同有以下细分类型:
是否能重复和多个匹配:
否:不重复抽样(without replacement),更常用
是:可重复抽样(with replacement)
与几个产生匹配:
1个:1对1匹配(one-to-one matching),更常用
大于1个:1对多匹配(one-to-many matching)
此外,还有一些其他匹配算法(相对不常用),如核函数匹配、半径内匹配等。
2.2 匹配的偏差与方差
不同算法的主要差异在于匹配到的空白组样本数量的多少。一般来说,匹配到的空白组样本越多,Bias(估计值和实际值的系统性偏差)越大,Variance(估计值本身的波动)越小
Bias小,Variance大 | Bias大,Variance小 | |
---|---|---|
匹配算法 | 卡尺最近邻匹配、最近邻匹配、全局最优匹配 | 半径内匹配、核函数匹配、局部线性匹配、分层匹配 |
是否重复抽样 | 是 | 否 |
匹配个数 | 1对1匹配 | 1对多匹配 |
2.3 算法选择
没有某种算法严格优于其他(不同场景优劣排序可能有不同)
推荐使用卡尺最邻近匹配(常用、简单、一般而言效果好),通常选择不重复抽样、1对1匹配,遇不同场景可进行微调 :
a. 空白组样本相对不足:可使用可重复抽样
b. 空白组样本相对充足:不可重复抽样
3. 同质性检验
- 检验「配对的干预组」()和「配对的空白组」()混淆变量(X)同质性:
a. 图示法:画出干预组和空白组变量的分布,比较是否存在显著不同
b. 假设检验法:使用Z检验、t检验、卡方检验等
下图展示了PSM的作用,匹配前(Before Matching)空白组和干预组分布差异较大,匹配后(After Matching)分布则非常近似
- 若使用卡尺最近邻匹配,则可能有部分干预组样本被丢弃,此时需要检验获得匹配的干预组和原始干预组的分布是否有显著差异
- 根据检验结果,决定是否进入下一步骤
4. 干预效果计算
计算「配对的干预组」()和「配对的空白组」()结果指标(如单量、GTV)差异,即为干预效果。
四、应用案例:金秋拉货节司机活动效果评估
-
场景:无 AB实验
-
背景:
-
活动种类:2022金秋拉货节期间全量上线了「司机战队」、「王者小程序」、「开大奖」、「积分抽奖」等活动,无AB实验
-
活动目的:
- 借助大型活动,提升平台影响力,抢占更多市场份额
- 九月为高峰期,通过司机活动促进司机接单完单,提升响应率
-
目标:评估司机活动是否对司机完单有正向影响
-
PSM活动效果评估流程:
-
司机范围: 6-9月存在完单的司机
-
特征数据(混淆变量): 截止8.31司机历史单量、GTV、属性相关特征
-
预测标签(干预): 是否参与拉货节活动
-
倾向性得分输出:预测每个司机在9月份参与活动的概率
-
匹配: 使用卡尺最近邻匹配(1对1,不重复抽样)对于每个参与活动的司机,找到其对应预测参与概率最接近的未参与活动的司机
同质性检验:
匹配司机实验前核心指标同质
部分参与活动司机未配对,但差异在可接受范围内
对比结果:对比两类司机的单量及GTV指标差异,拉货节活动对司机单量及GTV存在显著正向效果,人均单量较未参与司机高31.6%,人均GTV较未参与司机高12.2%
五、结语
本文介绍了由于种种原因在无AB实验或AB实验覆盖率较低情况下常用的干预效果评估方式——倾向性得分匹配。本文并同时建立了进行倾向性得分匹配分析的整体框架和操作步骤,以及案例演示。同时请读者期待后续货拉拉数据科学组AB实验白皮书体系的因果推断技术介绍。