利用 SPSS 进行Logistic 回归分析

更新时间:2024-04-09 16:35:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第 8 章 利用 SPSS 进行Logistic 回归分析

现实中的很多现象可以划分为两种可能,或者归结为两种状态,这两种状态分别用0

和1 表示。如果我们采用多个因素对0-1 表示的某种现象进行因果关系解释,就可能应用 到logistic 回归。Logistic 回归分为二值logistic 回归和多值logistic 回归两类。首先用实例讲

述二值logistic 回归,然后进一步说明多值logistic 回归。在阅读这部分内容之前,最好先看 看有关SPSS 软件操作技术的教科书。

§8.1 二值logistic 回归

8.1.1 数据准备和选项设置

我们研究 2005 年影响中国各地区城市化水平的经济地理因素。城市化水平用城镇人口 比重表征,影响因素包括人均GDP、第二产业产值比重、第三产业产值比重以及地理位置。 地理位置为名义变量,中国各地区被分别划分到三大地带:东部地带、中部地带和西部地带。 我们用各地区的地带分类代表地理位置。

第一步:整理原始数据。这些数据不妨录入Excel 中。数据整理内容包括两个方面:一 是对各地区按照三大地带的分类结果赋值,用0、1 表示,二是将城镇人口比重转换逻辑值, 变量名称为“城市化”。以各地区2005 年城镇人口比重的平均值45.41%为临界值,凡是城 镇人口比重大于等于45.41%的地区,逻辑值用Yes 表示,否则用No 表示(图8-1-1)

图 8-1-1 原始数据(Excel 中,局部)

将数据拷贝或者导入 SPSS 的数据窗口(Data View)中(图8-1-2)。

图 8-1-2 中国31 个地区的数据(SPSS 中,局部)

第二步:打开“聚类分析”对话框。

沿着主菜单的“Analyze→Regression→Binary LogisticK”的路径(图8-1-3)打开二值 Logistic 回归分析选项框(图8-1-4)。

图 8-1-3 打开二值Logistic 回归分析对话框的路径

对数据进行多次拟合试验,结果表明,像二产比重、三产比重等对城市化水平影响不显著。至于反映地区位置的分类变量,不宜一次性的全部引入,至多引入两个,比方说东部和 中部。通过尝试,发现引入中部地带为变量比较合适。因此,为了实例的典型性,我们采用 两个变量作为自变量:一是数值变量人均GDP,二是分类变量中部地带。

图 8-1-4 Logistic 回归分析选项框

第三步:选项设置。

首先,在源变量框中选中需要进行分析的变量,点击右边的箭头符号,将需要的变量调 入Dependent(因变量)和Covariates(协变量)列表框中(图8-1-5)。在本例中,将名义变 量“城市化”调入Dependent(因变量)列表框,将“人均GDP”和“中部”调入Covariates (协变量)列表框中。

在 Method(方法)一栏有七个选项。采用第一种方法,即系统默认的强迫回归方法 (Enter)。

图 8-1-5 Logistic 回归分析的初步设置

接下来进行如下 4 项设置:

⒈ 设置 Categorical(分类)选项:定义分类变量(图8-1-6)。

将中部调入 Categorical Covariates(分类协变量)列表框,其余选项取默认值即可。完 成后,点击Continue 继续。

图 8-1-6 定义分类变量选项

⒉ 设置 Save(保存)选项:决定保存到Data View 的计算结果(图8-1-7)。

选中 Leverage values、DfBeta(s)、Standardized 和Deviance 四项。完成后,点击Continue 继续。

图 8-1-7 Logistic 回归分析的存储选项

⒊ 设置 Options:有三个选项区(图8-1-5)。

第一个是 Statistics and Plots(统计和画图)选项,包括六种可以兼容的选择(复选项)。 选中Classification plots、Hosmer-Lemeshow goodness-of-fit 和CI for exp(B)三个选项。 第二个是 Display(显示)选项,选择At last step(最后一步),这样,输出结果将仅仅 给出最终结果,而省略每一步的计算过程。

由于我们采用强迫回归,Probability for Stepwise(逐步回归概率)选项可以不管。

图 8-1-8 Logistic 回归分析的选项设置

