如何用spss17.0进行二元和多元logistic回归分析
一、二元logistic回归分析
二元logistic回归分析的前提为因变量是可以转化为0、1的二分变量,如:死亡或者生存,男性或者女性,有或无,Yes或No,是或否的情况。
下面以医学中不同类型脑梗塞与年龄和性别之间的相互关系来进行二元logistic回归分析。
(一)数据准备和SPSS选项设置
第一步,原始数据的转化:如图1-1所示,其中脑梗塞可以分为ICAS、ECAS和NCAS三种,但现在我们仅考虑性别和年龄与ICAS的关系,因此将分组数据ICAS、ECAS和NCAS转化为1、0分类,是ICAS赋值为1,否赋值为0。年龄为数值变量,可直接输入到spss中,而性别需要转化为(1、0)分类变量输入到spss当中,假设男性为1,女性为0,但在后续分析中系统会将1,0置换(下面还会介绍),因此为方便期间我们这里先将男女赋值置换,即男性为“0”,女性为“1”。 图 1-1
第二步:打开“二值Logistic 回归分析”对话框:
沿着主菜单的“分析(Analyze)→回归(Regression)→二元logistic(Binary Logistic)”的路径(图1-2)打开二值Logistic 回归分析选项框(图1-3)。
如图1-3左侧对话框中有许多变量,但在单因素方差分析中与ICAS显著相关的为性别、年龄、有无高血压,有无糖尿病等(P<0.05),因此我们这里选择以性别和年龄为例进行分析。
在图1-3中,因为我们要分析性别和年龄与ICAS的相关程度,因此将ICAS选入因变量(Dependent)中,而将性别和年龄选入协变量(Covariates)框中,在协变量下方的“方法(Method)”一栏中,共有七个选项。采用第一种方法,即系统默认的强迫回归方法(进入“Enter”)。 接下来我们将对分类(Categorical),保存(Save),选项(Options)按照如图1-4、1-5、1-6中所示进行设置。在“分类”对话框中,因为性别为二分类变量,因此将其选入分类协变量中,参考类别为在分析中是以最小数值“0(第一个)”作为参考,还是将最大数值“1(最后一个)”作为参考,这里我们选择第一个“0”作为参考。在“存放”选项框中是指将不将数据输出到编辑显示区中。在“选项”对话框中要勾选如图几项,其中“exp(B)的CI(X)”一定要勾选,这个就是输出的OR和CI值,后面的95%为系统默认,不需要更改。
另外在“选项”对话框中,“输出”一栏中,系统默认为“在每个步骤中”,这里更改为“在最后一个步骤中”,即:输出结果将仅仅给出最终结果,而省略每一步的计算过程。由于我们采用强迫回归,逐步回归概率选项可以不管
此外还有一个选项需要说明。一是分类临界值(Classification cutoff),默认值为0.5,即按四舍五入的原则将概率预测值化为0 或者1
。如果
将数值改为0.6,则大于等于0.6 的概率值才表示为1,否则为0。其情况余依此类推。二是最大迭代值(Maximum Iterations),规定系统运算的迭代次数,默认值为20 次,为安全起见,我们将迭代次数增加到50。原因是,有时迭代次数太少,计算结果不能真正收敛。三是模型中包括常数项(Include constant in model),即模型中保留截距。除了迭代次数之外,其余两个选项均采用系统默认值。
完成后,点击各项中“继续(Continue)”按钮。返回图1-3,单击“确定”按钮。
(二)结果解读
其他结果参照文章《利用SPSS进行Logistic回归分析》中解读,这里重点将两点: 第一,分类变量编码(图1-7),由于这里包括性别分类变量,而我们对性别赋值为1和0,但在spss中系统会默认把我们的数值进行置换,即1→参数编码0,0→参数编码1,而最终输出结果是以1来计算的,而0为参考数据。所以这也就是为什么我么之前要对研究组男性的赋值进行置换了。如果男性为1那么spss中最终输出的将是女性的分析结果。
图1-7
第二,最终输出数据(图1-8)在该结果中,Exp(B)即为文献中提及的OR值,而EXP(B)的95%C.I.即为文献中提及的CI值。其中Exp(B)表示某因素(自变量)内该类别是其相应参考类别具有某种倾向性的倍数。而有的文献中提到的Crode OR和Adjust OR则分别为单因素优势率(Crode odds ratio)和多因素优势率(Adjust odds ratio),即仅对性
别单个变量的单因素分析或者对性别和年龄等多个变量进行多因素分析后所得到的不同结果。CI则为可信区间(Confidence interval)。Sig.即我们常说的P值,P<0.05为显著(无效假说不成立,具有统计学意义),P>0.05为不显著(无效假说成立,不具有统计学意义)。 二、多项(多元、多分类、Multinomial)logistic回归分析
前面讲的二元logistic回归分析仅适合因变量Y只有两种取值(二分类)的情况,当Y具有两种以上的取值时,就要用多项logistic回归(Mutinomial Logistic Regression)分析了。这种分析不仅可以用于医疗领域,也可以用于社会学、经济学、农业研究等多个领域。如不同阶段(初
一、初二、初三)学生视力下降程度,不同龋齿情况(轻度、中度、重度)下与刷牙、饮食、年龄的关系等。
下面我们以图1-2中,对apoba1(ApoB/AI)项中数值做四分位数后,将病人的ApoB/AI的比值划分为低、较低、中、高四个分位后利用多项logistic回归分析其与ICAS之间的相互关系。
首先来做四分位数,很多人在做四分位数的时候都是自己算出来的,其实在SPSS里面给出了做四分位数的程度即分析(Aanlyze)→描述统计(Descriptive Statistics)→频率(Frequencies)。打如图2-1开频率对话框。将我们要分析的数值变量Apoba1选入到变量对话框中。 选择统计量,按照图2-2中勾选四分位数选项,其他选项按照自己需要勾选,然后点击图2-1中的确定按钮,开始运算。在图2-3中可以读取我们的四分位数
值。图中百分数表示的是对该变量做的四分位数的百分比,25表示前25%的,50表示前50%的,75表示前75%的。每一项对应的后面数值即为相应的四分位数,如0.5904,即为前25%的个体与后75%个体的分位数。
按照如上方法得出ApoB/AI的比率后我们可以把该比值划分为四个区间,即当ApoB/AI的比率<0.5904为低、当0.5904≤ApoB/AI的比率≤0.88时为较低、当0.89≤ApoB/AI的比率≤1.0886时为中,当ApoB/AI的比率>1.0886时为高。然后将这一划分如图1-1中“四分位数”一项用分类数值表示即1代表低,2代表较低,3代表中,4代表高。这里还要强调的是我们要研究其与ICAS之间的相互关系,那么我们需要将其设为二分类变量,即是ICAS的情况为1,否则为0,但多项logistic回归分析也会将1,0置换,所以我们需要在这里将我们需要研究的情况置换为0,然后将其他置换为1。下面就可以进行多项logistic回归分析了。如图
2-4打开多项logistic回归分析对话框(图2-5)。
如图2-5所示,在”因变量”中选入刚才我们输入的四分位数分类变量,在因子中输入分类变量ICAS(这里一定是分类变量,可以是一个也可以是多个),在“协变量”中输入数值变量如年龄(这里一定是数值变量,
可以是一个也可以是多个),但因本次没有对年龄进行分析,仅对ICAS进行了单因素分析,所以我们把年龄移出协变量选项。
在SPSS中对因变量的定义是,如果因变量Y有J个值(即Y有J类),以其中一个类别作为参考类别,其他类别都同他相比较生成J-1个冗余的Logit变换模型,而作为参考类别的其模型中所有系数均为0。在SPSS中可以对所选因变量的参考类别进行设置,如图2-5在因变量对话框下有一“参考类别”选项。点击后会弹出图2-6对话框。在该对话框中我们选中设定,输入数值1,这代表我们以分类数值1所代表的类别作为参考类别,即最低数值作为参考类别。 单击继续。当然也可以选择“第一类别”和“最后类别”,入选中分别表示以最低数值或最高数值作为参考类别。其他设置与二元Logistic分析相似,将我们要输出的项勾选即可,点击图2-5中确定,输出数据。 输出数据基本与二元Logistic分析相似,我们重点讲下最后一项“参考估计”,如图2-7所示,其中参考类别为ICAS=1的分类情况,而其中的ICAS=0分为2、3、4三种,分别给出了ICAS=0时的数值。而其中Exp(B)(即OR值)表示某因素(自变量)内该类别是其相应参考类别具有某种倾向性的倍数。如Exp(B)=2.235时,即表示在较轻这一类别下ICAS患者数为其他类别(ECAS和NCAS)的2.235倍。这里面的显著水平即为P值。
这里要强调的是,一些文献中在输出数据的时候经常会给出“Referent(参考)”项,这里的Referent,即为我们这里所选的参考类别1,因为
1作为参考类别,所以其所有数值为0
,即无数据输出。因此在文中需标注其为Referent。