在维基百科里这么描述PSM:
In the statistical analysis of observational data, propensity score matching (PSM) is a statistical matching technique that attempts to estimate the effect of a treatment, policy, or other intervention by accounting for the covariates that predict receiving the treatment.
简单来说,很多观察性研究对比两组患者的某个终点,但因为两组患者的基础水平的因素存在差异,而这些因素跟研究者观察的终点存在相关性。为了减少该参数掺杂引起的共线性,通常的做法是分层分析。但分层分析往往很大程度上损失病例量,于是出现了这个叫做PSM(又叫做PSA [PS analysis])的操作。PSM操作的主要目的是在两组患者之间挑出基础水平相当的患者,以进行进一步的分析。
SPSS也可以进行这项操作,huangwei98已经详细描述了如何配置SPSS插件,但有些掺杂信息干扰。我重新做了整理,并将主要的工具上传到了网盘里以方便下载。我使用的是SPSS 18.0。
- 安装SPSS 18.0统计软件——我提供的几个小工具都是针对SPSS 18.0的,所以建议安装这个版本;
- 到这个链接下载工具包,解压缩,获得3个文件(R-2.8.1-win32.exe,PASWStatistics_RPlugIn_1802_win32.exe,psmatching_2.spd),以下都用得着。注:这3个文件对应的是18.0版本的SPSS,如果你使用的是更高版本的SPPS,请在如下步骤的“原始下载链接”中下载对应的文件);
- 运行R-2.8.1-win32.exe(原始下载链接),安装R for Windows;
- 运行PASWStatistics_RPlugIn_1802_win32.exe(原始下载链接),安装SPSS的R语言插件;
- 打开SPSS软件,在菜单里操作:Utilities – Custom Dialogs – Install Custom Dialog (实用程序 - 定制对话框 - 安装自定义对话框),选中psmatching_2.spd文件(原始下载链接)以安装。
- 重启SPSS,在Analysis(分析)菜单里就可以看到PS Matching了。
其实说到底很简单,就是Thoemmes君开发了SPSS的PS Mathcing的插件,因为这个插件是R语言写的,所以要额外安装SPSS的R语言扩展。简单用了一下,这个插件存在一些不足,Thoemmes的论文里也提及了:只能做两组间的匹配,不能有更多组;需要平衡的因素不能有缺失值(一个缺失值也不能容忍)。更详细的信息请参考Thoemmes的论文吧,里面写的非常清楚。
主要参考资料:
- huangwei98: 为了propensity score analysis(倾向性分析),真是曲折也!
- Thoemmes, F: Propensity score matching in SPSS