此外还有一个选项需要说明。一是 Classification cutoff(分类临界值),默认值为0.5, 即按四舍五入的原则将概率预测值化为0 或者1。如果将数值改为0.6,则大于等于0.6 的概 率值才表示为1,否则为0。其情况余依此类推。二是Maximum Iterations(最大迭代值), 规定系统运算的迭代次数,默认值为20 次,为安全起见,我们将迭代次数增加到50。原因 是,有时迭代次数太少,计算结果不能真正收敛。三是Include constant in model(模型中包 括常数项),即模型中保留截距。除了迭代次数之外,其余两个选项均采用系统默认值。 完成后,点击 Continue 继续。

8.1.2 结果解读

全部选项设置完毕以后,点击如图8-1-5 所示的OK 按钮确定,即可得到Logistic 回归 分析结果。输出结果可以分为三大部分,下面逐一说明。

1. Case Processing Summary(样品处理摘要)。在输出结果中,首先给出样品处理摘要 报告,包括如下信息:选择了多少样品,没有选择的有多少样品;在选择的样品里,分析多 少样品,缺失了多少样品——缺失样品一般是因为数据中存在缺失值;选择的样品总数以及 全体样品总数(图8-1-9)。用N 表示各类样品数目,Percent 表示各类样品的百分比。在正 常情况下,这些信息对我们的分析没有什么用处。但是,如果样本很大并且构成很复杂,涉

及到样品的取舍或者数据缺失的时候,这些信息就很重要,会为后面的分析提供很大方便。

图8-1-9 样品处理摘要

2. Dependent Variable Encoding(因变量编码)。这是很重要的信息,告诉我们对不同城 市化水平地区的分类编码结果(图8-1-10)。我们开始根据全国各地区的平均结果45.41 分 为两类:大于等于45.41 的地区用Yes 表示,否则用No 表示。现在,图8-1-10 显示,Yes 用0 表示,No 用1 表示。也就是说,在这次SPSS 分析过程中,0 代表城市化水平高于平均

值的状态,1 代表城市化水平低于平均值的状态。记住这个分类。

图 8-1-10 因变量编码

3. Categorical Variables Codings(分类变量编码)。我们的自变量中涉及到代表不同地

域类型的名义变量(图8-1-11)。在我们开始的分类中,属于中部用1 表示,否则用0 表示。 但是,SPSS 改变了这种编码,原来的0 改用1 表示,原来的1 改用0 表示。也就是说,在 这次SPSS 分析过程中,0 代表属于中部的地区,1 代表不属于中部的地区。记住这个分类 对后面开展预测分析非常重要。

4. Classification Table(初始分类表)。Logistic 建模如同其他很多种建模方式一样,首先 对模型参数赋予初始值,然后借助迭代计算寻找最佳值。以误差最小为原则,或者以最大似 然为原则,促使迭代过程收敛。当参数收敛到稳定值之后,就给出了我们需要的比较理想的 参数值。下面是用初始值给出的预测和分类结果(图8-1-12)。这个结果主要用于对比,比 较模型参数收敛前后的效果。

图 8-1-12 初始预测分类表

5.Variable in the Equation(初始方程中的变量)。从这个表中可以看到系统对模型的最初 赋值方式(图8-1-13)。最开始仅仅对常数项赋值,结果为B=0.598(复制到Excel 可以看来, 更精确的数值为0.597837),标准误差为S.E.=0.375(复制到Excel 可以看来,更精确的数值 为0.375379),于是Wald 值为

后面的df 为自由度,即df=1;Sig.为P 值,Sig.=0.111。注意Sig.值越低越好,一般要求小 于0.05。当然,对于Sig.值,我们关注的是最终模型的显示结果。Exp(E)是B 还原之后数值, 显然

在Excel 里,利用指数函数exp 很容易对B 值进行还原。

6. Variable not in the Equation(不在初始方程中的变量)。人均GDP 和代表地理位置的 中部地带的系数初始值设为0,这相当于,在初始模型中不考虑这两个变量(图8-1-14)。 表中给出了Score 检验值及其对应的自由度df 和P 值,即Sig.值。Score 检验是一种初始检 验,在建模之初根据变量之间的结构关系判断自变量与因变量之间的密切程度。Score 检验 值的计算公式为

