倾向得分匹配只看这篇就够了

news2024/10/2 22:19:10

一、倾向得分匹配法说明

倾向得分匹配模型是由Rosenbaum和Rubin在1983年提出的,首次运用在生物医药领域,后来被广泛运用在药物治疗、计量研究、政策实施评价等领域。倾向得分匹配模型主要用来解决非处理因素(干扰因素)的偏差。

‍1、基本原理——反事实推断

基本原理是:根据处理组的特征,找出与处理组特征尽可能类似的控制组进行匹配,从而消除非处理因素的干扰。

例如:研究“是否读研”对于“收入”的帮助时,我们只能得到已经读研的处理组的收入情况,但是无法得到处理组的人没有读研的收入情况(反事实)。同时,是否读研和收入本身还受到其他非处理因素(干扰因素)的影响(比如学习成绩、家庭背景、学校差异等),此时,为了明确没有读研的反事实情况,进行反事实推断,校正非处理因素的影响就可以使用倾向得分匹配法,找到与读研的处理组学习成绩、家庭背景、学校差异等非处理因素类似的但是没有读研的控制组进行匹配,然后进行“是否读研”对于“收入”的帮助研究。

‍2、算法步骤

倾向得分匹配算法步骤如下:

  1. 计算倾向得分Pscore值
    构建一个是否接受培训的二分类变量作为因变量,以干扰因素作为自变量X进行二元logit回归模型构建,然后根据logit模型计算倾向得分Pscore值。Pscore值代表了干扰因素的整体水平情况,Pscore值越接近,说明两个研究对象(员工)的特征(初始工资等)越接近,第二步进行match匹配时,直接针对Pscore值进行。
  2. 进行匹配
    根据计算的倾向得分Pscore值进行处理组和控制组的样本进行匹配。SPSSAU会默认对样本进行编号(id),进行匹配时,针对研究因素Y= 1(处理组)的样本,去找对应Y=0(控制组)的匹配对象。
  3. PSM效果分析

匹配完成后,需要对匹配效果进行分析,包括分析PSM匹配基本信息、匹配后标准差偏差的变化、平行趋势检验、共同支撑检验等,后续将进行重点说明。

二、案例及SPSSAU实现

‍1、案例介绍

当前有一个公司,想要研究 “ 是否培训 ” 对于 “ 当前工资 ” 的影响。在公司内部,共收集到78个员工的相关信息,其中有17名员工接受过培训,61名员工未接受培训。已知当前工资会受到 “ 初始工资 ”、“ 工作经验 ”、“ 岗位 ”这3个基本特征的影响。因此,使用倾向得分匹配法找到除 “ 是否培训 ” 这一处理因素不同外,其他基本特征一致的两类人进行研究。

2、SPSSAU匹配操作

SPSSAU进行倾向得分匹配操作如下:将 “ 是否培训 ” 放到研究变量分析框中; “ 初始工资、工作经验、岗位 ” 这三个干扰因素放到特征项分析框中;“ 当前工资 ” 放在结果变量分析框中。同时勾选【保存信息】按钮,SPSSAU会默认输出id、matchid、weight、Pscore四项信息,id和matchid用于展示员工之间的匹配关系;weight用于标识匹配成功的次数;Pscore为二元logit回归模型估计值。SPSSAU操作如下图:

进行匹配时,SPSSAU需要选择匹配方法和抽样方法

(1)匹配方法选择

SPSSAU提供 “ 最近临法 ”(默认)和 “ 半径匹配法 ” 。“ 最近临法 ” 指找到PScore最接近的意思,“ 半径匹配 ” 找到PScore在可接受范围(阀值,卡钳值)内,阀值越小匹配越精确。本案例选择半径匹配法(0.05)进行匹配,如下图:

(2)抽样方法选择

SPSSAU提供 “ 放回抽样 ”默认和 “ 不放回抽样 ” 两种抽样方式。放回抽样是指某个样本会被重复匹配多次,不放回抽样是指样本最多被匹配1次就截止了。放回抽样的算法运行效率较低,当数据量非常大时可能不合适,本例数据较少,用两种抽样方法都可以,选择使用不放回抽样进行匹配,如下图:

以上操作完成之后,点击【开始分析】按钮,SPSSAU即输出匹配结果,接下来进行匹配效果分析。

3、匹配效果分析

倾向得分匹配效果分析包括分析匹配基本信息、匹配后标准化偏差、PSM平行假设检验、共同支撑检验四个方面。接下来,将逐个进行分析。

