SPSS超详细操作:分层回归(hierarchical multiple regression)
1、问题与数据
最大携氧能力(maximal aerobic capacity, VO2max)是评价人体健康的关键指标,但因测量方法复杂,不易实现。某研究者拟通过一些方便、易得的指标建立受试者最大携氧能力的预测模型。
目前,该研究者已知受试者的年龄和性别与最大携氧能力有关,但这种关联强度并不足以进行回归模型的预测。因此,该研究者拟逐个增加体重(第3个变量)和心率(第4个变量)两个变量,并判断是否可以增强模型的预测能力。
本研究中,研究者共招募100位受试者,分别测量他们的最大携氧能力(VO2max),并收集年龄(age)、性别(gender)、体重(weight)和心率(heart_rate)变量信息,部分数据如下:
注:心率(heart_rate)测量的是受试者进行20分钟低强度步行后的心率。
2、对问题的分析
研究者拟判断逐个增加自变量(weight和heart_rate)后对因变量(VO2max)预测模型的改变。针对这种情况,我们可以使用分层回归分析(hierarchical multiple regression),但需要先满足以下8项假设:
假设1:因变量是连续变量
假设2:自变量不少于2个(连续变量或分类变量都可以)
假设3:具有相互独立的观测值
假设4:自变量和因变量之间存在线性关系
假设5:等方差性
假设6:不存在多重共线性
假设7:不存在显著的异常值
假设8:残差近似正态分布
那么,进行分层回归分析时,如何考虑和处理这8项假设呢?
3、对假设的判断
3.1 假设1-2
假设1和假设2分别要求因变量是连续变量、自变量不少于2个。这与研究设计有关,需根据实际情况判断。
3.2 假设3-8
为了检验假设3-8,我们需要在SPSS中运行分层回归,并对结果进行一一分析。
(1)点击Analyze→Regression→Linear
出现下图:
(2)将因变量(VO2max)放入Dependent栏,再将自变量(age和gender)放入Independent栏:
解释:因研究者已知性别、年龄与最大携氧能力的关系,我们先把这两个变量放入模型。
(3)点击Next,弹出下图:
解释:大家可能会注意到Independent(s)框中的标签由-Block 1 of 1- 变为-Block 2 of 2-。这说明age和gender变量依旧存在于模型中,在- Block 2 of 2-中,大家可以点击Previous查看。同时,Method栏应设置为“Enter”,一般是SPSS自动设置的;如果不是,也应人工设置为“Enter”。
(4) 将自变量(weight)放入Independent栏
解释:放入weight变量是为了检验加入该变量后对age、gender-VO2max预测模型的影响。
(5)点击Next,弹出下图:
解释:大家可能会注意到Independent(s)框中的标签由-Block 2 of 2- 变为-Block 3 of 3-。同样地,age、gender和weight变量依旧存在于模型中,可以点击Previous查看。Method栏也应设置为“Enter”,如果不是,改为“Enter”。
(6)将自变量(heart_rate)放入Independent栏
解释:放入heart_rate变量是为了检验加入该变量后对age、gender、weight-VO2max预测模型的影响。
(7)点击Statistics,弹出下图:
(8)在Regression Coefficient框内点选Confidence intervals,在Residuals框内点选Durbin-Watson和Casewise diagnosis,并在主对话框内点选R squared change、Descriptives、Part and partial correlations和Collinearity diagnosis
(9) 点击Continue,回到主界面。
(10)点击Plots,弹出下图:
(11)在Standardized Residual Plots对话框中点选Histogram和Normal probability,并点选Produce all partial plots
(12)点击Continue回到主对话框
(13) 点击Save
(14)在Predicted Values框内点选Unstandardized,在Distances框内点选Cook’s和Leverage values,在Residuals框内点选Studentized和Studentized deleted
(15)点击Continue→OK
经过这些操作,Variable View 和Data View对话框中会增加5个变量:
这5个变量分别是未标化预测值(unstandardized predicted values,PRE_1),学生化残差(studentized residuals,SRE_1),学生化删除残差(studentized deleted residuals,SDR_1),Cook距离(Cook's Distance values,COO_1)以及杠杆值(leverage values,LEV_1)。
根据这5个新增变量和其他结果,我们将逐一对假设3-8进行检验。
注意:分层回归对假设3-8的检验过程与多重线性回归基本一致,为避免重复讲解,我们在本章节只介绍基本原理,详细内容请参见多重线性回归分析。
3.2.1 假设3:具有相互独立的观测值
观测值之间相互独立是分层回归的基本假设之一,主要检验的是1st-order autocorrelation,即邻近的观测值(主要是残差)之间没有相关性。我们根据SPSS中的Durbin-Watson检验判断该假设,如果不满足,则需要运用其他模型,如时间序列模型等。
3.2.2 假设4:自变量和因变量之间存在线性关系
分层回归不仅要求因变量与所有自变量存在线性关系,还要求因变量与每一个自变量之间存在线性关系。其中,我们主要通过绘制未标化预测值(PRE_1)和学生化残差(SRE_1)的散点图检验因变量与所有自变量之间的线性关系。
而为检验因变量与每一个自变量之间是否存在线性关系,我们则需要分别绘制每个自变量与因变量的散点图。如果假设4不满足,我们可以尝试进行数据转换或者其他统计方法。
3.2.3 假设5:等方差性
等方差性也可以通过学生化残差(SRE_1)与未标化预测值(PRE_1)之间的散点图进行检验。如果研究结果提示不满足等方差性假设,我们也可以通过一些统计手段进行矫正,如对自变量进行转换或采用加权最小二乘法回归方程等。
3.2.4 假设6:不存在多重共线性
当回归中存在2个或多个自变量高度相关时,就会出现多重共线。它不仅可影响自变量对因变量变异的解释能力,还影响整个分层回归模型的拟合。
为了检验假设6,我们主要关注相关系数(correlation coefficients)和容忍度/方差膨胀因子(Tolerance/VIF)两类指标。一般来说,如果自变量之间的相关系数大于0.7,或者容忍度小于0.1,方差膨胀因子大于10,我们就会怀疑模型存在多重共线性。
3.2.5 假设7:不存在显著的异常值
根据作用方式的不同,分层回归的异常值主要分为离群值(outliers)、强杠杆点(leverage points)和强影响点(influential points)3类。异常的观测值可以符合其中一类或几类。但无论是哪一类都对分层回归的预测能力有着严重的负面影响。好在我们可以通过SPSS检测这些异常值。
其中,(1) 离群值是指实际值与预测值相差较大的数据,可以用Casewise Diagnostics检验和学生化删除残差(SDR_1)两种方法进行检验。(2) 我们通过数据的杠杆值(LEV_1)检测强杠杆点。(3) 而强影响点主要通过Cook距离(COO_1)进行检测。如果存在这些异常值,我们可以根据实际情况判断是否需要剔除或调整。
3.2.6 假设8:残差近似正态分布
在分层回归中,我们可以使用两种方法判断回归残差是否近似正态分布:(1) 带正态曲线的柱状图或P-P图;(2) 根据学生化残差绘制的正态Q-Q图。详细内容参见多重线性回归分析。
4、结果解释
分层回归可以得到3个主要结果:
新增自变量解释因变量变异的比例
根据自变量预测因变量
自变量改变一个单位,因变量的变化情况
为了更好地解释和报告分层回归的结果,我们需要统计以下3个方面:
各模型的比较
模型的拟合程度
回归系数
4.1 各模型的比较
比较不同模型是进行分层回归的主要目的。SPSS输出变量纳入结果,如下:
从Model栏可以看出,本研究共有3个模型:Model 1、Model 2和Model 3。Variables Entered栏显示该研究中每个模型较前一个模型增加的变量。
Model 1是第一个模型,没有前序变量,因此该模型的自变量只有gender和age。Model 2比前一个模型(Model 1)增加了weight变量;Model 3比Model 2增加了heart_rate变量。这3个模型的纳入变量与之前的SPSS操作一致,如下:
必须注意的是,Model 2和Model 3中纳入的变量都是在上一个模型基础上的。比如,Model 3是在Model 2的基础上纳入heart_rate变量,即共纳入age、gender、weight和heart_rate四个变量,而不是heart_rate一个变量,具体解释如下:
4.2 判断分层回归模型的拟合程度
判断分层回归模型拟合程度的指标有很多,我们主要向大家介绍变异的解释程度、R2值在各模型间的变化和模型的统计学意义3个指标。
4.2.1变异的解释程度
分层回归中的每个模型都相当于一个强制纳入变量(Enter method)的多重线性回归模型,具体评价指标也相似:
Measures of model ‘fit’ for the three models: 分别评价本研究中3个模型的拟合程度
R2是多层回归的重要指标,反映自变量解释因变量变异的程度。从上表可以看出,随着自变量数量的增加,模型1-3的R2逐渐增加,分别是0.188、0.427和0.710,提示各模型对因变量的预测能力逐渐加强。
但是分层模型主要是检验增加自变量是否具有统计学意义,如模型2增加了weight变量后R2的变化是否具有统计学意义呢?我们将在4.2.2节为详细大家介绍。
4.2.2R2值在各模型间的变化
为了判断新增变量对回归的影响,我们需要关注下表的右半部分:
Assessing model change:对比模型变化
R Square Change栏显示的是该模型与上一个模型R2的差值,Sig. F Change栏显示的是该差值的统计检验的P值。以Model 1为例,如下:
Initial Model(Model 1):模型1
模型1是初始模型,在空模型的基础上增加了age和gender两个变量。该模型的R2差值(R Square Change栏)和R2值(R Square栏)相同,均为0.188。R2差值具有统计学意义,P<0.001(Sig. F Change栏)。
模型2在模型1的基础上增加了weight变量,R2值的变化情况如下:
Change between Model 1 and Model 2: 对比模型1和模型2
模型2的R2差值为0.239,即模型2的R2值(0.427)与模型1的R2值(0.188)的差。Sig. F Change栏提示,P<0.001,即模型2的R2差值具有统计学意义。
在本研究中,模型2与模型1的差别仅在于weight变量,提示在回归中纳入weight变量后自变量对因变量变异的解释能力增加23.9%(P<0.001),即纳入体重变量对受试者最大携氧能力的预测改善有统计学意义。
解释:如果我们在模型2中增加了不止一个变量,那么R2值的改变就是所有新增变量共同作用的结果,而不是某一个变量的。
模型3在模型2的基础上增加了heart_rate变量,R2值的变化情况如下:
Change between Model 2 and Model 3:对比模型2和模型3
模型3的R2差值为0.283,即模型3的R2值(0.710)与模型2的R2值(0.427)的差。Sig. F Change栏提示,P<0.001,即模型3的R2差值具有统计学意义。提示在回归中纳入heart_rate变量后自变量对因变量变异的解释能力增加28.3%(P<0.001),即纳入心率变量对受试者最大携氧能力的预测改善有统计学意义。
4.2.3 模型的统计学意义
分层回归的每一个模型都相当于一个多重线性回归模型。SPSS输出ANOVA表格中包括对每一个模型的评价,如下:
一般来说,我们习惯性只汇报最终模型的结果(本研究的模型3),如下:
模型3是全模型,纳入gender、age、weight和heart_rate四个变量。结果示,该模型具有统计学意义,F(4,95)=58.078,P<0.001,提示因变量和自变量之间存在线性相关,说明相较于空模型,纳入这四个自变量有助于预测因变量。
注释:如果SPSS输出的结果中“Sig”值为“.000”,代表的是P<0.001,而不是P=0.000。同时,如果P>0.05,我们最好在报告中写清楚具体数值,如P=0.092,从而为读者提供更多的信息。
4.3回归系数
正如前文所述,分层回归模型主要关注的是最终模型,即本研究中的模型3,在对回归系数进行解释时也是如此。
Full model (Model 3):模型3
我们可以按照多重线性回归的分析方法对分层回归系数进行解释。连续变量(如age变量)的回归系数表示自变量每改变一个单位,因变量的变化情况。分类变量(如gender变量)的回归系数表示不同类别之间的差异,详细内容参见多重线性回归。
值得注意的是,我们运行分层回归的主要目的是分析是否有必要增加新的自变量,而不是进行预测,回归系数不是我们主要关注的结果。但是如果在汇报时需要提供回归系数,我们也可以把这部分增加在报告中。
5、撰写结论
5.1 简洁汇报
本研究采用分层回归,分析逐步增加体重和心率变量是否可以提高性别、年龄对最大携氧能力的预测水平。最终模型(模型3)纳入性别、年龄、体重和心率4个变量,具有统计学意义R2=0.710,F(4, 95) = 58.078 (P<0.001),调整R2=0.698。
仅增加体重变量(模型2)后,R2值增加0.239,F(1, 96) = 40.059(P<0.001),具有统计学意义。增加心率变量(模型3)后,R2值增加0.283,F(1, 96) = 92.466(P<0.001),具有统计学意义,具体结果见表1。
表1. 分层回归结果
5.2具体汇报
本研究采用分层回归,分析逐步增加体重和心率变量是否可以提高性别、年龄对最大携氧能力的预测水平。通过绘制部分回归散点图和学生化残差与预测值的散点图,判断自变量和因变量之间存在线性关系。
已验证研究观测值之间相互独立(Durbin-Watson检验值为1.910);并通过绘制学生化残差与未标化的预测值之间的散点图,证实数据具有等方差性。
回归容忍度均大于0.1,不存在多重共线性。异常值检验中,不存在学生化删除残差大于3倍标准差的观测值,数据杠杆值均小于0.2,也没有Cook距离大于1的数值。Q-Q图提示,研究数据满足正态假设。
最终模型(模型3)纳入性别、年龄、体重和心率4个变量,具有统计学意义R2=0.710,F(4, 95) = 58.078 (P<0.001),调整R2 = 0.698。仅增加体重变量(模型2)后,R2值增加0.239,F(1, 96) = 40.059 (P<0.001),具有统计学意义。增加心率变量(模型3)后,R2值增加0.283,F(1, 96) = 92.466 (P<0.001),具有统计学意义,具体结果见表1。
表1.分层回归结果
解释:我们为了尽可能地向大家展示分层回归结果,在表1里纳入了所有可能需要汇报的指标。但在实际工作中,大家可能并不需要汇报这么多,应视情况而定。