
PSM模型
-
2023年3月1日发(作者:酒店对讲机)python倾向匹配得分_数据分析36计(九):倾向得分匹配法
(PSM)量化评估效果分析
1.因果推断介绍
如今量化策略实施的效果评估变得越来越重要,数据驱动产品和运营、业务等各⽅的理念越来越受到重视。如今这⽅⾯流⾏的⽅法除了实验
⽅法ABtesting外,就是因果推断中的各种观察研究⽅法。
“统计相关性并不意味着因果关系”,数据分析⼯作经常遇到归因分析问题,⼜因为种种原因⽽⽆法进⾏ABtesting直接随机分组实验⽐较
结果。举⼀些例⼦:在feeds流⾥刷到⼀个新推荐策略的内容的⽤户留存更⾼,他们的⾼留存是因为这个推荐策略导致的吗,这个策略究
竟对留存的提升有多⼤效果?
上周投放了某游戏⼴告的⽤户登录率更⾼,他们的⾼登录率有多⼤程度是由⼴告带来的,有多⼤程度是由于他们本⾝就是⾼潜⼒⽤户?
在以上这类案例中,我们需要分析某个策略(⼲预treatment)对结果的影响情况,从⽽探究其因果效应。那么可以利⽤已有的⽤户⾏为数据
来进⾏观察研究分析。⽽观察研究中最重要的⼀个理念是:反事实框架,即和我们能够观测到的现实情况相反的⼀种状态。在于反事实框架
下进⾏因果推断的原理是这样的:变量X对变量Y变化的因果效应可以表达为,当X成⽴时Y的结果与X不成⽴时Y的反事实结果之间
的差异,如果这种差异存在且在统计上显著,则称变量X对变量Y是有因果效应的,否则⼆者之间就不存在因果关系。因此因果推断的难
点在于我们⽆法对每个⽤户同时观测到两个状态下的结果。
⼀个粗暴的思路是将实验组和对照组的样本做⼀下“匹配”。例如,对于实验组的每⼀个样本,我们都去对照组⾥找⼀个⼀模⼀样的样
本。当样本属性全部都是离散的,并且属性的维度(个数)很⼩的时候,这么做也许是可以的。当样本属性⾥有⼀些连续变量或者当样本属
性的维度很⾼时,这么做太粗暴了,⼤部分⼈是找不到匹配对象的。因此“倾向得分匹配”可以⽤来解决寻找匹配对象的难点问题。
倾向得分匹配PSM是因果推断中的⼀种统计学⽅法,⽤于处理观察研究的数据。在观察研究中,由于种种原因,数据偏差和混杂变量较
多。倾向评分匹配的⽅法正是为了减少这些偏差和混杂变量的影响,以便对实验组和对照组进⾏更合理的⽐较。PSM是处理观察性研究
(observationalstudy)的经典⽅法。
原理
“倾向性得分”的定义很直观,是⼀个⽤户属于实验组的“倾向性”:e(x)=Pr[T=1|X]=Pr[T=1]。具有不同特征(Corvariates)的⽤户被
⼲预(treatment)的概率应该相等。直观来说,对于倾向性得分相同的⼀群⽤户,treatment和特征是独⽴的,treatment和潜在结果也是
独⽴的,即做到实验中的随机性要求。理论上,如果我们对每⼀个实验组⽤户都在对照组⾥匹配⼀个得分相等(要求有点严苛)的⽤户,我
们就能得到同质的实验组和对照组,就可以假装我们做了⼀个A/BTest了,接着就可以随意地进⾏组间⽐较了。倾向得分法(PS)主要有分
层、匹配和加权三种⽅法。这⾥倾向得分匹配法属于匹配⽅法。
上⾯这段话具体实施起来,可以分为以下⼏个步骤。
1、倾向性得分估算:倾向性得分怎么估算?
2、倾向性得分匹配:怎么⽤得分完成匹配?
3、平衡性检查:怎么知道匹配效果?
4、因果效应估算:匹配后,怎么从匹配后的两组⽤户中得到因果效应?
5、敏感度分析:混淆变量的选择等主观的⼀些分析是否会得到⼀致的分析结论?
Step1:倾向性得分估算
这⼀步直接就是建模问题,因变量为是否被⼲预Treatment,⾃变量为⽤户特征变量。套⽤LR或者其他更复杂的模型,如LR+LightGBM
等模型估算倾向性得分。
Step2:倾向性得分匹配
有了每个⽤户的倾向性得分,针对⽬前的实验组⽤户,匹配得到⼀个接近相同的对照组。
1、匹配⽤的得分:可选原始倾向性得分e(x)或者得分的logit,ln(e(x)/(1−e(x)))。
2、修剪(trimming):先筛选掉倾向性得分⽐较“极端”的⽤户。常见的做法是保留得分在[a,b]这个区间的⽤户,关于区间选择,实验
组和对照组⽤户得分区间的交集,只保留区间中部90%或者95%,如取原始得分在[0.05,0.95]的⽤户。
3、匹配(matching):实验组对对照组根据得分进⾏匹配的时候,⽐较常见的有以下两种⽅法。nearestneighbors:进⾏1对K有放回
或⽆放回匹配。
radius:对每个实验组⽤户,匹配上所有得分差异⼩于指定radius的⽤户。
4、得分差异上限:当我们匹配⽤户的时候,我们要求每⼀对⽤户的得分差异不超过指定的上限。
Step3:平衡性检查
怎么衡量“配平效果“呢?⽐较直观的是看倾向性得分在匹配前后的分布、以及特征在匹配前后的QQ-Plot。匹配后的实验组和对照组的
倾向性得分分布更加接近,变量分布也更接近。量化指标StandarizedMeanDifference(SMD)。SMD的⼀种计算⽅式为:(实验组均
值-对照组均值)/实验组标准差。⼀般如果⼀个变量的SMD不超过0.2,⼀般就可以认为这个变量的配平质量可以接受。当⼀个变量的
SMD超过0.2的时候,需要凭经验确认⼀下那个变量是不是没有那么重要。
Step4:因果效应推断
继续阅读请移⾄公众h:DataGo数据狗