
SPSS操作:轻松实现1:1倾向性评分匹配(PSM)
谈起临床研究,如何设立一个靠谱的对照,有时候成为整个研究成败的关键。对照设立的一个非常重要的原则就是可比性,简单说就是对照组除了研究因素外,其他的因素应该尽可能和试验组保持一致,这里就不得不提随机对照试验。众所周知,随机对照试验中研究对象是否接受干预是随机的,这就保证了组间其他混杂因素均衡可比。
但是有些时候并不能实现随机化,比如说观察性研究。这时候倾向性评分匹配(propensity score matching, PSM)可以有效降低混杂偏倚,并且在整个研究设计阶段,得到类似随机对照研究的效果,想看实例赶快戳:队列研究常用的倾向评分,到底是个啥?。与常规匹配相比,倾向性评分匹配能考虑更多匹配因素,提高研究效率。
这么“高大上”的倾向性评分匹配,是不是超级难学?错矣!今天就带大家轻松搞定1:1倾向性评分匹配。作为“稀罕”大招,并不是在所有版本的SPSS都可以实现倾向性评分匹配,仅在SPSS22及以上自带简易版PSM,对于其他版本或者想要体验完整版功能,就不得不去安装相应的软件(R软件、SPSS R插件、PS matching插件。。。超级难安装!那是需要运气和耐心的!感兴趣的小伙伴可以私聊~~~)。
本次使用SPSS22为大家演示1:1倾向性评分匹配。
一、问题与数据
某研究小白想搞明白吸烟和高血压之间的关系,准备利用某项调查的资料进一步随访研究吸烟和高血压的关联,该项研究包括233名吸烟者,949 名不吸烟者。如果全部随访,研究小白感觉鸭梨山大,所以打算从中选取部分可比的个体进行随访。
这两组人群一些主要特征的分布存在显著差异(见表1),现准备采用PS最邻近匹配法选取可比的个体作为随访对象。
表1. 两组基线情况比较(匹配前)
二、SPSS分析方法
1. 数据录入
(1) 变量视图
(2) 数据视图
2. 倾向性评分匹配
选择Data→Propensity Score Matching,就进入倾向性评分匹配的主对话框。
将分组变量Smoke放入Group Indicator中(一般处理组赋值为“1”,对照组赋值为“0”);将需要匹配的变量放入Predictors中;Name for Propensity Variable为倾向性评分设定一个变量名PS;
Match Tolerance用来设置倾向性评分匹配标准(学名“卡钳值”),这里设定为0.02,即吸烟组和不吸烟组按照倾向性评分±0.02进行1:1匹配(当然,卡钳值设置的越小,吸烟组和不吸烟组匹配后可比性越好,但是凡事有个度,太小的卡钳值也意味着匹配难度会加大,成功匹配的对子数会减少,需要综合考虑~~~);
Case ID确定观测对象的ID;Match ID Variable Name设定一个变量,用来明确对照组中匹配成功的Match_ID;Output Dataset Name这里把匹配的观测对象单独输出一个数据集Match。
3. Options设置
Variable for Number of Eligible Cases设定一个变量,用来明确病例组中某一个观测对象,在对照组中有多少个观测对象满足与其匹配的条件,比如说病例组有一个观测对象PS=0.611,对照组可能有一个0.610,一个0.612。
Sampling默认为不放回抽样。
Give priority to exact matches 优先考虑精确匹配,也就说病例组有一个观测对象PS=0.611,对照组也应该找到一个0.611。
Maximize execution performance 执行最优化操作,即系统会综合考虑精确匹配和模糊匹配(基于设定的卡钳值范围内匹配),系统默认勾选。
Randomize case order when drawing matches整个匹配过程中,如果对照组有多个满足匹配条件的观测对象,那么SPSS会默认随机将其与病例组观测对象匹配。但是因为SPSS默认每次操作给对照组的随机数字不同,所以如果不特殊设定,每次实际匹配成功的对子是不一样的,也就说这一次对照组A匹配给病例组B,下一次就可能匹配给病例组C。所以需要自行设置,并且在Random Number Seed设定一个随机数种子,确保匹配过程可以重复。
三、结果解读
1. 匹配结果
表2以吸烟(1=吸烟;0=不吸烟)为因变量,以需要调整的变量为自变量构建logistic回归模型(表2),求出每个研究对象的PS值。
表2. logistic回归模型
表3显示,精确匹配45对,模糊匹配114对,共计匹配成功159对。
表3. 匹配结果
表4主要是匹配过程。首先是精确匹配(即PS完全一致),匹配33663次,大约1%匹配成功;其次在精确匹配成功的前提下,进行PS的模糊匹配(PS±0.02,即最开始设定的卡钳值为0.02),匹配33618次,大约3.3%匹配成功。
表4. 匹配容许误差
2. 匹配后数据库
输出的数据集Match中出现之前设定的几个新变量:E_case表示对照组中有几个符合匹配条件的观测对象(如图,吸烟组ID=2,有2个对照组观测对象符合匹配条件);PS是基于logistic回归模型计算出的倾向性评分;match_id表示匹配成功的ID。
3. 数据库整理
A. 筛选匹配成功的对子:选择Data→Select Cases→If condition is satisfied:设定match_id≥1,筛选出匹配成功的对子→Output中输出新的数据集Analysis。
B. 确定匹配成功标识:match_id为吸烟组和不吸烟组相互匹配成功的ID,这里将不吸烟组match_id变量转换为ID变量,这时候相同的match_id即为匹配成功的对子。具体操作:将Analysis数据集中,不吸烟组match_id替换成ID编号:Transform→Compute Variable→if smoke=0, match_id=ID→OK
C. 选择Data→Sort cases→按照匹配标识match_id排序(相同的match_id即为匹配成功的对子)→OK→Save(你的鼠标手一定要点保存!!!)
倾向性评分匹配就搞定了,再来看看匹配情况。表5显示,原吸烟组233例,最后共有159例匹配成功(这次我们限定PS≤0.02,但可根据实际情况选择合适的限定,增加匹配成功数!),各匹配因素在两组间都均衡可比。
表5. 两组基线情况比较(匹配后)
四、总结和拓展
PSM一般分为三种类型:
1、PS最邻近匹配:是PSM最基本的方法,即直接从对照中寻找一个或多个与处理组个体PS值相同或相近的个体作为配比对象。本次我们就采用的是这个方法。
2、分层PSM:PS最邻近匹配尽管可以使协变量总体趋于平衡,但不能保证每个协变量分布完全一致。可以根据某个重要变量(如性别)分层后,分别对每层人群进行PS最邻近匹配,然后再将配比人群合并,这样就可以保证该重要变量在组间分布完全一致。
3、与马氏配比结合的PSM:PSM与马氏配比结合后可以增加个别重点变量平衡能力,实现过程比较复杂。
对于1:m PS匹配和与马氏配比结合的PSM,目前SPSS22及以上版本自带的PSM并不能实现,后面会介绍基于SAS软件复杂倾向性评分匹配,敬请期待~~~
想深入学习统计学知识,为数据分析筑牢根基?那快来看看统计学极简入门课程!
学习入口:https://edu.cda.cn/goods/show/3386?targetId=5647&preview=0
课程由专业数据分析师打造,完全免费,60 天有效期且随到随学。它用独特思路讲重点,从数据种类到统计学体系,内容通俗易懂。学完它,能让你轻松入门统计学,还能提升数据分析能力。赶紧点击链接开启学习,让自己在数据领域更上一层楼!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA数据分析师与数据指标:基础概念与协同逻辑 一、CDA 数据分析师:数据驱动时代的核心角色 1.1 定义与行业价值 CDA(Certified ...
2025-08-22Power Query 移动加权平均计算 Power Query 移动加权平均设置全解析:从原理到实战 一、移动加权平均法的核心逻辑 移动加权平均 ...
2025-08-22描述性统计:CDA数据分析师的基础核心与实践应用 一、描述性统计的定位:CDA 认证的 “入门基石” 在 CDA(Certified Data Analy ...
2025-08-22基于 Python response.text 的科技新闻数据清洗去噪实践 在通过 Python requests 库的 response.text 获取 API 数据后,原始数据 ...
2025-08-21基于 Python response.text 的科技新闻综述 在 Python 网络爬虫与 API 调用场景中,response.text 是 requests 库发起请求后获取 ...
2025-08-21数据治理新浪潮:CDA 数据分析师的战略价值与驱动逻辑 一、数据治理的多维驱动引擎 在数字经济与人工智能深度融合的时代,数据治 ...
2025-08-21Power BI 热力地图制作指南:从数据准备到实战分析 在数据可视化领域,热力地图凭借 “直观呈现数据密度与分布趋势” 的核心优势 ...
2025-08-20PyTorch 矩阵运算加速库:从原理到实践的全面解析 在深度学习领域,矩阵运算堪称 “计算基石”。无论是卷积神经网络(CNN)中的 ...
2025-08-20数据建模:CDA 数据分析师的核心驱动力 在数字经济浪潮中,数据已成为企业决策的核心资产。CDA(Certified Data Analyst)数据分 ...
2025-08-20KS 曲线不光滑:模型评估的隐形陷阱,从原因到破局的全指南 在分类模型(如风控违约预测、电商用户流失预警、医疗疾病诊断)的评 ...
2025-08-20偏态分布:揭开数据背后的非对称真相,赋能精准决策 在数据分析的世界里,“正态分布” 常被视为 “理想模型”—— 数据围绕均值 ...
2025-08-19CDA 数据分析师:数字化时代的价值创造者与决策智囊 在数据洪流席卷全球的今天,“数据驱动” 已从企业战略口号落地为核心 ...
2025-08-19CDA 数据分析师:善用 Power BI 索引列,提升数据处理与分析效率 在 Power BI 数据分析流程中,“数据准备” 是决定后续分析质量 ...
2025-08-18CDA 数据分析师:巧用 SQL 多个聚合函数,解锁数据多维洞察 在企业数据分析场景中,单一维度的统计(如 “总销售额”“用户总数 ...
2025-08-18CDA 数据分析师:驾驭表格结构数据的核心角色与实践应用 在企业日常数据存储与分析场景中,表格结构数据(如 Excel 表格、数据库 ...
2025-08-18PowerBI 累计曲线制作指南:从 DAX 度量到可视化落地 在业务数据分析中,“累计趋势” 是衡量业务进展的核心视角 —— 无论是 “ ...
2025-08-15Python 函数 return 多个数据:用法、实例与实战技巧 在 Python 编程中,函数是代码复用与逻辑封装的核心载体。多数场景下,我们 ...
2025-08-15CDA 数据分析师:引领商业数据分析体系构建,筑牢企业数据驱动根基 在数字化转型深化的今天,企业对数据的依赖已从 “零散分析” ...
2025-08-15随机森林中特征重要性(Feature Importance)排名解析 在机器学习领域,随机森林因其出色的预测性能和对高维数据的适应性,被广 ...
2025-08-14t 统计量为负数时的分布计算方法与解析 在统计学假设检验中,t 统计量是常用的重要指标,其分布特征直接影响着检验结果的判断。 ...
2025-08-14