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,并且从分布上看,这一例可能是极端情况,再引入其它变量也不见的能将预测效果改变多少。 |