倾向得分匹配PSM案例分析

news/2024/5/20 12:28:57/文章来源:https://blog.csdn.net/m0_37228052/article/details/126662737

倾向得分匹配(PSM),是一种模仿RCT随机对照试验随机化分组,提高组间均衡性,进而达到降低混杂因素影响目的一种数据处理策略。PSM在计量研究,临床医学等领域有着广泛的应用。

1.案例背景与分析策略

1.1 案例背景介绍

某企业想评价专项培训的效果,现收集到78位员工的个人及工作成绩信息,包括性别、年龄、教育年、初始工作成绩与当前工作成绩、工作经验、工作时间、职位类别、是否参加培训等数据。

数据上传SPSSAU后,在 “我的数据”中查看浏览原始数据,前5行数据如下:

图1 “我的数据”查看浏览数据集

1.2 明确目的与分析策略

已经参加过培训的有17人,其余61人没有参加过培训。研究培训的效果,我们似乎可以直接比较两组员工的工作成绩有无差异。

考虑到性别、年龄、工作经验、参加工作时间等本身会影响工作成绩,当两组人群不在一个起跑线起跑时,如果贸然直接对比当前工作成绩的差异,可能受到其他因素的干扰。

因此,我们应该寻找一批和参加培训员工基本情况类似,各关键指标特征接近的、未参加过培训的员工组成对照/控制组,然后进行组间差异的对比,从而判断培训效果。

倾向评分匹配,正是这样一种可以匹配对照,让处理组和对照组达到均衡的数据处理手段。SPSSAU在“计量经济研究”栏目下提供了【倾向得分匹配】功能。

完成匹配后,以当前工作成绩数据作为结果变量,是否培训为分组数据来探讨培训效果。

2.协变量选择与基线分析

倾向评分匹配PSM,首先需要构造PS评分概率数据,然后利用PS数据按某种匹配算法从所有待选的对照样本中选择合适对象完成匹配过程。

SPSSAU默认采用logistic回归模型构造PS数据,而用户则需要指定哪些数据作为协变量参与logistic回归计算PS值。

协变量的选择不是随意的,具体选择依据目前有多种观点。一般来说,协变量会影响结果变量,而且在干预组、对照组上也存在差异。当然专业知识、既往研究结论也可作为参考。

SPSSAU中协变量表述为特征项,本案例后面对协变量的描述统一采用特征项。

2.1 匹配前连续型特征项差异检验

已收集的特征项中,年龄、教育年、初始工作成绩、工作经验、工作时间,这5个为连续型数据。我们先考察培训组、未培训组在这些数据上是否基线无差异。

在SPSSAU“通用方法”栏目中执行【t检验】。结果如下:

图2 匹配前连续型数据t检验

由上表结果可知,两组员工在初始工作成绩、工作经验上存在统计学差异(均P值<0.05)。而在年龄、教育年、工作时间上无差异。

2.2 匹配前分类型特征项差异检验

同理,对性别、职位类别两个分类数据,做交叉表卡方检验,以考察匹配前两组员工在二者的分布差异。

在SPSSAU“通用方法”栏目中执行【交叉/卡方】。结果如下:

图3 匹配前分类型数据交叉表卡方检验

由上表结果可知,两组员工在职位类别的分布上存在统计学差异(P值<0.05),而性别分布上无差异。

2.3 特征项/协变量选择

综合基线分析、专业认知、既往研究结论,本案例拟将初始工作成绩、工作经验、职位类别共3个指标认定为本次PSM的特征项(协变量)。

以此3个特征项,通过logistic回归构造PS数据,从而实现匹配。

3.倾向得分匹配

3.1 匹配算法选择

倾向评分匹配算法有很多种,较常用的是最近邻匹配。SPSSAU提供了两种匹配算法,分别是最近邻匹配和半径匹配。前者是指PS值距离最近的进行匹配,后者需先指定卡钳值,在卡钳值范围内进行匹配。

原则上两种算法的匹配结论大致一样,可以根据匹配均衡性来选择,本例选择半径匹配。卡钳值采用多次遍历的形式,最终确定为0.05。具体理由文末有总结说明。