(1)匹配基本信息

SPSSAU输出PSM基本信息汇总表如下:

从上表可知,本次匹配使用半径匹配法并且精确匹配优先(精确匹配是指两个样本的Pscore值完全相等),匹配半径值为0.05,使用不放回抽样的方法。需要匹配个数(接受培训人数)为17,最终有16人匹配成功,匹配成功率94.118%。

(2)匹配后标准化偏差

标准化偏差对比图直观展示匹配前和匹配后标准化偏差的变化情况,如果标准化偏差变化明显(或者匹配后标准化偏差<20%),则说明匹配效果较好。

SPSSAU输出标准化偏差变化对比如下:

从上图来看,在匹配后,标准化偏差均小于20%,说明匹配之后,“初始工资”、“工作经验”、“岗位”这3项干扰因素,处理组与控制组特征基本保持一致。说明匹配效果较好。

(3)PSM平行假设检验

倾向得分匹配模型的一个假设是平行假设,即参与匹配的员工必须要各个维度上与处理组员工相似,这样才能保证估计结果的可靠性。

SPSSAU输出PSM平行假设检验如下表:

从上表可以得到:在匹配前,处理组和控制组(是否培训的两类员工),他们的特征项包括“初始工资”、“工作时间”、“岗位”均有显著性差异(p值均小于0.05),说明这3个特征项均属于干扰因素。

匹配后,处理组和控制组的3个特征项之间没有呈现出显著性差异(p值均大于0.05),说明经过匹配,处理组与控制组在这3个特征项上具有一致性。

针对标准化偏差来看,匹配后,特征项的标准化偏差全部低于20%,说明经过匹配处理组与控制组的3个特征项基本一致。标准化偏差减少幅度用于衡量标准化偏差的减少幅度情况,如果该值大于0,说明匹配效果好,该值小于0,说明匹配效果不好。该值越大越好,没有固定标准。从上表来看,3个特征项的标准化偏差减少幅度均大于0,说明匹配效果好。

综上所述,在匹配前,处理组和控制组的3个特征项均存在显著性差异,但经过匹配后,处理组与控制组在3个特征项上无显著性差异,具有一致性。所以PSM模型通过平行假设检验。

(4)共同支撑检验

倾向得分匹配的另一个假设就是共同支撑假设,即处理组与控制组是否具有相同的倾向得分值。共同支撑检验可以通过SPSSAU的核密度图进行检验,检验原理在于对比匹配前与匹配后的倾向得分值的分布情况。

①针对匹配前的Pscore值绘制核密度图,将“是否培训”放入X分析框中,“初始工资”和“工作经验”放入Y分析框中(核密度图Y只针对定量数据,故不分析岗位),SPSSAU操作如下:

得到匹配前初始工资与工作经验的核密度图如下:

从匹配前核密度图来看,处理组与控制组的Pscore值分布存在很大差异。如果忽略这种差异的存在(不进行匹配,直接进行差异分析),很可能导致研究结论偏误。同时看到处理组和控制组存在重叠部分,表明处理组和控制组具备了使用倾向得分匹配模型的条件。

②针对匹配后Pscore值绘制核密度图,筛选出匹配次数weight>0(不放回抽样也可以选择weight=1)的数据后再进行核密度图绘制。SPSSAU操作如下:

再次进行分析,得到匹配后核密度图如下:

从匹配后的核密度图看,经过匹配,处理组和控制组之间出现了显著的靠近与覆盖,存在较大的共同取值区间,表明两组样本在各方面特征已经非常接近,匹配效果较好,即说明通过共同支撑检验

4、研究结论分析

经过匹配后,研究 “ 是否培训 ” 是否会对 “ 当前工资 ” 产生显著影响可以使用t检验进行分析,但是SPSSAU在倾向得分匹配中可以做到 “ 一步到位 ” ,无需单独进行t检验,在此前将 “ 当前工资 ” 放入【结果变量】中,就是为了直接获得分析结果。SPSSAU输出结果为ATT效应分析,结果如下表:

ATT效应分析的目的在于分析匹配后结果变量在处理组和控制组之间是否有显著性差异。在本例中,即分析匹配后 “ 是否培训 ” 的两类人“当前工资”是否有显著差异。 “ Unmatched匹配前 ” 即第1行数据是指在匹配之前 , “ 研究变量 ” 与 “ 结果变量 ” 之间是否存在着差异性,其意义较小;主要看第二行数据ATT效应。

