SPSS 10.0高级教程十三:分类资料的回归分析(2)

2012-04-12 生物谷 生物谷

在很久很久以前,地球上还是一个阴森恐怖的黑暗时代,大地上恐龙横行,我们的老祖先--类人猿惊恐的睁大了双眼,围坐在仅剩的火堆旁,担心着无边的黑暗中不知何时会出现的妖魔鬼怪,没有电视可看,没有网可上... 我是疯了,还是在说梦话?都不是,类人猿自然不会有机会和恐龙同时代,只不过是我开机准备写这一部分的时候,心里忽然想到,在10年前,国内的统计学应用上还是卡方检验横行,分层的M-H卡方简直就是超级武器

在很久很久以前,地球上还是一个阴森恐怖的黑暗时代,大地上恐龙横行,我们的老祖先--类人猿惊恐的睁大了双眼,围坐在仅剩的火堆旁,担心着无边的黑暗中不知何时会出现的妖魔鬼怪,没有电视可看,没有网可上...

我是疯了,还是在说梦话?都不是,类人猿自然不会有机会和恐龙同时代,只不过是我开机准备写这一部分的时候,心里忽然想到,在10年前,国内的统计学应用上还是卡方检验横行,分层的M-H卡方简直就是超级武器,在流行病学中称王称霸,更有那些1:M的配对卡方,N:M的配对卡方,含失访数据的N:M配对卡方之类的,简直象恐龙一般,搞得我头都大了。其实恐龙我还能讲出十多种来,可上面这些东西我现在还没彻底弄明白,好在社会进步迅速,没等这些恐龙完全统制地球,Logistic模型就已经飞速进化到了现代人的阶段,各种各样的Logistic模型不断地在蚕食着恐龙爷爷们的领地,也许还象贪吃的人类一样贪婪的享用着恐龙的身体。好,这是好事,这里不能讲动物保护,现在我们就远离那些恐龙,来看看现代白领的生活方式。

特别声明:我上面的话并非有贬低流行病学的意思,实际上我一直都在做流行病学,我这样写只是想说明近些年来统计方法的普及速度之快而已。

据我一位学数学的师兄讲,Logistic模型和卡方在原理上是不一样的,在公式推演上也不可能划等号,只是一般来说两者的检验结果会非常接近而已,多数情况下可忽略其不同。

§10.3 Binary Logistic过程

所谓Logistic模型,或者说Logistic回归模型,就是人们想为两分类的应变量作一个回归方程出来,可概率的取值在0~1之间,回归方程的应变量取值可是在实数集中,直接做会出现0~1范围之外的不可能结果,因此就有人耍小聪明,将率做了一个Logit变换,这样取值区间就变成了整个实数集,作出来的结果就不会有问题了,从而该方法就被叫做了Logistic回归。

随着模型的发展,Logistic家族也变得人丁兴旺起来,除了最早的两分类Logistic外,还有配对Logistic模型,多分类Logistic模型、随机效应的Logistic模型等。由于SPSS的能力所限,对话框只能完成其中的两分类和多分类模型,下面我们就介绍一下最重要和最基本的两分类模型。

10.3.1 界面详解与实例

例11.1 某研究人员在探讨肾细胞癌转移的有关临床病理因素研究中,收集了一批行根治性肾切除术患者的肾癌标本资料,现从中抽取26例资料作为示例进行logistic回归分析(本例来自《卫生统计学》第四版第11章)。

  • i: 标本序号

  • x1:确诊时患者的年龄(岁)

  • x2:肾细胞癌血管内皮生长因子(VEGF),其阳性表述由低到高共3个等级 

  • x3:肾细胞癌组织内微血管数(MVC) 

  • x4:肾癌细胞核组织学分级,由低到高共4级 

  • x5:肾细胞癌分期,由低到高共4期 

  • y: 肾细胞癌转移情况(有转移y=1; 无转移y=0)。

i x1 x2 x3 x4 x5 y
1 59 2 43.4 2 1 0
2 36 1 57.2 1 1 0
3 61 2 190 2 1 0
4 58 3 128 4 3 1
5 55 3 80 3 4 1
6 61 1 94.4 2 1 0
7 38 1 76 1 1 0
8 42 1 240 3 2 0
9 50 1 74 1 1 0
10 58 3 68.6 2 2 0
11 68 3 132.8 4 2 0
12 25 2 94.6 4 3 1
13 52 1 56 1 1 0
14 31 1 47.8 2 1 0
15 36 3 31.6 3 1 1
16 42 1 66.2 2 1 0
17 14 3 138.6 3 3 1
18 32 1 114 2 3 0
19 35 1 40.2 2 1 0
20 70 3 177.2 4 3 1
21 65 2 51.6 4 4 1
22 45 2 124 2 4 0
23 68 3 127.2 3 3 1
24 31 2 124.8 2 3 0
25 58 1 128 4 3 0
26 60 3 149.8 4 3 1

