SPSS教程:两个有序分类变量的趋势性检验
医咖会之前推送过一篇文章:Cochran-Armitage趋势检验,今天我们再来给大家介绍另外一种趋势性检验:Mantel-Haenszel卡方检验。这个方法用在什么场合,怎么用SPSS来操作,和Cochran-Armitage趋势检验又有什么区别,且看下文详解。
一、问题与数据
研究者想探索慢性疼痛症状数量与疼痛等级间的关系,从一家大型医院入院治疗慢性疼痛的病人中随机招募了364例研究对象。慢性疼痛综合症共有6种症状,研究者请研究对象报告其患有的症状。慢性疼痛门诊的医生使用疼痛量表对每个研究对象的疼痛进行评级。
研究对象自报的慢性疼痛症状数量在1-6之间,为有序分类变量,变量名为no_of_symptoms。医生将研究对象的疼痛分为四级:1级(轻度影响生活,轻度疼痛)、2级(轻度影响生活,高度疼痛)、3级(高度影响生活,疼痛致行为中度受限)和4级(高度影响生活,疼痛致行为重度受限),变量名为pain_grade。部分数据如下图。
上图中,Individual scores for each paticipant(左图)列出了每一个研究对象的情况,而Total count data (frequencies)(右图)则是对相同情况研究对象的数据进行了汇总。
二、对问题的分析
要判断慢性疼痛症状数量与疼痛等级间是否有线性变化的趋势,可以使用Mantel-Haenszel卡方检验。Mantel-Haenszel卡方检验也称线性趋势检验(Test for Linear Trend)或定序检验(Linear by Linear Test)[1]。
进行Mantel-Haenszel卡方检验,需要满足以下两个假设。
假设1:其中一个变量是有序分类变量。
假设2:另一个变量是有序分类变量(或二分类变量)。
下面将详细介绍如何使用SPSS进行Mantel-Haenszel卡方检验。
三、SPSS操作
此处除了进行Mantel-Haenszel卡方检验,还要计算Pearson相关系数。
1. 数据加权
如果数据是汇总格式(如上图中的Total count data),需要在进行Mantel-Haenszel卡方检验之前,先对数据加权。如果数据是个案格式(如上图中的Individual scores for each paticipant),则可以跳过“数据加权”步骤,直接进行SPSS操作。
数据加权的步骤如下:
在主界面点击Data→Weight Cases。弹出Weight Cases对话框后,点击Weight cases by,激活Frequency Variable窗口。
将freq变量放入Frequency Variable栏,点击OK。
2. Mantel-Haenszel卡方检验和Pearson相关系数
在主界面点击Analyze→Descriptive Statistics→Crosstabs,弹出Crosstabs对话框。将变量no_of_symptoms和pain_grade分别放入Row(s)栏和Column(s)栏。
点击Statistics,在弹出的对话框中,勾选Chi-square和Correlations,前者将输出Mantel-Haenszel卡方检验结果,后者将计算Pearson相关系数。点击Continue→OK。
四、结果解释
1. 统计描述
首先需要通过列联表了解数据,如下图。本例中可观察到列联表对角线附近的观测数最多。例如有1-2个症状的观测的疼痛等级为Ⅰ或Ⅱ,有5-6个症状的观测的疼痛登记为Ⅲ或Ⅳ,提示两个变量间可能存在关联。是否存在线性关联则需要Mantel-Haenszel卡方检验判断。
2. Mantel-Haenszel卡方检验
在Chi-Square Tests表中“Linear-by-linear Association”一行可以查看Mantel-Haenszel卡方检验结果。
在“Asymp. Sig. (2-sided)” 一列为Mantel-Haenszel卡方检验的P值。本例中显示为P<0.001,因此疼痛症状数量与疼痛等级间存在线性关系。
但需要注意的是,Mantel-Haenszel卡方检验只能说明存在线性关系,但不能给出这种线性相关的强度和方向。要判断线性相关的强度和方向,需要查看Pearson相关系数。
3. Pearson相关系数
Pearson相关系数可以在Symmetric Measures表格中“Pearson’R”一行中查看。
结果显示,R=0.394,P(Approx. Sig.)<0.001,说明no_of_symptoms和pain_grade间存在中度正相关。
五、撰写结论
采用Mantel-Haenszel卡方检验判断疼痛症状数量与疼痛等级间是否存在线性关系。疼痛症状数量取值1-6,疼痛等级取值1-4。Mantel-Haenszel卡方检验结果显示疼痛症状数量与疼痛等级间存在线性关系,χ2=56.254,P<0.001。
Pearson相关结果显示,R=0.394, P<0.001,说明疼痛等级随疼痛症状数量增加而升高。
六、作图
目前没有推荐的图形展示Mantel-Haenszel卡方检验的结果,简单的散点图无法反映疼痛症状数量与疼痛等级间的线性关系。如下图。
因此,建议在散点图中以点的大小(散点也可变为更加醒目的颜色)来反映列联表中的不同的观测数,如下图。
通过上图可以观察到疼痛症状数量与疼痛等级间存在线性关系:疼痛症状数量少、疼痛等级低到疼痛症状数量多疼痛等级高,代表频数的点明显较大。
1. 散点图的SPSS操作
注意:如果做和上图类似的图,必须使用文章开始那张图所示的Total count data (frequencies)的数据格式。
在主界面点击Graphs→Graphboard Template Chooser。出现Graphboard Template Chooser对话框后,选中Graphboard Template Chooser对话框左上角中的两个有序分类变量no_of_sypmtoms和pain_grade。
Graphboard Template Chooser对话框右侧显示11种图形选项,向下滑选择“Scatterplot”。
点击左上角的Detailed,在Visualization type下选择 “Scatterplot”,并在右侧X、Y内完成两个变量pain_grade和no_of_sypmtoms在坐标轴上的分配。
点击X轴后的下拉键后选择no_of_symptoms,点击X轴后的下拉键后选择pain_grade(Mantel-Haenszel卡方检验对哪个变量在X、X轴没有要求,可以随意转换。本例中,暂时将pain_grade作为因变量、no_of_symptoms作为自变量)。
点击Optional Aesthetics区域Size后的下拉键,选择变量freq。
点击OK,生成简单散点图:
以上散点图已经可以查看线性关系,如果为了散点图更加好看,可继续编辑。
2. 编辑散点图
双击散点图任意区域,出现Graphboard Editor对话框,点击任意一个散点后,所有点周围变成黄色,提示处于可编辑状态。
点击Graphboard Editor对话框顶部的
点击Graphboard Editor对话框顶部的
点击Graphboard Editor对话框顶部的
点击Graphboard Editor对话框的关闭键,退出编辑状态,最终得到可查看线性关系的散点图。
七、拓展阅读
Cochran-Armitage趋势检验和Mantel-Haenszel卡方检验的区别是:
① Cochran-Armitage趋势检验要求一个变量是有序分类变量,另一个变量是二分类变量;而Mantel-Haenszel卡方检验要求一个变量是有序分类变量,另一个变量则可以是二分类变量,也可以是有序多分类变量。
② 两个检验利用的统计模型不一样,一个是对数线性模型,一个是线性模型。
两种方法都能用的情况下,Cochran-Armitage趋势检验的结果与本文所述的Mantel-Haenszel卡方检验的结果近似。
尽管SPSS没有提供Cochran-Armitage趋势检验的菜单,但可以根据其原理通过其它模块来实现(详见我们之前的推送:SPSS:有序分类变量和二分类变量的Cochran-Armitage趋势检验),最终结果和SAS中的Cochran-Armitage趋势检验结果一致(SAS可以同时提供Cochran-Armitage趋势检验和Mantel-Haenszel卡方检验的结果)。
参考文献
1. Norman GR. (2014). Biostatistics: The Bare Essentials(4th Ed.). PMPH: Shelton, USA
(如果想使用文中数据进行练习,请使用电脑打开以下网址:
http://www.mediecogroup.com/method_article_detail/77/
点击左侧“数据下载”免费下载原始数据)
更多阅读
关注医咖会,轻松学习统计学~
快加小咖个人微信(xys2016ykf),拉你进统计讨论群和众多热爱研究的小伙伴们一起交流学习。如果想进群,添加小咖时请注明“加群”二字。
点击左下角“阅读原文”,看看医咖会既往推送了哪些统计教程。