3.2 SPSSAU具体操作

在SPSSAU“计量经济研究”栏目下选择【倾向得分匹配】,首先将“是否培训”拖拽至【研究变量】框内,它将作为logistic回归的二结局因变量,特别注意水平编码,要求是1表示处理组,0表示对照组。

“初始成绩”、“工作经验”、“职位类别”拖拽至【特征项】框。

图4 SPSSAU倾向评分匹配具体操作

同时,本例建议将结果变量“当前成绩”拖拽至【结果变量】框。此操作展现了SPSSAU的特有优势,可以帮我们一步到位,既实现匹配,同时也完成匹配后数据的效果分析。

匹配算法选择半径匹配,卡钳值0.05。为方便理解,采用不放回策略。同时勾选【保存信息】,即要求输出匹配指示数据。具体操作见图4,最后点击“开始分析”即可。

4.倾向评分匹配结果解读

4.1 匹配概况

参加培训员工17人,因此需要匹配个数为17。采用卡钳值0.05的半径匹配后,匹配成功16人,SPSSAU此时进行的是1:1匹配,因此匹配后的数据总人数为32人。

通俗讲,匹配算法从未参加培训的61人中寻找到16人一一匹配给参加过培训的员工。

图5 PSM匹配概括

4.2 均衡性评价

匹配后,一定要进行均衡性、或平衡性评价,满足均衡条件后才表示匹配成功,如果均衡性不达标,应当返回重新进行匹配,直到满意为止。

在SPSSAU中,至少可以完成四项平衡性评价,本案例选择其中三项进行重点解读。

首先来看第一项:标准化偏差变化条形图

图6标准化偏差变化条形图

一般匹配后“标准化偏差”绝对值小于20%,则匹配效果较好。本例中,初始成绩、工作经验、职位类别匹配前的标准化偏差均在55%以上,匹配后,标准化偏差均低于20%,表明匹配后两组人群在这三个特征项上达到均衡。

第二项:核密度图

SPSSAU【倾向评分匹配】并未直接提供该图形,需要我们自己根据另存到原始数据中的匹配指示变量进行绘制。

新增的匹配指示变量中,Weight变量大于0,即匹配成功次数大于0,表明该样本为匹配成功的有效样本。

在SPSSAU的“可视化”栏目下,选择【核密度图】,打开【筛选样本】,输入条件:Weight > 0 ,这样做从数据集中筛选出匹配成功的32人数据,用于绘图。

图7 核密度前筛选匹配成功样本

“是否培训”拖拽至【定类X】框,其他特征项或其他变量可拖入【定类Y】框。

限于篇幅,本案例只展示“初始成绩”特征的匹配后核密度图。由图可见,匹配后两组密度曲线十分相似,能满足均衡要求。

图8 匹配后初始工作成绩核密度图

第三项:匹配后基线分析

匹配前我们已经讨论过基线比较,匹配后也可以继续做基线分析,以判断匹配后两组数据在各特征项上有无差异。

连续型特征项用t检验,类别性特征项用卡方检验,我们直接看结果(t检验、卡方检验汇总后):

图9 匹配后特征项基线分析

如上表所示,匹配后,两组人群在初始成绩、工作经验、职位类别上差异无统计学意义(均P值>0.05)。即,匹配后基线特征由有差异趋于一致、均衡。综合以上三项结果,本例认为匹配后培训组、未培训组两组在特征上达到均衡,匹配效果良好。

5.效果分析

我们已经为17人的培训组,匹配到了一批特征类似,基线一致的对照(未培训组)。

本例的分析目的是考察培训的效果,结果变量“当前工作成绩”为连续型数据,因此执行t检验即可评价培训的效果。

但是我们并不需要去单独做t检验,因为SPSSAU在【倾向评分匹配】中包含了这一项重要工作。我们此前将当前成绩移入【结果变量】框,就是为了直截了当获得该项结果。

在SPSSAU中,这项工作称之为ATT效应分析。本例的结果:

图10 匹配后ATT效应分析

“Unmatched匹配前”第1行数据是指在匹配之前,两组的当前工作成绩有统计学差异。

