分享

利用SPSS进行Logistic回归分析

 月光使者1991 2015-12-18

第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-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代表不属于中部的地区。记住这个分类对后面开展预测分析非常重要。

图8-1-11 分类变量编码


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值为

B??0.597837?

Wald=??=??=2.536.

SE..0.375379????

后面的df为自由度,即df=1;Sig.为P值,Sig.=0.111。注意Sig.值越低越好,一般要求小

于0.05。当然,对于Sig.值,我们关注的是最终模型的显示结果。Exp(E)是B还原之后数值,显然

22

Exp(B)=eB=e0.597837=1.818.

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

图8-1-13 初始方程中的变量


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

[

Scorej=

∑x(y

ii=1

n

n

i

]2

.

i

1?∑(x

i=1

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

(1?)=0.645161(1?0.645161)=0.228928. 人均GDP已知,中部的编码法则已知,于是不难算出

∑(GDP?GDP)

i

i=131

31

2

=3595636978.103,

∑(中部

i=131

i

中部)2=6.387097,

[

∑GDP(y

i

i=1

i

)]2=12747397078.835,

[

∑中部(y

i

i=1

31

i

]2=0.037461.

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

ScoreGDP=15.486,Score中部=0.026.

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

图8-1-14不在初始方程中的变量


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-1-15 分类数目统计


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

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

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

b 以常数项(数值为1)为自变量的回归模型摘要

图8-1-16 数据窗口的输出结果


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

2RCS

=1?

2

L(B)?lnL(0)]ne

=1?

1

χ(B)2?χ(0)2]ne.

容易算出

2

RCS

=1?

1

9.137?40.324)e31

=0.634.

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

2RN

=

2RCS2Rmax

=1?

2RCS2

lnL(0)en

=1?

2RCS1

χ(0)2en

.

因此

2RN=

0.6343321?

1

40.324e31

=0.872.

因此,校正后的模型拟合优度可以视为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检验可以通过。

图8-1-17 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检验就不太理想,从而模型的整体拟合效果不是很好。


图8-1-18 对应于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%。总的预测正确率为

11+1930

预测正确率=*100%=*100%=96.8%.

11+0+1+1931

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

p(y)=

得到 1, ?z1+e

1

1+e?(16.364888+6.917073*中部-0.001251*人均GDP). 1=1+0.00000007813e?16.364888*中部+0.001251*人均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="Yes",0,1)”,回车立即得到0;将鼠标指向H2单元格的右下角,待其变成细小黑十字,双击或者下拉,得到全部转换结果(图8-1-21)。

p(y)=


图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所示的预测分类结果完全一样。

§8.2 多值logistic回归

§8.3 小结

转载请保留出处,http://www./doc/b52c62ccda38376baf1fae48.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多