因变量为0、1 值,根据图8-1-10 所示的编码原则,令所有的Yes 为0,所有的No 为1,容

易算出

y(1 ? y) = 0.645161(1 ? 0.645161) = 0.228928 .

人均GDP 已知,中部的编码法则已知,于是不难算出

将上面的结果代入Score 检验值计算公式,立即得到

可以看到,人均GDP 的Score 检验值满足一般的要求,而中部地带这个变量的数值偏低。

7. Omnibus Tests of Model Coefficients(模型系数的混合检验)。主要是针对步骤、模 块和模型开展模型系数的综合性检验(图8-1-15)。表中给出卡方值及其相应的自由度、P 值即Sig.值。取显著性水平0.05,考虑到自由度数目df=2,在Excel 中的任意单元格输入公 式“=CHIINV(0.05,2)”,回车,就可以查出卡方临界值5.991。我们计算的卡方值31.187, 大于临界值,并且相应的Sig.值小于0.05,因此在显著性水平为0.05 的情况下,这些检验 都不成问题。

图8-1-15 分类数目统计

8. Model Summary(模型摘要)。模型摘要中给出最大似然平方的对数、Cox-Snell 拟合 优度以及Nagelkerke 拟合优度值(图8-1-16a)。最大似然平方的对数值(-2loglikelihood=9.137)

用于检验模型的整体性拟合效果,该值在理论上服从卡方分布,上面给出的卡方临界值 5.991,因此,最大似然对数值检验通过。

a 以人均GDP 和中部为自变量的回归模型摘要

为了便于理解,有必要解释一下Cox-Snell 拟合优度以及Nagelkerke 拟合优度值与最大 似然平方对数值的关系。为此,我们需要开展一次特殊的logistic 回归。在图8-1-5 所示的 选项中,从协变量(covariates)列表框中剔除人均GDP 和中部两个选项,选中并引入常数 项——对应于常系数、所有数值均为1 的变量(参加图8-1-1)。以常数项为唯一的自变量, 其他选项不变,开展logistic 回归,结果将会给出特别的模型摘要(图8-1-16b),其 -2loglikelihood=40.324 为未引入任何真正自变量的最大似然对数平方值。然后,我们采用下 式计算Cox-Snell 拟合优度

容易算出

更精确的数值为0.634332。至于Nagelkerke 拟合优度,相当于校正后的Cox-Snell 拟合优度, 计算公式为

因此

因此,校正后的模型拟合优度可以视为0.872。

9. Hosmer and Lemeshow Test(Hosmer 和Lemeshow 检验)。似然比函数的自然对数值 对样品数目很敏感,作为补充和参照,我们需要Hosmer-Lemeshow 检验(图8-1-17)。该 检验依然以卡方分布为标准,但检验的方向与常规检验不同:我们要求其卡方值低于临界值 而不是高于临界值。取显著性水平0.05,考虑到自由度数目df=8,在Excel 中的任意单元格 输入函数“=CHIINV(0.05,8)”,回车,理解得到卡方临界值15.507。作为Hosmer-Lemeshow 检验的卡方值4.730<15.507,检验通过。后面的Sig.值0.786 大于0.05,据此也可以判知 Hosmer-Lemeshow 检验可以通过。

10. Contingency Table for Hosmer and Lemeshow Test(对应于Hosmer-Lemeshow 检验的 列联表)。因变量有两类数值,即0 和1。在正常情况下,我们要求观测值(observed)与 期望值(expected)逐渐趋于接近(图8-1-18)。我们的计算结果表明,相应于“城市化=Yes”, 期望值逐渐减少到0,与观测值趋于接近;相应于“城市化=No”,期望值逐渐增加到4, 与观测值也趋于接近。这种结果是比较理想的,否则,模型的Hosmer-Lemeshow 检验就不 太理想,从而模型的整体拟合效果不是很好。

11. Classification Table(最终预测分类表)。经过迭代运算,模型参数逐渐收敛到稳定 值,于是我们得到最终模型参数。利用最终的logistic 模型,可以对因变量进行预测,预测 结果分类列入下表(图8-1-19)。可以看出,观测值Yes 有11 个(Yes=0),相应的预测 值全部是Yes=0,预测正确率为11/11*100%=100%;观测值No 有20 个(No=1),相应的 预测值有19 个No=1,一个Yes=0,也就是说,预测失败1 例,预测正确率为19/(1+19)*100%

