AB组不随机?观测试验?Propensity Score

【自取】最近整理的,有需要可以领取学习:

背景

都说随机是AB实验的核心,为什么随机这么重要呢?有人说因为随机所以AB组整体不存在差异,这样才能准确估计实验效果(ATE)

[ATE = E(Y_t(1) – Y_c(0)) ]

那究竟随机是如何定义的呢? 根据Rubin Causal Model, 想要让上述估计无偏,随机实验需要满足以下两个条件:

  1. SUTVA
  2. 实验个体间不相互影响
  3. 实验个体间的treatment可比
  4. Ignorability(Unconfoundness是更强的假设)
    是否受到实验干预和实验结果无关,从因果图的角度就是不存在同时影响treatment和outcome的其他变量

[Y(1),Y(0) \perp Z ]

SUTVA在一般实验中是假定成立的,线上实验还好,很多线下实验很难保证这一点,像滴滴在部分地区投放更多车辆就会导致其他地区出现运力不足,所以个体间是隐含存在相互影响的。但这个不在本节讨论范围以内。

Ignorability在随机实验中,通过对样本随机采样得以保证。但是在观测性实验或者并未进行完全随机的实验中Ignorability是不成立的。解决办法就是把同时影响是否实验和实验结果的那些变量(Confounding Covariate)考虑进来得到conditional Ignorability。既

[Y(1),Y(0) \perp Z | X ]

理论是如此,但X往往是未知且高维的。寻找X完全一样的样本来估计ATE并不现实,其中一个解决办法就是下面的Propensity Score Matching。名字很高端计算较简单使用需谨慎~

下面我介绍一下核心方法,并用kaggle一个医学相关数据集简单比较一下各个方法。

核心方法

原理

Propensity Score的核心方法分成两步,score的计算和score的使用。score计算如下:

[\text{Propensity Score} = P(Z=\text{treatment assignment}| X \in R^n) ]

一种理解是它通过对影响Z的(X \in R^N)进行建模, 提炼所有Confounding Covariate的信息。另一种理解是把(P(z|x))作为一种相似度(样本距离)的度量。我个人倾向于把它当作一种有目标的降维($N \to 1 $),或是聚类(相似样本)来理解。

然后基于score我们对样本进行聚合或匹配或加权,使样本满足上述的 conditional Ignorability

Propensity Score 估计

估计本身就是一个经典的二分类问题,基于特征我们预测每个样本进入实验组的概率。几篇经典的paper(2011年之前)都是用LogisticRegression来解决问题,但放在今天xgBoost和LGB等等集合树算法在特征兼容和准确率上应该会表现更好。而且树对于样本划分的方式天然保证了叶节点的样本有相同的打分和相似的特征。[当然要是你的数据太小LR还是首选]

这里说两个建模时需要注意的点:

1. 特征选择

这里的特征可以大体被分为三类

  • 影响treatment
  • 影响outcome
  • 同时影响treatment和outcome的confounder

毫无疑问confounder是必须要有的,移除confounding Bias是AB实验的核心。但是是否加入只影响treatment和outcome的特征不同论文给出了不同的观点。

结合各方结论,加入对outcome有影响的特征是okay的,其实结合上一篇AB实验的高端玩法系列2 – 更敏感的AB实验, CUPED!,可以发现加入对outcome有影响的特征近似于变相使用了CUPED,可能降低实验核心指标估计的方差。

加入只对treatment有影响的特征,可能会导致实验组和对照组样本的Propensity score最终分布重合度变低,导致部分实验样本找不到匹配的对照样本,需要谨慎考虑。

2. 模型检验

只用AUC,cross-entropy来评价模型的拟合在这里是不够的。这涉及到Propensity Score的Balancing性质:

[Z \perp X | PropensityScore ]

简单说就是Score相近的样本,X也要相似。这里你可以直接用可视化boxplot/violinplot来检验,也可以更精确的用T-test等统计手段来检验X是否存在差异。

Score使用

Propensity Score通常有4种用法,我们逐一简单介绍一下

matching

一句话说按Propensity给实验组对照组进行配对。

按score对每一个实验组样本进行[1/N个][有/无放回]的样本匹配。这里的参数选择除了现实数据量的限制,一样是Bias-Variance的权衡。因此可以考虑根据样本量,在score相差小于阈值的前提下,分别计算1~N个匹配样本下的ATE,如果结果差异过大(sensitivity),则方法本身需要调整。

也有相应的trim方法旨在剔除score取值极端无法找到匹配的样本(eg. (score \to 0))。但在一些场景下trim方法会被质疑。( 小明:你扔掉了一些高收入的样本ROI肯定打不平啊怎么能这么算呢>_

Original: https://www.cnblogs.com/gogoSandy/p/11796536.html
Author: 风雨中的小七
Title: AB组不随机?观测试验?Propensity Score

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/15926/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部