手把手教你做多重线性逐步回归

这篇具有很好参考价值的文章主要介绍了手把手教你做多重线性逐步回归。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.案例背景与分析策略

1.1 案例背景介绍

某研究收集到美国50个州关于犯罪率的一组数据,包括人口、面积、收入、文盲率、高中毕业率、霜冻天数、犯罪率共7个指标,现在我们想考察一下州犯罪率和哪些指标有关。数据上传SPSSAU后,在 “我的数据”中查看浏览原始数据,前5行数据如下:

手把手教你做多重线性逐步回归

图1 “我的数据”查看浏览数据集

1.2 明确目的与分析策略

从数据分析的目的上,我们想了解犯罪率是否受到人口、面积、收入、文盲率、高中毕业率、霜冻天数6个方面的影响。影响因素分析,可以考虑回归分析、方差分析等统计方法,考虑到目标变量即因变量犯罪率为连续型数据,其他6个指标也为连续型变量,因此考虑尝试拟合多重线性回归模型,用以研究犯罪率的影响因素。

其中,犯罪率作为因变量,其他人口、面积等6个变量作为自变量。为高效分析、精简模型,本例将采用逐步回归的方式由模型自动筛选对因变量有影响的自变量。

2.初步数据分析

2.1 线性关系探查

拿到数据后,不宜马上开始线性回归拟合,应当首先探查各自变量X与因变量Y是否存在线性关系这一基础条件。如果拒绝该条件,则考虑对数据做转换或改用其他统计方法在SPSSAU中,可以借助“散点图”、“Pearson相关系数矩阵”初判X与Y的线性关系是否存在。

在“通用方法”栏目中选择【相关】,将人口~犯罪率共7个变量拖拽至【定量分析项】框中, 默认选择“Pearson相关系数”,最后点击“开始分析”。

手把手教你做多重线性逐步回归

图2 自变量、因变量间的相关性

各变量两两间的线性相关系数见图2。人口、文盲率、高中毕业率、霜冻天气与犯罪率存在线性相关(均P值<0.05),是我们重点的研究对象。面积、收入两个指标与犯罪率的相关系数无统计学意义,但考虑到专业经验与既往研究结论认为二者对犯罪率有线性关系,本次案例仍拟将二者作为次要因素参与线性拟合。

X与Y是否有线性关系,建议绘制多变量散点图矩阵,通过散点图观察线性趋势,比相关系数更直观高效。

2.2 共线性问题排查

由图2可知,6个自变量间相关系数绝对值介于(0.023,0.672)之间,初步认为各自变量间无强相关性。

在SPSSAU中,有两处功能可以实现线性回归。“通用方法”栏目下的【线性回归】适用于自变量较少的情况,此时拟考察的自变量将全部进入模型。而“进阶方法”栏目下的【逐步回归】适用于自变量较多的情况,此时众多自变量可以采取逐步回归的策略进入模型。

现在我们可以借助【线性回归】,考察所有6个自变量的多重共线性问题。打开【线性回归】界面,犯罪率移入【定量Y】框,其他6个自变量移入【定量X】框,不勾选“保存残差和预测值”选项,点击“开始分析”。

手把手教你做多重线性逐步回归

图3 线性回归系数、VIF、方差分析结果表格

图3中可见各自变量的VIF方差膨胀因子,一般认为VIF低于5(也有说法是低于10)可忽略共线性问题。本例中,VIF最高值为3.911低于5,再结合没有强相关性,初步判断认为,6个自变量间的共线性问题可忽略不计。

3.逐步回归分析

3.1 软件操作

自变量个数较少时,可采取强制纳入的方式,自变量个数较多时,可考虑采取逐步回归。有的研究会根据样本量大小,选择先做一元线性回归,逐个考察单个自变量的影响,然后再选择有显著影响的自变量做多重线性回归。结合相关性结果与样本量,本例拟直接采用逐步回归,接下来做多重线性逐步回归。

在“进阶方法”栏目下,选择【逐步回归】,将犯罪率拖拽至【定量Y】框内,人口、面积等6个自变量拖拽至【定量/定类X】框内。默认勾选【保存残差和预测值】,默认选择【逐步法】进行回归。最后点击“开始分析”即可。

手把手教你做多重线性逐步回归

图4 SPSSAU逐步回归操作界面

SPSSAU对用户极为友好,逐步回归的操作只需要拖拽变量即可完成,极大降低新手的操作难度。