在菜单上选择Analyze==》Regression==》Binary Logistic...,系统弹出Logistic回归对话框如下:

左侧是候选变量框,右上角是应变量框,选入二分类的应变量,下方的Covariates框是用于选入自变量的,只不过这里按国外的习惯被称为了协变量。两框中间的是BLOCK系列按扭,我在上一课已经讲过了,不再重复。中下部的>a*b>框是用于选入交互作用的,和其他的对话框不太相同(我也不知道为什么SPSS偏在这里做得不同),下方的Method列表框用于选择变量进入方法,有进入法、前进法和后退法三大类,三类之下又有细分。最下面的四个按钮比较重要,请大家听我慢慢道来:

  • Select>>钮:用于限定一个筛选条件,只有满足该条件的记录才会被纳入分析,单击它后对话框会展开让你填入相应的条件。不过我觉得该功能纯属多余,和专门的Select对话框的功能重复了。

  • Categorical钮:如果你的自变量是多分类的(如血型等),你必须要将它用哑变量的方式来分析,那么就要用该按钮将该变量指定为分类变量,如果有必要,可用里面的选择按钮进行详细的定义,如以哪个取值作为基础水平,各水平间比较的方法是什么等。当然,如果你弄不明白,不改也可以,默认的是以最大取值为基础水平,用Deviance做比较。

  • Save钮:将中间结果存储起来供以后分析,共有预测值、影响强度因子和残差三大类。

  • Options钮:这一部分非常重要,但又常常被忽视,在这里我们可以对模型作精确定义,还可以选择模型预测情况的描述方式,如Statistics and Plots中的Classification plots就是非常重要的模型预测工具,Correlations of estimates则是重要的模型诊断工具,Iteration history可以看到迭代的具体情况,从而得知你的模型是否在迭代时存在病态,下方则可以确定进入和排除的概率标准,这在逐步回归中是非常有用的。

好,根据我们的目的,应变量为Y,而X1~X5为自变量,具体的分析操作如下:

  1. Analyze==》Regression==》Binary Logistic...

  2. Dependent框:选入Y

  3. Covariates框:选入x1~x5

  4. OK钮:单击

10.3.2 结果解释

Logistic Regression

上表为记录处理情况汇总,即有多少例记录被纳入了下面的分析,可见此处因不存在缺失值,26条记录均纳入了分析。

上表为应变量分类情况列表,没什么好解释的。

Block 0: Beginning Block

此处已经开始了拟合,Block 0拟合的是只有常数的无效模型,上表为分类预测表,可见在17例观察值为0的记录中,共有17例被预测为0,9例1也都被预测为0,总预测准确率为65.4%,这是不纳入任何解释变量时的预测准确率,相当于比较基线。

上表为Block 0时的变量系数,可见常数的系数值为-0.636。

上表为在Block 0处尚未纳入分析方程的侯选变量,所作的检验表示如果分别将他们纳入方程,则方程的改变是否会有显著意义(根据所用统计量的不同,可能是拟合优度,Deviance值等)。可见如果将X2系列的哑变量纳入方程,则方程的改变是有显著意义的,X4和X5也是如此,由于Stepwise方法是一个一个的进入变量,下一步将会先纳入P值最小的变量X2,然后再重新计算该表,再做选择。

Block 1: Method = Forward Stepwise (Conditional)

此处开始了Block 1的拟合,根据我们的设定,采用的方法为Forward(我们只设定了一个Block,所以后面不会再有Block 2了)。上表为全局检验,对每一步都作了Step、Block和Model的检验,可见6个检验都是有意义的。

此处为模型概况汇总,可见从STEP1到STEP2,DEVINCE从18降到11,两种决定系数也都有上升。

此处为每一步的预测情况汇总,可见准确率由Block 0的65%上升到了84%,最后达到96%,效果不错,最终只出现了一例错判。

上表为方程中变量检验情况列表,分别给出了Step 1和Step 2的拟合情况。注意X4的P值略大于0.05,但仍然是可以接受的,因为这里用到的是排除标准(默认为0.1),该变量可以留在方程中。以Step 2中的X2为例,可见其系数为2.413,OR值为11。

上表为假设将这些变量单独移出方程,则方程的改变有无统计学意义,可见都是有统计学意义的,因此他们应当保留在方程中。

最后这个表格说明的是在每一步中,尚未进入方程的变量如果再进入现有方程,则方程的改变有无统计学意义。可见在Step 1时,X4还应该引入,而在Step 2时,其它变量是否引入都无关了。

10.3.3 模型的进一步优化与简单诊断

10.3.3.1 模型的进一步优化

