倾向得分匹配法(PSM)量化评估效果分析


1. 因果推断介绍

如今量化策略实施的效果评估变得越来越重要,数据驱动产品和运营、业务等各方的理念越来越受到重视。如今这方面流行的方法除了实验方法AB testing外,就是因果推断中的各种观察研究方法。

“统计相关性并不意味着因果关系”,数据分析工作经常遇到归因分析问题,又因为种种原因而无法进行AB testing直接随机分组实验比较结果。举一些例子:

  • 在 feeds 流里刷到一个新推荐策略的内容的用户留存更高,他们的高留存是因为这个推荐策略导致的吗,这个策略究竟对留存的提升有多大效果?

  • 上周投放了某游戏广告的用户登录率更高,他们的高登录率有多大程度是由广告带来的,有多大程度是由于他们本身就是高潜力用户?

在以上这类案例中,我们需要分析某个策略(干预treatment)对结果的影响情况,从而探究其因果效应。那么可以利用已有的用户行为数据来进行观察研究分析。而观察研究中最重要的一个理念是:反事实框架,即和我们能够观测到的现实情况相反的一种状态。在于反事实框架下进行因果推断的原理是这样的:变量 X 对变量 Y 变化的因果效应可以表达为,当 X 成立时 Y 的结果与 X 不成立时 Y 的反事实结果之间的差异,如果这种差异存在且在统计上显著,则称变量 X 对变量 Y 是有因果效应的,否则二者之间就不存在因果关系。因此因果推断的难点在于我们无法对每个用户同时观测到两个状态下的结果。

一个粗暴的思路是将实验组和对照组的样本做一下 “匹配”。例如,对于实验组的每一个样本,我们都去对照组里找一个一模一样的样本。当样本属性全部都是离散的,并且属性的维度(个数)很小的时候,这么做也许是可以的。当样本属性里有一些连续变量或者当样本属性的维度很高时,这么做太粗暴了,大部分人是找不到匹配对象的。因此“倾向得分匹配”可以用来解决寻找匹配对象的难点问题。

倾向得分匹配PSM是因果推断中的一种统计学方法,用于处理观察研究的数据。在观察研究中,由于种种原因,数据偏差和混杂变量较多。倾向评分匹配的方法正是为了减少这些偏差和混杂变量的影响,以便对实验组和对照组进行更合理的比较。PSM是处理观察性研究(observational study)的经典方法。

2. PSM原理

“倾向性得分” 的定义很直观,是一个用户属于实验组的 “倾向性”:e(x)=Pr[T=1|X]=Pr[T=1]。具有不同特征(Corvariates)的用户被干预(treatment)的概率应该相等。直观来说,对于倾向性得分相同的一群用户,treatment 和特征是独立的,treatment 和潜在结果也是独立的,即做到实验中的随机性要求。理论上,如果我们对每一个实验组用户都在对照组里匹配一个得分相等(要求有点严苛)的用户,我们就能得到同质的实验组和对照组,就可以假装我们做了一个 A/B Test 了,接着就可以随意地进行组间比较了。倾向得分法(PS)主要有分层、匹配和加权三种方法。这里倾向得分匹配法属于匹配方法。

上面这段话具体实施起来,可以分为以下几个步骤。

1、倾向性得分估算:倾向性得分怎么估算?

2、倾向性得分匹配:怎么用得分完成匹配?

3、平衡性检查:怎么知道匹配效果?

4、因果效应估算:匹配后,怎么从匹配后的两组用户中得到因果效应?

5、敏感度分析:混淆变量的选择等主观的一些分析是否会得到一致的分析结论?

Step 1: 倾向性得分估算

这一步直接就是建模问题,因变量为是否被干预Treatment,自变量为用户特征变量。套用LR或者其他更复杂的模型,如LR + LightGBM等模型估算倾向性得分。

Step 2: 倾向性得分匹配

有了每个用户的倾向性得分,针对目前的实验组用户,匹配得到一个接近相同的对照组。

1、匹配用的得分:可选原始倾向性得分 e(x) 或者得分的 logit,ln(e(x)/(1−e(x)))。

2、修剪(trimming):先筛选掉倾向性得分比较 “极端” 的用户。常见的做法是保留得分在 [a,b]这个区间的用户,关于区间选择,实验组和对照组用户得分区间的交集,只保留区间中部 90% 或者 95%,如取原始得分在 [0.05,0.95]的用户。

3、匹配(matching):实验组对对照组根据得分进行匹配的时候,比较常见的有以下两种方法。nearest neighbors: 进行 1 对 K 有放回或无放回匹配。

radius: 对每个实验组用户,匹配上所有得分差异小于指定 radius 的用户。