从上表可以看出,在匹配前,是否培训与当前工资之间呈现性差异(p<0.05)。以及在匹配之后,ATT效应值呈现出显著性(p<0.05),即说明进行PSM分析后显示是否培训与当前工资之间呈现出显著性差异,ATT效应值为17554.412,即意味着是否培训与当前工资起到正向作用。

总结与拓展

倾向得分匹配法是通过对样本建模(logit模型)得到Pscore值,通过Pscore值为处理组在控制组中找到最接近的样本,从而进行研究的。

PSM的优点在于可以控制干扰因素的影响、提高研究的证明力度;但其缺点也不可忽视,例如PSM需要样本量大、可能并非所有样本都能匹配成功,所以导致匹配后引起的样本量的损失问题不能忽视,甚至无法确定匹配后的样本是否能代表原有研究样本。

PSM有优点也有其局限性,但是尽管如此,PSM也是现代研究中一个不可或缺的统计方法,关键在于能够辨别自己的研究问题与PSM的适用性是否匹配,欢迎讨论~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/369680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

协作对象死锁及其解决方案

协作对象死锁及其解决方案 1.前言 在遇到转账等的需要保证线程安全的情况时&#xff0c;我们通常会使用加锁的方式来保证线程安全&#xff0c;但如果无法合理的使用锁&#xff0c;很可能导致死锁。或者有时我们使用线程池来进行资源的使用&#xff0c;如调用数据库&#xff0…

Swagger狂神学习笔记

学习目标&#xff1a; 了解Swagger的概念及作用 掌握在项目中集成Swagger自动生成API文档 前后端分离 前端 -> 前端控制层、视图层 后端 -> 后端控制层、服务层、数据访问层 前后端通过API进行交互 前后端相对独立且松耦合 产生的问题 前后端集成&#xff0c;前端或…

支持U盘数据、误删文件、硬盘数据 、回收站数据恢复的软件

好用的Windows数据恢复软件的标准 在数字和信息经济时代&#xff0c;数据是必不可少的。没有人可以承受由于意外删除、格式化和其他原因导致数据丢失的风险。与其在数据恢复服务上花费大量资金或花费大量时间努力自己取回数据&#xff0c;用户更喜欢使用Windows数据恢复软件…

Ask林曦|来回答,30个你关心的日常问题(一)

在林曦老师的线上书法直播课上&#xff0c;上课前后的聊天时间里&#xff0c;时常有同学向林曦老师提问&#xff0c;这些问题涵盖了日常生活的诸多方面&#xff0c;从身体的保养&#xff0c;到快乐的法门&#xff0c;皆是大家感兴趣的&#xff0c;也都共同关切的。      暄…

破解票房之谜:为何高票房电影绕不过“猫眼们”?

如此火爆的春节档很多&#xff0c;如此毁誉参半的春节档鲜有。2023开年&#xff0c;集齐张艺谋、沈腾的《满江红》&#xff0c;以及有票房前作打底的《流浪地球2》接连两部春节档电影票房进入前十&#xff0c;为有些颓靡的中国电影市场注入了一针“强心剂”。与票房同样热闹起来…

git实战技巧-本地刚做出的修改、暂存和提交如何进行撤销

1、解决思路工作区和暂存区内容的撤销&#xff0c;直接按照对应命令或者IDEA界面完成操作就行。对于已提交的撤销回滚建议如下&#xff1a;1. 代码如果仅仅是回撤到指定版本&#xff0c;该版本之上的更新是不需要的&#xff0c;选择Hard模式。2. 代码回撤到指定版本时&#xff…

父传子与子传父步骤

父传子&#xff1a; 问题&#xff1a;父页面中引入子组件 把想要传给子页面的值用在子组件中用 &#xff1a;值“值” (用同一个值好区分)来绑定。 在子页面中用props接收 子组件不能改变父组件传过来的值。&#xff08;传多个页面的时候是&#xff0c;比如父传孙的时候我会…

2020蓝桥杯真题门牌制作(填空题) C语言/C++

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小蓝要为一条街的住户制作门牌号。 这条街一共有 2020 位住户&#xff0c;门牌号从 1 到2020 编号。 小蓝制作门牌的方法是先制作 0 到 9 这几个数字字符&#xff…

两款全新模式——代言人、合伙人的玩法分享

