首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SPSS教程:对数线性模型

想分析两个分类变量(如性别和血型)之间是否相关,大家都能想到用卡方检验。但是如果要同时研究4、5个分类变量间的关系时,卡方检验就显得不够用了,它不可能对多个分类变量间的关系给出一个系统而综合的评价,也不可能在控制其他因素作用的同时,对变量的效应做出估计,此时可以采用对数线性模型来研究多个变量之间的关系[1]。

1、问题与数据

某研究者拟探讨性别和体育锻炼与心脏疾病患病的关系。该研究者现招募了152位受试者,并搜集受试者参加体育锻炼exercise (yes vs. no)、性别gender (males vs. females)和心脏病的罹患情况disease (yes vs. no)等相关变量,按照分类汇总整理后,部分数据如下:

2、对问题的分析

若研究者拟分析多个分类变量之间的相关关系,如本研究中拟判断受试者性别、体育锻炼与患病情况的关系,我们可以使用对数线性模型(loglinear分析),但需要先满足4项假设:

假设1:变量均为分类变量,如本研究中受试者的性别、参与体育锻炼和心脏病罹患情况都是分类变量。

假设2:任意预测频数大于1,且80%的预测频数大于5。

假设3:不存在显著异常值。

假设4:残差接近正态分布。

经分析,本研究数据符合假设1,那么应该如何检验假设2-4,并进行loglinear分析呢?

3、SPSS操作

3.1 数据加权

在进行正式操作之前,我们需要先对数据加权(针对汇总数据),如下:

(1) 在主页面点击Data→Weight Cases

弹出下图

(2) 点击Weight cases by,激活Frequency Variable窗口

(3) 将freq变量放入Frequency Variable栏

(4) 点击OK

3.2 模型选择

在运行loglinear模型之前,我们需要选择模型。具体来说,我们主要是根据SPSS输出的结果,判断在不影响数据结果准确性的情况下需要保留的交互项个数,具体操作如下:

(1) 在主界面点击Analyze →Loglinear→ Model Selection

弹出下图

(2) 将变量gender、exercise和disease三个变量放入Factor(s)栏

(3) 点击gender变量,弹出Define Range栏

解释:Define Range栏中应填写对应变量的取值范围。比如,在性别变量中,“男性”编码为1,“女性”编码为2。因此,最小值应填写“1”,最大值应填写“2”。

(4) 在Minimum栏中填写“1”,在Maximum 栏中填写“2”

(5) 点击Continue,重复第3-5步,为exercise和disease变量的取值区间赋值。随后点击Options,弹出下图

(6) 点击Display for Saturated Model栏内的Parameter estimates和Association table 选项

(7) 点击Continue→OK

经上述操作,SPSS输出结果如下:

Step Summary表从数据中高级别的交互项向低级别的交互项逐步计算。

比如,本研究中共有3个变量,那么最高级别的交互项就是gender*exercise*disease交互,即“Step 0”。从Sig栏中可以看出,剔除gender*exercise*disease交互项后,P=0.425,提示剔除该交互项不会对数据结果产生显著性影响,即模型中可以不包含该交互项。

而在Step 1中,SPSS输出较低一级的交互项计算结果,即gender*exercise、gender*disease和exercise*disease三项。一般来说,如果剔除某一项交互项后,数据结果没有显著性差异,即P>0.05,那么我们就认为可以剔除该交互项。

在Step 2中,SPSS输出剔除gender*disease交互项后的计算结果,即gender*disease交互项的P=0.739,即模型中可以不包含该交互项。结果显示,剔除gender*exercise和exercise*disease项后P值小于0.05,即模型中应包含这两个交互项。

可见,本研究应纳入gender*exercise和exercise*disease两个交互项,并包含涉及交互项的主变量gender、exercise和disease。

3.3 loglinear分析操作

在选好模型后,我们需要重新运行loglinear分析,具体SPSS操作如下:

(1) 在主界面点击Analyze → Loglinear → General

弹出下图

(2) 将变量gender、exercise和disease三个变量放入Factor(s)栏

(3) 点击Model选项

(4) 在Specify Model栏内点击Custom选项,并将Factors & Covariates栏内的gender、exercise和disease变量放入Terms in Model栏内

(5) 在Build Term(s)栏内点选Interaction选项,建立gender与exercise变量、exercise与disease变量的交互项如下

(6) 点击Continue→Options

(7) 点选Display栏内的Estimates选项,并在Criteria栏内Delta框中填写“0”

(8) 点击Continue→OK

假设检验

假设2:任意预测频数大于1,且80%的预测频数大于5

经上述操作,SPSS输出预测频数结果如下:

