想分析两个分类变量(如性别和血型)之间是否相关,大家都能想到用卡方检验。但是如果要同时研究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值如何计算?咋报告结果?)
关注医咖会,学习临床研究方法
有临床研究设计或统计难题?以下三种方式来帮你:
领取专属 10元无门槛券
私享最新 技术干货