4、得分差异上限:当我们匹配用户的时候,我们要求每一对用户的得分差异不超过指定的上限。

Step 3: 平衡性检查

怎么衡量 “配平效果 “呢?比较直观的是看倾向性得分在匹配前后的分布、以及特征在匹配前后的 QQ-Plot。匹配后的实验组和对照组的倾向性得分分布更加接近,变量分布也更接近。量化指标 Standarized Mean Difference (SMD)。SMD 的一种计算方式为:(实验组均值 - 对照组均值)/ 实验组标准差。一般如果一个变量的 SMD 不超过 0.2,一般就可以认为这个变量的配平质量可以接受。当一个变量的 SMD 超过 0.2 的时候,需要凭经验确认一下那个变量是不是没有那么重要。

Step 4: 因果效应推断

我们的目标是推断实验组的平均干预效应 ATT (Average Treatment Effect on the Treated)。ATT 的定义为 ATT=E[Y1−Y0|T=1]。现在我们已经有一对接近同质的实验组和对照组了,有很多方法可以用来估算 ATT 。可以直接比较匹配后的实验组和对照组,也可拟合一个由干预和用户特征预测观察结果的线形模型,看看干预 T 的系数是多少。

Step 5: 敏感性检查

敏感性分析主要的目标是衡量当混淆变量(特征)不满足非混淆假设(unconfoundedness )时,分析结论是不是稳健的。简单的做法是去掉一个或者多个混淆变量重复上面的过程。

3. PSM方法使用实例,附R代码

产品经理在会上展示新加了某功能后的用户复购数据。其中使用新功能的用户群复购率比未使用的用户群高20%。于是认为该功能提高了用户复购率,想在产品上全面推广该功能。作为数据分析师如何去评估分析该效果?

数据描述:

数据主要包括三方面:用户的特征变量、是否使用功能,是否发生复购。(这里不直接把数据给到大家,可以尝试用自己工作的数据。)

结果展示:

匹配数量
1116
处理组(使用功能)复购率
0.24
对照组(未使用功能)复购率0.13
均值差异
0.11***

结果描述:

按照1:1的匹配比例,最终匹配上1116对用户数据。其中处理组中的用户复购率为24%,对照组为13%,两组的差距显著。因此从数据角度证明该功能确实能提高复购率。但是归因为功能提高的复购率应该为11%,而不是20%。

R语言参考代码链接:

https://github.com/Serena-TT/PSM/blob/master/PSM/propensity_score_matching.R

4. 学习资料

一般在工作中应用场景比较复杂,涉及多分组情况,倾向得分法主要有分层、匹配和加权三种方法。而加权方法中的逆概率加权处理方法(IPTW)更适用于多分组的情况。以下为学习中用到的参考资料。

PSM和IPTW的教学视频:

《A Crash Course in Causality: Inferring Causal Effects from Observational Data》链接地址:https://www.coursera.org/learn/crash-course-in-causality

论文:

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3710547/

R分析包:

https://cran.r-project.org/web/packages/twang/vignettes/mnps.pdf

 
 

7964a4f75230d84e9341c6f4e966abdc.gif

 
 
●昨天熬夜整了一波,值了!
●品牌知名度分析实例
  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PSM(Propensity Score Matching)倾向得分匹配是一种常用的因果推断方。它主要用于处理观测数据中的选择偏倚,通过倾向得分匹配的方来估计因果效应。 在倾向得分匹配中,首先需要建立一个预测模型,即倾向得分模型。该模型基于一系列的协变量(观测数据的特征),来预测个体的倾向得分,即个体被暴露于某一处理的概率。常用的建模方包括逻辑回归、梯度提升树等。倾向得分模型的建立旨在消除协变量在处理选择上的影响。 接下来,根据个体的倾向得分进行匹配匹配原则是寻找在处理选择上相似的个体,即暴露组和非暴露组之间具有相近倾向得分的个体。匹配过程可以使用一对一匹配、多对一匹配或者一对多匹配等方进行。 最后,通过匹配后的样本,比较处理组和对照组的平均效应差异,从而估计因果效应。常用的比较方包括t检验、McNemar检验、回归分析等。 PSM倾向得分匹配的优势在于可以通过匹配的方式减轻选择偏倚的影响,从而得到更接近真实因果效应的估计。该方在医学、经济、教育等领域都有广泛的应用。但是,PSM也存在一些限制,如匹配精度的依赖性、缺乏可验证性等。 总的来说,PSM倾向得分匹配通过预测个体的倾向得分以及匹配相似个体的方式,能够帮助研究者更准确地评估处理的因果效应,从而提供可靠的研究结论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值