从Expected栏可以看出,在本研究中最小的预测频数为10.694,可见任一预测频数大于1,且80%的预测频数大于5,即满足假设2

假设3:不存在显著异常值

我们根据调整残差判断数据异常值,SPSS输出结果如下:

一般来说,如果调整残差大于±1.96倍标准差,那么就提示数据存在异常值。从Adjusted Residual栏可以看出,本研究中最大的标准化残差为0.789和-0.789,均小于±1.96倍标准差(标准差值需要根据数据具体计算,在此不再赘述)。根据上表可知,本研究中任意残差值均小于1.96倍标准差,即满足假设3

假设4:残差接近正态分布

SPSS根据调整残差绘制的正态Q-Q图输出如下:

正态Q-Q图各点分布离对角线越近,提示数据越接近于正态分布;如果各点刚好落在对角线上,那么数据就是正态分布。loglinear分析仅要求调整残差接近正态分布,因此根据上图,我们认为该研究满足假设4

4、结果解释

在进行loglinear分析之前,我们需要对研究数据有基本的了解,SPSS输出结果如下:

从上表的Valid行可以看出,本研究共有8项数据,没有缺失(Missing行)。这是数据加权后的结果,而不是针对152位受试者一一对应的信息。

从Goodness-of-Fit Tests 表,我们可以看出loglinear分析模型的拟合程度,如下:

SPSS在该表中同时输出似然比检验(likelihood ratio)和Pearson卡方检验(Pearson chi-square test)的模型拟合结果。当样本量比较大的时候,这两个检验的结果基本一致,如在本研究中似然比检验和Pearson卡方检验的结果一样。但如果样本量小,似然比检验和Pearson卡方检验的结果会出现比较大的差异,这时我们推荐根据似然比检验判断模型拟合程度。

一般来说,如果数据预测频数接近观测频数,模型的拟合程度就比较好,检验结果将提示卡方值比较小,P值较大。即当检验结果P>0.05时,提示模型拟合好,结果准确性强。但如果检验结果P

从上表可以看出,本研究似然比检验结果显示χ2(2) = 0.748,P= 0.688,提示模型拟合程度较好。

而Parameter Estimates表显示了各变量之间的相关系数,如下:

上表并没有将所有变量的参数显示出来。以性别gender变量为例,当以女性(gender=2.00)为参照时,男性(gender=1.00)的系数为0.056,同时,Sig.栏提示该变量系数有无统计学意义,如性别的P值为0.814,大于0.05,说明性别系数与0的差异不存在统计学意义。

同理,以gender*exercise交互项为例,当以[gender=1.00] * [exercise=2.00]、[gender=2.00] * [exercise=1.00]和[gender=2.00] * [exercise=2.00]为参照时,男性与不参加体育锻炼交互项[gender=1.00] * [exercise=1.00]的系数为-0.786,P=0.019,说明该交互项系数与0的差异存在统计学意义。其他变量的结果解释与此类似,这里不再赘述。

5、撰写结论

本研究采用loglinear分析判断性别、参加体育锻炼和心脏病罹患情况的关系。根据后退剔除法,最终模型包含gender、exercise、disease三个主变量和gender*exercise、 exercise*disease两个交互项。似然比检验结果显示χ2(2)= 0.748,P= 0.688,说明模型拟合程度较好。系数结果提示性别与参加体育锻炼存在相关关系,而参加体育锻炼与心脏病罹患情况也存在相关关系(表1)。

Table 1 Parameter Estimates for the Hierarchical Model (Gender*Exercise, Exercise*Disease)

6、更多阅读

可能有人会问,为啥不用Logistic回归来进行分析呢?对数线性模型与Logistic回归两种方法之间存在非常密切的关系,对数线性模型中Logit过程提供的Logit模型可分析因变量和自变量之间的因果关系,模型中将自动引入自变量与因变量的交互项。在拟合结果上,Logit模型实际上和Logistic模型等价。

当多个分类变量之间分不出哪个是原因哪个是结果,或者说,研究者对变量之间的因果关系并不感兴趣,仅仅要分析变量之间的相互作用,就通常用对数线性模型,而较少用Logistic回归了[1]。

值得注意的是,当考虑的变量太多时,对数线性模型将变得过于复杂。

参考文献

[1] 张文彤主编. SPSS统计分析高级教程.

更多阅读

1.SPSS实例教程:二分类Logistic回归

2.SPSS超详细操作:分层回归(hierarchical multiple regression)

3.SPSS教程:分层卡方检验(各层的OR值如何计算?咋报告结果?)

关注医咖会,学习临床研究方法

有临床研究设计或统计难题?以下三种方式来帮你:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171230B03VIF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券