如何使用SPSS进行PSM操作

在维基百科里这么描述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。

  1. 安装SPSS 18.0统计软件——我提供的几个小工具都是针对SPSS 18.0的,所以建议安装这个版本;
  2. 这个链接下载工具包,解压缩,获得3个文件(R-2.8.1-win32.exe,PASWStatistics_RPlugIn_1802_win32.exe,psmatching_2.spd),以下都用得着。注:这3个文件对应的是18.0版本的SPSS,如果你使用的是更高版本的SPPS,请在如下步骤的“原始下载链接”中下载对应的文件);
  3. 运行R-2.8.1-win32.exe(原始下载链接),安装R for Windows;
  4. 运行PASWStatistics_RPlugIn_1802_win32.exe(原始下载链接),安装SPSS的R语言插件;
  5. 打开SPSS软件,在菜单里操作:Utilities – Custom Dialogs – Install Custom Dialog (实用程序 – 定制对话框 – 安装自定义对话框),选中psmatching_2.spd文件(原始下载链接)以安装。
  6. 重启SPSS,在Analysis(分析)菜单里就可以看到PS Matching了。

2013-07-27_psm

其实说到底很简单,就是Thoemmes君开发了SPSS的PS Mathcing的插件,因为这个插件是R语言写的,所以要额外安装SPSS的R语言扩展。简单用了一下,这个插件存在一些不足,Thoemmes的论文里也提及了:只能做两组间的匹配,不能有更多组;需要平衡的因素不能有缺失值(一个缺失值也不能容忍)。更详细的信息请参考Thoemmes的论文吧,里面写的非常清楚。

 

主要参考资料:

  1. huangwei98: 为了propensity score analysis(倾向性分析),真是曲折也!
  2. Thoemmes, F: Propensity score matching in SPSS

生物医学常用软件应用技巧

一些零星的技巧收集在这儿。

1. 禁止浏览器打开pdf文档。Acrobat或Adobe Reader安装时会给IE内核的浏览器增加pdf浏览插件,但某些以IE作为内核的浏览器内预览pdf文档时常常会停止响应,例如遨游。可以在Acrobat或Adobe Reader里禁止浏览器打开pdf,从而保持在网页内点击pdf文档的链接时直接下载,而不是在浏览器里浏览pdf文档。设置方法: 打开Acrobat或者Adobe Reader软件-菜单“编辑”-“首选项”-“因特网”-取消对“在浏览器中显示PDF”项的选择

2. EndNote与Office 2007的冲突。相信不少朋友已经升级到了Office 2007,如果同时使用EndNote管理参考文献的话,会发现插入了EndNote参考文献的Word文档会变得奇慢无比,常常失去响应。这是EndNote和Word 2007的拼写检查之间的冲突,目前还没有解决这个问题。为了避免冲突,只有割爱关闭Word的拼写检查功能了。设置方法:打开Word,点击窗口左上角“Office按钮”-“校对”页-将“在Word中更正拼写和语法时”下的勾都去掉,最多只可以保留“键入时标记语法错误”。(updated, 2010-6-19)打错了板子,其实冲突只存在于Word 2007的“使用上下文拼写检查”冲突。在Word里关掉这个选项便是。方法:Word 2007界面左上角的球 – Word 选项 – “校对”页 – 去掉“使用上下文拼写检查”前的勾。

3. SPSS 16.0以上的版本的使用的常见统计功能不见了。尽管你已经确认这个版本的SPSS已经完全xx了,但是但是Fisher确切概率法检验和生存分析等常用功能在analysis菜单下却找不到了。其实,高版本的SPSS的授权方式发生了改变,确切概率法和生存分析模块的使用是需要独立授权,需要额外的授权号。不过xx组织已经给我们做好了,以EDGE的Keygen为例,在Lock code里可以选择相应的模块来获取授权号,如图所示。

EDGE_keygen

OR值的计算方法

OR值的意义可以参考新浪网友“统计遗传”的这篇日志。这里做一些摘抄和修改:

OR值的全称是odds ratio、比值比,对于发病率很低的疾病来说,它是OR值即是相对危险度的精确估计值。OR值的意义:
OR值等于1,表示该因素对疾病的发生不起作用;
OR值大于1,表示该因素是危险因素;
OR值小于1,表示该因素是保护因素。

计算公式如下:假定我们要鉴别因素(例如吸烟)是不是某个疾病的危险因素(例如肺癌)。形成如下四个表:

crosstab

OR值= AD/BC。95%的置信区间就不用公式了,下面用SPSS实现。

SPSS不支持4格表,需要原始的阴性和阳性的数据,即,形式如下(一般情况下,1-是,0-否)。

format_crosstab

使用卡方检验,计算P值,同时可以计算OR值。SPSS里计算OR值的具体方法:

菜单Analyze – Descriptive Statistics – Crosstabs,在弹出的Crosstabs里,Row和Column的框里分别添加吸烟和肺癌两个变量(行列可以相互交换,不影响OR的计算结果)。点击Statistics按钮,弹出对话框,勾选Chi-square和Risk,然后Continue。其他不用管,按下OK按钮进行运算。结果里产生了3个表格:

第1个是数据是否确实等情况和4格表。
第2个可以看到第1行卡方值和检验的P值。根据注释b,看有几个cell(四格表的格子)的预测值小于5,如果有1个(25%)及以上的cell的预测值小于5,则需要看Fisher’s Exact Test一栏的P值,否则就是第1行的卡方检验P值就可以了。
第3个表格的第1行就是OR值了,可以看到OR值和95%CI。