3.2 回归结果解读

SPSSAU输出的回归结果表格,是一张整合后的三线表表格,内含回归系数、自变量显著性t检验、模型评价决定系数R评分,以及总体回归模型显著性检验结果。具体见下图5。

手把手教你做多重线性逐步回归

图5 逐步回归分析系数、VIF、方差分析结果表格

(1)最终模型中只保留了人口、文盲率,人口、文盲率对犯罪率的影响有统计学意义(t=2.808,p=0.007;t=6.978,p<0.01);面积、收入、高中毕业率、霜冻天数不在模型内,说明这4个自变量对犯罪率的影响无统计学意义。由标准化回归系数可知,对犯罪率的影响,相对而言是文盲率比人口相对要重要。

(2)回归模型:Hat Y = 1.652+0.00022*人口+4.081*文盲率;回归模型总体有统计学意义(F=30.75,P<0.01)。

(3)模型调整后的R平方=0.548,即该回归模型可解释因变量犯罪率变化的54.8%,模型解释能力略先不足。

4.回归残差诊断

除了X与Y线性相关条件外,线性回归还对残差有条件要求。主要表现为要求回归残差独立,回归残差服从正态分布,残差无异方差性。

此前我们要求SPSSAU计算并另存回归模型的残差和预测值数据,这两个新的数据,在 “我的数据”中查看数据即可看到。

手把手教你做多重线性逐步回归

图6 “我的数据”查看新计算的残差、预测值数据

Residual为回归残差,Prediction为回归拟合或预测值。

4.1 绘制残差PP图

在“可视化”栏目中,选择【PP图QQ图】,将Residual数据移入【分析项】即可绘制出残差的PP图,用于判断残差是否服从正态分布。

4.2 绘制残差散点图

在“可视化”栏目中,选择【散点图】,将Residual数据移入【定量Y】框,Prediction数据移入【定量X】框,绘制残差散点图,用于判断残差是否无异方差性。

4.3 残差条件结果解读

正态PP图,见下图7。

绝大多数点落在对角线上,即可认为数据近似服从正态分布。本例认为满足该条件。同样地,也可以命令SPSSAU绘制残差数据带正态曲线的直方图,或正态QQ图做判断,其结论均一致。

手把手教你做多重线性逐步回归

图7 残差数据的正态PP图

手把手教你做多重线性逐步回归

图8 残差诊断散点图

残差散点图,见上图8。散点图上各点的分布均匀离散,没有明显规律性。由此判断,残差无异质性。

此图左上角有一个点偏离较远,可根据实际情况判断是否为异常值。如是,则考虑删去后重新回归。本例略。

对于残差独立性,可以依据图5中DW值做出判断,一般认为DW值在1.7~2.3之间则残差独立(无自相关性)。本例DW=2.18,认为残差独立性满足要求。

至此,残差正态、残差独立、残差无异方差性均满足条件。

5.预测

回归模型建立后,SPSSAU也可以针对模型帮用户实现简单的预测功能。本例的研究目的并不强调预测,这里仅做简单示范。

手把手教你做多重线性逐步回归

图9 线性回归预测

如上图9所示,在【逐步回归】的结果页面中,找到【模型预测】,直接输入人口值、文盲率值,我们以California州的数据为例,来做验证。依次输入21198、1.1,预测犯罪率为10.893,本例原始中真值为10.3,有微小误差。

6.总结

线性回归中要求自变量为连续型数据,如果遇到类别型自变量,可酌情转为哑变量然后进行回归。在SPSSAU的“数据处理”栏目下【生存变量】功能中可执行哑变量转换。

另外,如果回归分析出现异常值数据,可在SPSSAU中的“数据处理”栏目下【异常值】功能中进行处理或填补。也或者使用稳健回归(Robust回归进行分析,Robust回归是专门处理异常值情况下的回归模型)。

就本案例来说,以犯罪率为因变量,专业上主张的6个因素,人口、面积、收入、文盲率、高中毕业率、霜冻天数,经多重线性逐步回归分析后,最后我们发现人口、文盲率对犯罪率有显著影响,其他4个自变量对因变量的影响无统计学意义。

本例未对异常值进行识别和处理,实践中应当重视异常数据对回归模型的影响。文章来源地址https://www.toymoban.com/news/detail-447850.html