前面我们将X1~X5直接引入了方程,实际上,其中X2、X4、X5这三个自变量为多分类变量,我们并无证据认为它们之间个各等级的OR值是成倍上升的,严格来说,这里应当采用哑变量来分析,即需要用Categorical钮将他们定义为分类变量。但本次分析不能这样做,原因是这里总例数只有26例,如果引入哑变量模型会使得每个等级的记录数非常少,从而分析结果将极为奇怪,无法正常解释,但为了说明哑变量模型的用法,下面我将演示它是如何做的,毕竟不是每个例子都只有26例。

默认情况下定义分类变量非常容易,做到如上图所示就可以了,此时分析结果中的改变如下:

上表为自变量中多分类变量的哑变量取值情况代码表。左侧为原变量名及取值,右侧为相应的哑变量名及编码情况:以X5为例,表中可见X5=4时,即取值最高的情况被作为了基线水平,这是多分类变量生成哑变量的默认情况。而X5(1)代表的是X5=1的情况(X5为1时取1,否则取0),X5(2)代表的是X5=2的情况,依此类推。同时注意到许多等级值有几个记录,显然后面的分析结果不会太好。

相应的,分析结果中也以哑变量在进行分析,如下所示:

上表出现了非常有趣的现象:所有的检验P值均远远大于0.05,但是所有的变量均没有被移出方程,这是怎么回事?再看看下面的这个表格吧。

这个表格为方程的似然值改变情况的检验,可见在最后Step 2生成的方程中,无论移出X2还是X4都会引起方程的显著性改变。也就是说,似然比检验的结果和上面的Walds检验结果冲突,以谁为准?此处应以似然比检验为准,因为它是全局性的检验,且Walds检验本身就不太准,这一点大家记住就行了,实在要弄明白请去查阅相关文献。

请注意:上面的哑变量均是以最高水平为基线水平,这不符合我们的目的,我们希望将最低水平作为基线水平。比如以肾细胞癌第一期为基线水平,需要这样做只要在Categoriacl框中选中相应的变量,在Reference Category处选择First,再单击Change即可,此时变量旁的标示会做出相应的改变如下:

分析结果中也会做出相应的改变,此处略。

10.3.3.2 模型的简单诊断

SPSS本身提供了几种用于模型诊断的工具,基本上都集中在Options对话框中,除了大家熟悉的残差分析外,这里这种介绍三种简单而有非常有用的工具:迭代记录、相关矩阵和分类图。

上表为Block 1的迭代记录,可见无论是似然值,还是三个系数值,均是从迭代开始就向着一个方向发展,最终达到收敛,这说明整个迭代过程是健康的,问题不大;如果中途出现波折,尤其是当引入新变量后变化方向改变了,则提示要好好研究。

上表为方程中变量的相关矩阵,可见X2和常数相关性较强,当引入X4后仍然如此,提示要关注这一现象,以防因自变量间的共线性导致方程系数不稳(此时迭代记录多半也会有波动)。当然,由于本例只有26条记录,这一问题是没有办法深入研究的。

上图是Step 1结束时,即只引入X2时的预测图,0和1代表实际取值,当预测的概率值大于0.5时,则预测结果为1,反之为0,由上图可见,该模型对0的预测是比较好的,多数的概率都在0附近,但对1的预测不准,即使正确的,计算出的概率也在0.8左右,并且有好几个都判错了。

上图为Step 2结束后模型的预测状况,可见此时预测结果有了较大的改善,概率精度提高了许多,只有一例0被错判为了1,并且从分布上看,这一例可能是极端情况,再引入其它变量也不见的能将预测效果改变多少。