=95%。总的预测正确率为

全部31 个样品有30 个预测正确,一个预测失败,模型效果良好。

12. Variables in the Equation(最终模型中的变量)。只要理解图8-1-13 的含义,就不难 理解下图所示的结果(图8-1-20)。B 对应的是最终模型参数估计值:常系数为16.365(更 精确的结果为16.364888),中部的回归系数为6.917(更精确的结果为6.917073),人均 GDP 的回归系数为-0.001(更精确的结果为-0.001251)。S.E.为相应的标准误差。回归系数 与标准误差比值的平方就是Wald 值,例如

其余依此类推。由于不知道Wald 的临界值,我们可以考察后面的Sig.值。可以看出,常系 数和人均GDP 回归系数的置信度达到90%以上,而中部的回归系数只有80%以上。这个结 果可以与前面的Score 检验形成对照。

最后的 Exp(B)是对回归系数B 值进行指数运算的结果,例如

其余的数据还原依此类推。

8.1.3 建模与预测

将图8-1-20 所示的结果从SPSS 中复制到Excel 中,可以看到更精确的数值,据此可以 建立如下线性关系

z =16.364888 + 6.917073*中部? 0.001*人均GDP . 将上面的关系式代入下式,得到

有了上面的式子,就可以对因变量的发生概率进行预测。

需要再次强调的是,对于名义变量中部,我们用 1 代表“是”,0 代表“非”,而SPSS 改为0 代表“是”,1 代表“非”。对于因变量城市人口比重,我们用Yes 代表1(城市化水

平高于平均值),用No 代表0(城市化水平低于平均值),而SPSS 改为相反的表示。明确 了SPSS 的重新编码过程及其含义,就可以检验上述模型的预测效果。

首先,在Excel 中,将因变量中的名义变量转换为0、1 数值。根据SPSS 的编码原则(图 8-1-10),所有的Yes 表示为0,所有的No 表示为1。一个快捷的处理方式是利用if 函数。 在与因变量并列的第二个单元格中,即H2 中,输入函数“=IF(G2=\”,回车立即得

到0;将鼠标指向H2 单元格的右下角,待其变成细小黑十字,双击或者下拉,得到全部转 换结果(图8-1-21)。

图 8-1-21 用于预测的数据的整理与转换结果(部分)

数据整理完成以后,将图8-1-20 所示的表格从SPSS 中复制到Excel 中,放在将要开展 预测的单元格旁边(图8-1-22)

图 8-1-22 将SPSS 给出的模型参数估计值复制到Excel 中(局部)

根据数据分布的位置,在 I2 单元格中输入如下公式(图8-1-23):

“=1/(1+EXP(-($K$5+$K$4*(1-C2)+$K$3*E2)))”,回车,立即得到0。将鼠标指向H2 单元格的右下角,待其变成细小填充柄,双击或者下拉,

得到全部预测结果(图8-1-24);将这些数值四舍五入,所有的预测值都变成0 或者1。

图 8-1-23 预测公式的表达形式

注意上面的计算公式中有一个细节,对应于中部变量的单元格为 C2,公式中不是用系 数6.917073(在单元格K4 中)直接乘以C2,而是乘以(1-C2)。这样处理的原因如前所述, SPSS 改变了我们的编码,我们用1 表示“是(中部)”,用0 表示“非(中部)”。而SPSS 将我们的1 改编为0,0 改编为1(图8-1-11)。我们用1-C2 代替C2,相当于将中部变量的 0、1 互换,使之与SPSS 的编码一致。

图 8-1-24 预测值的计算结果(局部)

图 8-1-25 四舍五入之后的全部预测结果

比较 H 列(城市化)和I 列(预测值)可以看到,观测值为Yes=0 的,预测值全部是0, 这样的数值共有11 个;观测值为No=1 的,预测值只有一个错误判别为0,其余19 个全部 是0,与观测值一致。预测分类结果与图8-1-19 所示的预测分类结果完全一样。

本文来源:https://www.bwwdw.com/article/k96r.html

Top