到了这里,关于手把手教你做多重线性逐步回归的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手把手教你做一个 ChatGPT !丝滑小白版,只需一张单卡 GPU,轻松开启个性化训练!...

    大家好,我是贺同学。 一直以来密切关注 ChatGPT 的趋势,最近相关的话题可谓是热度不减,虽然从事互联网行业,但一直对 LLM 相关领域关注较少。 最近的 ChatGPT 的火热,让我对 LLM 相关开源社区也关注了起来,相关的开源社区,也涌现了很多优秀的工作,吸引了很多人的关

    2024年02月08日
    浏览(51)
  • FPGA之手把手教你做多路信号发生器(STM32与FPGA数据互传控制波形生成)

    最近趁热打铁做了一个关于STM32与FPGA通信并且控制高速DA模块产生不同频率信号的正弦波、方波、三角波和锯齿波的项目,从中收获到了很多东西,也踩了一些雷和坑,将分为几篇文章将整个过程分享出来。 这一次准备分享的是将串口解析的出来的波形频率数据以及波形类型

    2024年02月15日
    浏览(48)
  • 数据结构:线性表————顺序表的实现、项目和OJ题目(手把手教你写代码)

    🌈 个人主页: 小新_- 🎈个人座右铭:“成功者不是从不失败的人,而是从不放弃的人!”🎈 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝 🏆所属专栏:  话说那些与C++的爱恨情仇   欢迎订阅,持续更新中~~~                                           ✨让小新带着你

    2024年04月16日
    浏览(100)
  • 手把手带你做一套毕业设计-征程开启

     本文是《Vue + SpringBoot前后端分离项目实战》专栏的开篇,文本将会包含我们创作这个专栏的初衷,专栏的主体内容,以及我们专栏的后续规划。关于这套毕业设计的作者呢前端部分由狗哥负责,服务端部分则由天哥操刀。我们力求毕业生或者新手通过学完本专栏,可以开心

    2023年04月10日
    浏览(154)
  • 10年测试工程师 —— 手把手教会你做前端性能测试(超详细)

    普通用户如何评价一个网站的体验好不好呢? 除了满足他的功能需求以外,用得爽不爽可能是最大的评估因素。这个爽不爽可以简单理解为快不快,好不好看,是不是符合他的操作习惯等等。而这里的快不快就是我们说的性能。 有数据表明,性能在一定程度上跟公司的收益

    2024年02月13日
    浏览(53)
  • 手把手教你SHA-256

    SHA-256是SHA-2协议簇的一部分,也是当前最流行的协议算法之一。在本篇文章中,我们会了解这个密码学算法的每一个步骤,并且通过实例演示。SHA-2因它的安全性(比SHA-1强很多)和速度为人所知。在没有键(keys)生成的情况下,例如挖掘比特币,像SHA-2这样的快速哈希算法很

    2024年02月13日
    浏览(73)
  • 手把手教你暴力破解

    暴力破解是一种攻击手段,使用大量的认证信息在认证接口尝试登录,直到得到正确的结果。 2.1标题基于表单的暴力破解 2.1.1 第一步:打开burpsuite拦截 2.1.2 第二步:将拦截到的包右击发送到intruder模块 (其中简单介绍一下intruder模块) Target主要是设置暴力破解访问的host地址

    2024年02月07日
    浏览(55)
  • 手把手教你做主成分分析

    主成分分析是一种降维处理的统计方法,实践中有三个应用场景: 信息浓缩:将多个分析项浓缩成几个关键概括性指标; 权重计算:利用方差解释率值计算各概括性指标的权重; 综合评价:基于主成分得分构造综合得分数据,用于综合评价。 接下来,以一个具体案例来学习

    2024年02月01日
    浏览(56)
  • 手把手教你实战TDD

    领域驱动设计,测试驱动开发。 我们在《手把手教你落地DDD》一文中介绍了领域驱动设计(DDD)的落地实战,本文将对测试驱动开发(TDD)进行探讨,主要内容有:TDD基本理解、TDD常见误区、TDD技术选型,以及案例实战。希望通过本文,读者能够理解掌握TDD并将其应用于实际

    2024年02月08日
    浏览(44)
  • 手把手教你落地DDD

    一、前言 常见的DDD实现架构有很多种,如经典四层架构、六边形(适配器端口)架构、整洁架构(Clean Architecture)、CQRS架构等。架构无优劣高下之分,只要熟练掌握就都是合适的架构。本文不会逐个去讲解这些架构,感兴趣的读者可以自行去了解。 本文将带领大家从日常的

    2024年02月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包