版权声明:
本网站所有内容来源注明为“梅斯医学”或“MedSci原创”的文字、图片和音视频资料,版权均属于梅斯医学所有。非经授权,任何媒体、网站或个人不得转载,授权转载时须注明来源为“梅斯医学”。其它来源的文章系转载文章,或“梅斯号”自媒体发布的文章,仅系出于传递更多信息之目的,本站仅负责审核内容合规,其内容不代表本站立场,本站不负责内容的准确性和版权。如果存在侵权、或不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
在此留言
评论区 (2)
#插入话题
  1. [GetPortalCommentsPageByObjectIdResponse(id=8934, encodeId=53ba893494, content=讲得非常到位啊 <br> , beContent=null, objectType=article, channel=null, level=null, likeNumber=96, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=/v1.0.0/img/user_icon.png, createdBy=331120454, createdName=jianyi, createdTime=Thu Apr 10 22:53:00 CST 2014, time=2014-04-10, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=1671678, encodeId=403916e16783f, content=<a href='/topic/show?id=c56c4051902' target=_blank style='color:#2F92EE;'>#回归分析#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=40, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=40519, encryptionId=c56c4051902, topicName=回归分析)], attachment=null, authenticateStatus=null, createdAvatar=null, createdBy=a46f26833520, createdName=cenghis, createdTime=Sat Mar 16 15:27:00 CST 2013, time=2013-03-16, status=1, ipAttribution=)]
    2014-04-10 jianyi

    讲得非常到位啊

    0

  2. [GetPortalCommentsPageByObjectIdResponse(id=8934, encodeId=53ba893494, content=讲得非常到位啊 <br> , beContent=null, objectType=article, channel=null, level=null, likeNumber=96, replyNumber=0, topicName=null, topicId=null, topicList=[], attachment=null, authenticateStatus=null, createdAvatar=/v1.0.0/img/user_icon.png, createdBy=331120454, createdName=jianyi, createdTime=Thu Apr 10 22:53:00 CST 2014, time=2014-04-10, status=1, ipAttribution=), GetPortalCommentsPageByObjectIdResponse(id=1671678, encodeId=403916e16783f, content=<a href='/topic/show?id=c56c4051902' target=_blank style='color:#2F92EE;'>#回归分析#</a>, beContent=null, objectType=article, channel=null, level=null, likeNumber=40, replyNumber=0, topicName=null, topicId=null, topicList=[TopicDto(id=40519, encryptionId=c56c4051902, topicName=回归分析)], attachment=null, authenticateStatus=null, createdAvatar=null, createdBy=a46f26833520, createdName=cenghis, createdTime=Sat Mar 16 15:27:00 CST 2013, time=2013-03-16, status=1, ipAttribution=)]

相关资讯

SPSS 10.0高级教程十:征服一般线性模型(2)

§8.4 多元方差分析 所谓的多元方差分析,就是说存在着不止一个应变量,而是两个以上的应变量共同反映了自变量的影响程度。比如要研究某些因素对儿童生长的影响程度,则身高、体重等都可以作为生长程度的测量因子,即都应作为应变量。 8.4.1 分析步骤 为了方便起见,我们这里直接利用SPSS自带的数据集plastic.sav,假设tear_res、gloss和opacity都使反应橡胶质量的指标(不

SPSS 10.0高级教程七:描述性统计分析详解

描述性统计分析是统计分析的第一步,做好这第一步是下面进行正确统计推断的先决条件。SPSS的许多模块均可完成描述性分析,但专门为该目的而设计的几个模块则集中在Descriptive Statistics菜单中,最常用的是列在最前面的四个过程:Frequencies过程的特色是产生频数表;Descriptives过程则进行一般性的统计描述;Explore过程用于对数据概况不清时的探索性分析;Cross

SPSS 10.0高级教程八:均数间的比较

知道吗?在计算机领域中有个著名的80/20规则,也就是在奔腾及更早的CPU所采用的CISC指令集中,有80%的任务是被20%的最常用指令所完成的;换言之,另外80%的复杂指令只完成20%的不常用任务。 好了,言归正传。现在我要非常高兴的向大家宣布:80/20规则在SPSS的使用中同样有效!仅以Analyze菜单为例,其中最常用的子菜单为: Discriptive Statistics

SPSS 10.0高级教程九:征服一般线性模型

请注意,本章的标题用了一些修辞手法,一般线性模型可不是用一章就可以说清楚的,因为它包括的内容实在太多了。 那么,究竟我们用到的哪些分析会包含在其中呢?简而言之:凡是和方差分析粘边的都可以用他来做。比如成组设计的方差分析(即单因素方差分析)、配伍设计的方差分析(即两因素方差分析)、交叉设计的方差分析、析因设计的方差分析、重复测量的方差分析、协方差分析等等。因此,能真正掌握GLM菜单的用法,会使大家

SPSS 10.0高级教程十一:相关分析

在医学中经常要遇到分析两个或多个变量间关系的情况,有时是希望了解某个变量对另一个变量的影响强度,有时则是要了解变量间联系的密切程度,前者用下一章将要讲述的回归分析来实现,后者则需要用到本章所要讲述的相关分析实现。 SPSS的相关分析功能被集中在Statistics菜单的Correlate子菜单中,他一般包括以下三个过程: Bivariate过程 此过程用于进行两个/多个变量间的参数/非参

SPSS 10.0高级教程十二:多元线性回归与曲线拟合

回归分析是处理两个及两个以上变量间线性依存关系的统计方法。在医学领域中,此类问题很普遍,如人头发中某种金属元素的含量与血液中该元素的含量有关系,人的体表面积与身高、体重有关系;等等。回归分析就是用于说明这种依存变化的数学关系。 §10.1 Linear过程 10.1.1 简单操作入门 调用此过程可完成二元或多元的线性回归分析。在多元线性回归分析中,用户还可根据需要,选用不同筛选自变量的方法(