“ATT效应”第2行数据是指在匹配之后,两组的当前工作成绩存在显著差异(P值<0.05)。

说明在控制了干扰因素后,我们认为培训是有效果的。

6.总结

本例采用半径匹配算法,卡钳值多少合适呢?原则上并没有严格的规定或标准。

可以通过多次遍历的形式,比如第一次执行卡钳值0.3,然后评估匹配后平衡性及样本损失是否满足要求;如果不平衡,则返回调低卡钳值到0.1(或其他值)再进行同样操作,若仍不平衡,继续返回拉低卡钳值,比如0.05,或0.02,直至组间满足平衡要求,而且样本损失也在可接受水平。本例最终设定卡钳值为0.05。最近邻算法在没有卡钳值限定时,处理组样本通常会全部匹配成功,读者可以自行实践。

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA编译项目找不到符号

问题描述 场景: 某个bean添加了一个字段; idea使用Git拉取代码后,新建分支提交,然后修改再切换其他分支,发生了代码冲突; 然后解决代码冲突,开始编译项目,报错找不到符号. 问题分析 1.查看控制台日志输出,找报错代码行。 2.lombok插件注解未生效。 3.编码问题; 4.jdk…

vue基础语法(上)

目录 一、插值 1、文本 2、html 3、属性 4、表达式 5、class绑定 6、style绑定 二、指令 1、核心指令 注:v-show和v-if区别 三、过滤器 1、全局过滤器 2、局部过滤器 四、计算属性与监听属性 1、计算属性 2、监听属性 3、计算属性和监听属性的区别 …

李沐d2l(十一)--锚框

文章目录一、概念二、代码1 生成锚框2 IoU(交互比)3 将真实边界框分配给锚框4 标记类和偏移5 应用逆偏移变换来返回预测的边界框坐标6 nms7 将非极大值抑制应用于预测边界框一、概念 在目标检测算法中,通常会在输入图像中采样大量的区域(生成多个边缘框&…

ELASTICSEARCH快速入门

1. ELASTICSEARCH 1、安装elastic searchdokcer中安装elastic search (1)下载ealastic search和kibana docker pull elasticsearch:7.6.2docker pull kibana:7.6.2 (2)配置 mkdir -p /mydata/elasticsearch/config 创建目录mkdir -p /mydata/elasticsearch/dataecho "…

fastapi+mongo+qlib:体系化构建AI量化投研平台

百天计划之第34篇,关于“AI量化投资研究平台”建设。 从今天开始要开始一条主线——就是开始搭建整个投研平台。 如果说8月开始是知识点的梳理,一些基础技术的准备(以qlib和机器学习为核心),9月开始重点是“以解决真…

.NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。

更新数据 第一种: 先从数据库中取出数据,然后再更新字段。效率较低,需要2次数据库操作; Entities:就是EF实体数据模型 using (var db new Entities()) { var data db.Member.Find(5); data.Name “new name”; db.…

基于Springboot+vue的玩具销售商城网站 elementui

爱玩儿是所有孩子的天性。尤其是在婴幼儿阶段。选择一个好的玩具,不仅能够让孩子玩儿的开心,而且有助于孩子智力的开发。很多家长在选择玩具的时候,不知道选择什么样的玩具。且当前玩具市场的玩具鱼目混杂,种类繁多,而…

cmake和makefile区别和cmake指定编译器(cmake -G)

一 cmake和makefile区别 要说明区别,我们先要区分下面三类工具: 1.项目构建生成工具 首先cmake是项目构建生成工具,cmake的代码可以与平台系统和编译器无关。类似cmake的工具还有autotools、qmake、GN,其中qmake已基本由cmake替代。cmake下载地址 cmake.org.cn 也就是说cma…

1.初识jQuery

jQuery是JS的库,封装了原生JS的一些DOM方法,使JS用起来更方便 目录 1 下载jQuery 2 jQuery的基本使用方式 3 jQuery入口函数 1 下载jQuery jQuery官网 jQuery 点击这里进入下载页面,我当前的版本为 3.6.1,如果你想下载之…

2022极端高温!人工智能如何预测森林火灾?| 万物AI

💡 作者:ShowMeAI编辑部 📢 声明:版权所有,转载请联系平台与作者并注明出处 📢 收藏ShowMeAI查看更多精彩内容 8月21日晚,重庆北碚区山火一路向国家级自然保护区缙云山方向蔓延。为守护家园&…

LabVIEW通过网络传输数据

LabVIEW通过网络传输数据 选择应用程序的联网功能时,最重要的因素是应用程序使用的通信模型。不同的通信模型具有不同的数据传输要求。下表列出了最常见的几种通信模型以及推荐功能。 通信模型 说明 范例 推荐联网功能 处理数据 传输最新数据,从一…

Vue模块语法上(插值指令过滤器计算属性-监听属性)

文章目录 一、插值 1)文本 2)html 3)属性 4)表达式 5)class绑定 6)style绑定 二、指令 1.v-if|v-else|v-else-if 2.v-show 3.v-for 4.v-bind 5.v-on 6.v-model 三、过滤器 全局过滤器 局部过滤器…