近几年来&#xff0c;伴随着技术创新与时代发展趋势&#xff0c;线上消费订单配送服务高效率变得更加高&#xff0c;生活节奏的加快也使人们对于消费及时性越来越注重&#xff0c;及时要求已经大爆发。 用户的消费方式也发生了翻天覆地的变化&#xff0c;消费者跟商家不再是单…

jvm常识

Jvm工作原理学习笔记0126一、JVM的生命周期1.JVM实例对应了一个独立运行的java程序它是进程级别a)启动。启动一个Java程序时&#xff0c;一个JVM实例就产生了&#xff0c;任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点b)运行。ma…

Revit中如何使管道垂直连接及【支管升降】

一、Revit中如何使管道垂直连接 在管道的标高与所要相连的管子相差无几的时候&#xff0c;拉动管道所产生的管道连接方式往往不符合应有的设计思路&#xff0c;如图1所示&#xff1a; 1)相连之后所生成的一个布线方案&#xff0c;但不是我们所想要的布线方案。如图2所示&#x…

PPP点到点协议认证之PAP认证

PPP点到点协议认证之PAP认证 需求 如图配置接口的IP地址将R1配置为认证端&#xff0c;用户名和密码是 huawei/hcie &#xff0c;使用的认证方式是pap确保R1和R2之间可以互相ping通 拓扑图 配置思路 确保接口使用协议是PPP确保接口的IP地址配置正确在R1 的端口上&#xff0c…

【LeetCode】剑指 Offer 14- I. 剪绳子 p96 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/jian-sheng-zi-lcof/ 1. 题目介绍&#xff08;14- I. 剪绳子&#xff09; 给你一根长度为 n 的绳子&#xff0c;请把绳子剪成整数长度的 m 段&#xff08;m、n都是整数&#xff0c;n>1并且m>1&#xff09;&#xff0c…

【Mysql】InnoDB引擎

【Mysql】InnoDB引擎 文章目录【Mysql】InnoDB引擎1. 逻辑存储结构2. 架构2.1 概述2.2 内存结构2.2.1 Buffer Pool(缓冲池)2.2.2 Change Buffer(更改缓冲区)2.2.3 Adptive Hash Index(自适应hash索引)2.2.4 Log Buffer(日志缓冲区)2.3 磁盘结构2.3.1 System Tablespace(系统表空…

图解LeetCode——剑指 Offer 42. 连续子数组的最大和

一、题目 输入一个整型数组&#xff0c;数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。 二、示例 2.1> 示例1: 【输入】 nums [-2,1,-3,4,-1,2,1,-5,4] 【输出】 6 【解释】 连续子数组 [4,-1,2,1] 的和最大&#xff0c;…

鉴源论坛 · 观擎丨民机机载软件中的开发和验证工具

作者 |蔡喁 上海控安可信软件创新研究院副院长 版块 | 鉴源论坛 观擎 01 工具鉴定 现代软件工程中&#xff0c;工具已经出现在软件研制过程中的各个环节中。在常见的软件研制环节中&#xff0c;使用工具包括软件需求工具、软件设计工具、软件架构工具和软件测试工具等。这…

【C++】模板与STL库

STL&#xff08;标准模板库&#xff09; 文章目录模板STL模板 模板是泛型编程的基础&#xff0c;泛型编程以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容器&#xff0c;比如迭代器和算法&#xff0c;都是泛型编程的例子&#xff0c;它们…

线性判别分析仅在线性可分数据上能获得理想结果

Q: 线性判别分析仅在线性可分数据上能获得理想结果, 试设计一个改进方法, 使其能较好地用于飞线性可分数据 The same for “Linear discriminant analysis can only obtain ideal results on linearly separable data. Try to design an improved method to make it better us…

Vue3:自定义指令以及简单的后台管理权限封装

目录 前言&#xff1a; 自定义指令介绍&#xff1a; 局部的自定义指令&#xff1a; 全局自定义指令&#xff1a; 讲讲后台管理权限管理&#xff1a; 前言&#xff1a; 说起这个自定义指令的使用场景&#xff0c;我第一反应就是&#xff0c;后台管理的权限管理&#xff0c;要…

VBA学习——1

VBA 过程的基本语法如下&#xff1a; Sub 过程名(参数)语句1语句2...End SubVBA 函数与 VBA 过程很相似&#xff0c;除了使用的关键词外&#xff0c;主要区别是&#xff0c;函数可以返回值。 Function [函数名]([参数]) As [返回值类型]语句1 语句2 ... 语句n [函…