带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(4)

简介: 带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(4)

带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(3) https://developer.aliyun.com/article/1243258?groupCode=taobaotech




匹配的基础思路很简单,即找到一个距离最近的样本,实现的具体方法按照渐进的顺序阐述如下:


Nearest Neighbour Matching 最近邻匹配


这是最直接的一种方法,即:对干预组中的用户,选取对照组中在倾向分上相差最小的用户做匹配。


实现上,会有有放回和无放回两种实现方式:

1. 有放回(对照组样本可重复使用):此时整体匹配质量上升,bias下降,当干预组与对照组倾向分分布差异较大

时推荐应用。此时使用的对照组样本数会减少,导致variance上升;

2. 无放回:此时匹配结果与匹配顺序有关,顺序需要保证随机。


除了是否放回之外,还有一个可调整的地方在于对单个用户是否可匹配多个样本(over-sampling):通过匹配最近的多个邻居降低了variance,提升了匹配的稳定性。但此时需要给每个邻居赋予权重(eg. 按距离衰减)。


Caliper and Radius Matching 有边界限制的半径匹配


当最近的邻居也相距很远的时候,NN匹配会存在低质匹配的风险。很自然的,我们想到可以限定样本间分数差值的上限,即Caliper。


1. Caliper Matching:匹配时引入倾向分差值的忍受度,高于忍受度的样本丢弃。理论上通过避免低质量匹配降低了bias,但在样本数量较少时也可能因为匹配过少而升高了variance;


2. Radius Matching:不止匹配caliper中的最近样本,使用caliper中的所有样本进行匹配。这种方法的优势在于,当有高质量匹配时使用了更多的样本、而当缺乏高质量匹配时则使用较少的样本。


Stratification and Interval Matching 分层区间匹配


分层匹配可以看作radius matching的一种相似版本,即将倾向得分分成多个区间,在每个区间内进行匹配。需要注意的是,分层的依据除了propensity score,也可以用一些我们认为重要的特征(如性别、地区),在相同特征的用户间进行匹配。


匹配示例SQL


在计算复杂度不太高的情况下,我们通常能够使用sql进行匹配算法的实现,示例如下:


with matching_detail as (
 select t1.user_id as treatment_userid,
 t1.score as treatment_pscore,
 t2.user_id as control_userid,
 t2.score as control_pscore,
 row_number() over (partition by t1.user_id order by abs(t1.score-t2.score) asc) as rn
 from propensity_score_treatment t1
 left join propensity_score_control t2
 -- 分层匹配
 on t1.gender = t2.gender and round(t1.score, 1)*10 = round(t2.score, 1)*10
 where abs(t1.score-t2.score) <= 0.05 -- caliper matching
)
select * from matching_detail where rn = 1 # rn大于1时为多邻居/radius匹配


上述的三种方法实际上都只使用了对照组中的部分样本,若希望使用对照组中的所有样本可对对照组中的样本整体赋权,计算整体的差值。




带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(5) https://developer.aliyun.com/article/1243255?groupCode=taobaotech


相关文章
|
机器学习/深度学习 分布式计算 C++
带你读《2022技术人的百宝黑皮书》——因果推断:效应估计的常用方法及工具变量讨论(3)
带你读《2022技术人的百宝黑皮书》——因果推断:效应估计的常用方法及工具变量讨论(3)
199 1
|
机器学习/深度学习 算法
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(3)
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(3)
277 0
|
算法
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(7)
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(7)
223 0
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(6)
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(6)
123 0
|
算法
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(1)
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(1)
280 0
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(8)
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(8)
178 0
|
机器学习/深度学习
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(2)
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(2)
195 0
|
SQL 算法
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(4)
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(4)
130 0
|
算法 数据可视化
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(5)
带你读《2022技术人的百宝黑皮书》——倾向得分匹配(PSM)的原理以及应用(5)
137 0
带你读《2022技术人的百宝黑皮书》——SIGIR2022 | 流行度偏差如何利用? 探索解耦域适应无偏召回模型(3)
带你读《2022技术人的百宝黑皮书》——SIGIR2022 | 流行度偏差如何利用? 探索解耦域适应无偏召回模型(3)
114 0
下一篇
无影云桌面