从零开始配置SSH密钥到github

最近电脑新环境,重新配置SSH 密钥链接GitHub 1 git安装 1.1 下载git 在官网下载git.exe 下载地址》 https://github.com/git-for-windows/git/releases/download/v2.37.3.windows.1/Git-2.37.3-64-bit.exe 1.2 安装git 双击运行程序,然后一直下一步…

for3.0测试题(必看)

for循环测试题:99乘法表11=112=2 22=413=3 23=6 33=914=4 24=8 34=12 44=1615=5 25=10 35=15 45=20 55=2516=6 26=12 36=18 46=24 56=30 66=3617=7 27=14 37=21 47=28 57=35 67=42 77=4918=8 28=16 38=24 48=32 58=40 68=48 78=56 88=6419=9 29=18 39=27 49=36 59=45 69=54 79…

彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-用户系统EP03

前文再续,之前一篇我们已经配置好了数据库以及模板引擎,现在可以在逻辑层编写具体业务代码了,博客平台和大多数在线平台一样,都是基于用户账号体系来进行操作,所以我们需要针对用户表完成用户账号的CURD操作。 用户后…

Hadoop 3.x(入门)----【Hadoop概述】

Hadoop 3.x(入门)----【Hadoop概述】1. Hadoop是什么2. Hadoop发展历史(了解)3. Hadoop三大发行版本(了解)4. Hadoop优势(4高)5. Hadoop组成(重点)1. HDFS架构…

Express--获取URL中携带的查询参数、获取URL中的动态参数、获取URL中的动态参数

Express获取URL中携带的查询参数 通过req.query对象,可以访问到客户端查询字符串形式,发送给服务器参数 req.query默认是一个空对象客户端使用url的地址是?键值对&键值对(?namejs$age78)等这种查询字符串形式,发送到服务器的参数----…

Oracle P6 -SQLServer数据库乱码案例分享

此案例根据近几日根一盆友提到的问题分享总结 简单说下P6的基本参数 P6Version: Primavera P6 21.12.0Database: Microsoft SQLServer 2017Server : Windows Server 2016 问题描述: 在P6 Professional (桌面客户端) 中输入中文的内容,无论是EPS名称&a…

【云原生 • Kubernetes】kubernetes 核心技术 - 集群安全机制

本文导读一、集群安全机制概述1.认证2. 鉴权(授权)3. 准入控制二、RBAC 概述三、RBAC 角色绑定操作演示一、集群安全机制概述 要知道,访问 Kubernetes 集群必需要进行三个步骤,即: 认证鉴权(授权)准入控制 而这个访问过程均需经过 apiserver…

ArcGIS流域划分基础知识初学者课程

ArcGIS流域划分基础知识初学者课程 GIS 概念和 ArcGIS、ArcGIS Pro、ArcGIS Online 工具与分水岭划分示例简介 课程英文名:Learn the basics of GIS and use of ArcGIS softwar 此视频教程共5.0小时,中英双语字幕,画质清晰无水印&#xff…