数据科学常见模型总结(二)-倾向性得分匹配模型

目录

一、PSM模型

1.1 倾向性得分匹配法(PSM)

1.2 倾向性得分匹配流程

1.3 倾向性得分匹配案例

1.4 参考资料

一、PSM模型

1.1 倾向性得分匹配法(PSM)

PSM的核心思想是从未受干预的用户群体中,找到和干预对象一模一样的用户,这样就可以把因果效应归因到干预上。

先来个案例说明倾向性得分匹配(PSM、Propensity Score Matching)可能解决的问题。

案例 1:

“试想需要比较不同类型学校的学生间收入差距,必然会得出私立大学的学生们收入奇高的结论。但稍加思考,我们就会发现收入上的差距可能是由于进入精英大学的学生本身能力就很强造成的,这并不能揭示哈佛大学学位所带来的收益。那么我们就需要保证学生自身能力、家庭背景等这些因素不变,去比较各方面都十分相似的学生就读于不同大学所带来的收入差距,这才是真正反映出精英私立大学教育回报率。明白了匹配的基本思想之后,接下来的问题就是如何进行匹配。不难发现除了高中成绩、家庭收入、性别等因素之外,还有许许多多因素影响着学生的未来收入,比如个人的勤奋程度、写作能力等等,将那么多广泛的因素进行控制是件十分困难的事情——此类可能性几乎无穷无尽,并且还存在不可观测的因素。

案例 2:(该统计也就是辛普森悖论的经典例子)

  • 吸烟者:1 人是,0 人否
  • 治疗:1 例接受治疗(治疗组),0 例未接受治疗(对照组)
  • 结果:1 人死亡,0 人未死亡

如果我们忽略吸烟状况并比较对照组(23.5%)和治疗组(34%)的死亡率,我们会得出以下结论:假设ATE(平均治疗效果)为0.105(0.34 - 0.235),如果进行治疗,死亡率将增加10.5%。

治疗组患者中吸烟者的数量(56%)远远高于对照组(19%)——这是否意味着吸烟会导致更高的死亡率?真实答案其实完全相反。

存在本轮的原因在于因果图中存在吸烟影响接受治疗率,同时影响死亡率。存在以下 2 点。

(1)吸烟影响死亡率;

(2)吸烟的人接受治疗率更高,治疗后可能死亡率变低

本质上控制组用户和实验组用户不同质,导致了相反的结论。这时候 PSM 就派上用场的。

如果可以做 ABTest,那么就没倾向性得分匹配法什么事情,直接 ABTest 是最好的因果推断的选择。但是 ABTest 通常有一些问题:

(1)ABTest不可进行:比如我们不能强迫一组用户‘吸烟’,另一组用户‘不吸烟’去观察吸烟对健康的危害;

(2)ABTest成本太高:当线上实验的选择太多,而产品的流量/时间成本是有限时,逐一对每一个实验都进行测试显然不现实,此时通过离线数据进行因果推断可以帮助我们科学地预判不同实验策略的“前途”,让我们可以优先尝试前途更加光明的实验。

PSM是一种使用倾向性得分进行匹配的因果推断方法,由Paul R. Rosenbaum和Donald Rubin两位统计学家在1983年首次提出,可以降低或消除混淆变量的干扰,从而更准确地测算干预的效果。用倾向性得分匹配可以相同的‘同质’用户,也就是从对照组中寻找特征相似的个体与其实验组相匹配,这个群体是一一对应的,从而构造控制组和实验组,用控制组个体的结果来估计干预组个体的反事实结果,进而分离出处理变量的因果效应(ATE (平均治疗/干预效应)指标)。

### 倾向性得分匹配的应用 #### 创建倾向得分模型 为了应用倾向性得分匹配,在数据分析的第一步是构建一个能够预测个体进入处理组概率的模型。通常采用逻辑回归来实现这一点,其中因变量为是否接受处理(通常是分类),自变量则包含了可能影响处理分配的各种协变量。 ```r psm_model <- glm(treatment ~ covariate1 + covariate2 + covariate3, data = dataset, family = binomial(link = "logit")) dataset$propensity_score <- predict(psm_model, type = "response") ``` 这段代码通过`glm()`函数拟合了一个逻辑回归模型,并利用此模型计算每条记录对应的倾向得分[^2]。 #### 执行倾向性匹配过程 一旦获得了所有样本单位的倾向得分之后,就可以执行实际的匹配操作了。这一步旨在找到最接近于每个实验对象的控制对象,从而形成一对对具有相似特征的研究单元组合。常用的方包括最近邻匹配、卡尺内精确匹配等。 ```r matched.data <- matchit(treatment ~ covariate1 + covariate2, data = data, method = "nearest", distance = "glm", caliper = 0.2) summary(matched.data) ``` 上述命令实现了基于先前建立好的逻辑回归模型来进行一对一的近似匹配,并设置了最大允许差异范围(caliper),以此提高匹配质量[^1]。 #### 验证匹配效果 完成匹配后应当评估其有效性,即确认经过调整后的两组间是否存在显著不平衡现象。理想情况下,成功实施PSM后应使得原本存在于原始数据集中不同水平上的混杂因素变得均匀分布在两个对比群体之间。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值