当前位置: 首页 > news >正文

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

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里纳入了所有可能需要汇报的指标。但在实际工作中,大家可能并不需要汇报这么多,应视情况而定。

转载于:https://www.cnblogs.com/amengduo/p/9586833.html

相关文章:

  • position: absolute;绝对定位水平居中问题
  • Java 深复制和浅复制
  • 【highlight.js】页面代码高亮插件
  • mxnet的训练过程——从python到C++
  • Nengo 神经网络
  • Linux正则和grep命令
  • Azure 中 Linux 虚拟机的大小
  • 【bzoj1758】[Wc2010]重建计划
  • ros 如何使用 openni2_launch
  • Git应用实践(二)
  • 软件项目管理第2次作业:豆瓣测评
  • 【个人训练】(POJ1276)Cash Machine
  • [转] logback 常用配置详解(序)logback 简介
  • 网络视频监控与人脸识别
  • 混合和过度绘制(图层性能 15.3)
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  •  D - 粉碎叛乱F - 其他起义
  • flask接收请求并推入栈
  • hadoop集群管理系统搭建规划说明
  • Java 多线程编程之:notify 和 wait 用法
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • SpriteKit 技巧之添加背景图片
  • Vue官网教程学习过程中值得记录的一些事情
  • 翻译:Hystrix - How To Use
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 小程序测试方案初探
  • 自动记录MySQL慢查询快照脚本
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • #FPGA(基础知识)
  • #QT项目实战(天气预报)
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (1) caustics\
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (ZT)薛涌:谈贫说富
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)WCF的Binding模型
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)Unity3DUnity3D在android下调试
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net 发送邮件
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET关于 跳过SSL中遇到的问题
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @ConfigurationProperties注解对数据的自动封装
  • @Controller和@RestController的区别?
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • []FET-430SIM508 研究日志 11.3.31
  • []我的函数库