4000字三合一!Stata、SPSS、MATLAB实现多元线性回归详解!

        参加数学建模的小伙伴要注意了:多元线性回归几乎是所有分析方式里面最核心、最常用、最全面的模型,博主本科大致参加了10+次数模,还有一次正大杯市场调研赛,其中获得拿得出手的奖有9次,有5次都用到了多元线性回归——至于没有用到的4次,1次由于题材原因实在用不了任何多元分析的手段,3次是因为初学不太会用,直至达到学以致用的境界,才体会到前者的妙不可言。 

 其实这玩意没那么复杂,哪怕你数学不好也能学会怎么用,顾名思义:

  • 多元:多个变量、因素,很好理解
  • 线性:一次方程Ax+b,很好理解
  • 回归:研究随机变量之间的关系,概率论的东西

        所以多元线性回归,可以通俗、不严谨地理解为将多个自变量和一个因变量建立某种线性关系,由于是线性的,因此可以写出表达式。接下来我们详细来看~

目录

一.理论知识

1.闲谈

2.自变量与因变量

二.模型功能

1.写出线性表达式

2.预测

3.分析变量关联

三.实操步骤

1.Stata实现

2.SPSS实现

3.MATLAB实现

四. 实际样例分析


一.理论知识

        回归分析的任务就是, 通过研究自变量 X 和因变量 Y 的相关关系,尝试去解释 Y 的形成机制,进 而达到通过 X 去预测 Y 的目的。所谓的自变量X,是由一些列因素共同组成的(多个自变量)

1.闲谈

从小大家就听师长们不断说,努力可以获取成功。从宏观上看这一价值观是没有问题的。随着年龄的增长,理科生逐渐产生了辩证思维, 这时候我们逐渐认识到并不是所有的努力都能归结为狭义上的成功的。

  这就是所谓的相关性不等于因果性的概念,所谓的相关只是一个量化的概念,当相关系数很高时,比如0.8,我们可以说努力的情况下80%的概率会成功,但我们不能保证百分百成功~
归根结底,回归分析的是, 努力导致成功的这一概率是多少,而这个所谓的概率即努力和成功的相关性, 我们无法研究这个【必然】时,需要研究只是多少程度的【必然】~

2.自变量与因变量

自变量是自己改变的量,因变量是因为自变量改变而改变的量,大家在小学的基础上理解依旧是大差不差的。在回归的角度,所谓的自变量X,即为解释变量,而Y则为被解释变量。回归的任务就是研究解释变量和被解释变量之间的关系~

二.模型功能

1.写出线性表达式

回归分析要去识别并判断: 哪些 X 变量是同 Y 真的相关,哪些不是。 在线性回归中,最终我们可以得到一个Y与多个X之间的线性表达式~

2.预测

预测模型顾名思义就是根据已知预测未知,这玩意没那么高大上的,本质就是将已知的X代入方程计算Y的过程~

3.分析变量关联

        去除了那些同Y 不相关的 X变量,那么剩下的,就都是重要的、有用的X变量了~在确定了重要的X变量的前提下,我们还想 赋予不同 X 不同的权重, 也就是不同的回归系数,进而我们可以知道不同变量之间的相对重要性。

纸上得来终觉浅,接下来博主带领大家做一道真题,2022的华数杯C题,这道比较简单,而且博主拿到一等奖还算有资质分享一下经验,2022的国赛C题玻璃那道,涉及到主成分回归——也就是先主成分分析再线性回归,稍微有点超纲,今天不做讲解~

三.实操步骤

看上面的第二问:他提到了8个工艺参数的组合,不难想到这是多变量,立即考虑多元线性回归!!!又说将预测的数据填入表中——是不是这就是博主前文说到的预测功能?这个所谓的结构变量,即为对应的厚度、孔隙率等上述3种~

原数据经过处理后得到上述结果,不过这里博主不想让大家浪费时间去了解这道题目的背景——重在讲方法。因此大家直接看下表就行:其中热风速度、接受距离为自变量,而另外3个为因变量:

热风速度接受距离厚度mm孔隙率(%)压缩回弹性率(%)
1200302.72596.1794.59
1000302.44595.7390.11
800352.36595.5890.2
800201.749490.12
1200352.72596.1785.73
800301.77594.1288.76
800352.01594.8282.19
1100352.8196.2891.49
900202.0294.8386.21
1100403.496.9382.88
900352.7596.783.05
900302.93596.4492.31
1200252.9696.4786.47
1000353.16596.789.29
1100302.52596.4384.24
1000202.0694.9387.12
900402.9196.4186.65
900252.0594.9182.65
1200403.84597.375.97
1000403.42596.9594.33
1200202.42595.6984.38
1100202.08594.9988.83
800402.8196.2883.2
1100253.10596.6483.82
1000252.11595.0680.98

        但是大家发现问题了:多元回归的理论中,不是应该是多对一吗?(多个自变量一个因变量)大家说的不错,因此,这里我们实际上是有3个方程:分别建立两个自变量对应三个因变量的方程!

1.Stata实现

博主用的是15SE版本的,如下图:

将保存在Excel中的数据导入Stata:

选择第一个:将第一行的数据导入为变量的名称!!!很重要

导入后右侧可以看到:

大家写论文嘛,可以添油加醋,通过如下代码可以获取相关数据的描述性统计

 summarize 热风速度 接受距离 厚度mm 孔隙率 压缩回弹性率

(上述均为各位自己的变量名!) 

然后通过regress关键字进行回归

regress 厚度mm 热风速度 接受距离

 注意:第一个是因变量,后面全是自变量,用空格分开~得到如下结果:

  • 其中,R方为0.7242,这个本质即为相关系数,大家只需要记住低于0.9/0.8就不太好了,最好不要拟合函数,出现这种情况,需要大家加入平方项或者交叉项,这里先不展开描述~
  • Coef对应的一列,即为线性方程中的系数,cons为常数项,因此上述得到的方程为:

厚度=0.002热风速度+0.053接受距离-1.074 

然后题干中不是给了待预测值吗?直接代入方程就能求解!

然后孔隙率和压缩回弹性率也同理,给大家看一下结果:

        非常遗憾哈,这几个相关系数R方——也就是大家另一种称呼法,拟合优度,都有点不下不上,竞赛汇总遇到这种0.7/0.8的,到是也能凑合用,不过博主参赛的几次,拟合优度都能达到0.9+,不论是多元线性回归、BP神经网络还是普通拟合,这里先留点悬念,下篇给大家说解决方式~ 

2.SPSS实现

如果不安装Stata也没关系,这里又更好用的SPSS,还是读入数据:

分析->回归->线性:

选择因变量,自变量:

 结果如下:

大家可以返回去看看,和Stata计算的一模一样——当然这是肯定的,如果连算法逻辑都写不明白,IBM肯定要裁掉他们的程序员了哈哈~

至于另外两个就不再赘述,一个道理~

3.MATLAB实现

说来也巧啊,这统计学语言就是比软工的高级语言容易,MATLAB也是用regress命令:

上述x1、x2、y1分别为热风速度、接受距离、厚度,具体代码如下:

[b,bint,r,rint,stats]=regress(y1,x1,,x2)

b即为系数,这个方法大家了解一下就行,不建议大家用~

四. 实际样例分析

第一次使用是2022年的华数杯,前面的数据不太对,毕竟已经25个月了。。。。如下的当时的获奖论文,大家可以参考~

 

 

第二次用是在2022年的国赛,实际上不是多元线性回归而是逻辑回归,不过大致理论一样,只不过结果只能存在0/1罢了。

22国赛中还有上文提到的主成分回归,这里我们叫线性概率模型,一个道理:

        说句题外话,如果大家选择C题或者统计大类的题目,如果能用到神经网络、动物优化(鲸鱼、狼群、蚁群优化)等类型的算法,大概率是可以省一保底的。博主当时这篇(也就是大致两年前吧,应该是2022.9.15左右) 用到了BP神经网络、K均值聚类、逻辑回归等,拿到省一但是有机会能拿到国二的——至于为什么是省一而非国二相信参加过的同志都知道原因,不过省一也能接受,就这样吧~

然后就是2022年的亚太赛(冬季),用多元回归研究什么全球温度的分布特征,不过只拿到了二等奖,亚太一等名额太少了~

        然后就是2023的美赛,美国著名的那个报纸游戏,因为精力不能全力以赴稿竞赛(懂的都懂)最后也只能拿到M奖,F和O如果不靠场外援助,大概率只有985对口专业的选手有这个正儿八经的实力~ 

        收官战就是2023的正大杯,还是省一(无语了),最搞笑的是我们学校有一队直接就把去年的作品拿出来重写参赛,好像是国二还是国三来着。。。各位选老师的时候一定要慎重, 努力和实力的意义在于你可以击败90%-95%的对手,剩下的5%~10%,看造化和power吧,哈哈。


写在最后:

        前面提到了如何解决拟合优度不高的问题,不打算在这篇讲解了,另开一篇~这篇的目的在于让大家从0分到70分——即如何以一个及格水平使用多元回归求解数学建模的问题——好吧,实际上有80分,肯定没这么低~

        另外注意的是:各位千万不敢原封不动地照搬我的写法哈,不然最后查重可要吃亏,这里放几张图就是给大家看一下大致的书写思路是什么。最近老有后台私信让我出数模的相关东西,估计是快到今年的国赛了各位冲刺呢吧?看了一下比赛是9月5号开始,尽量近期把我力所能及的东西更新完,希望对各位有所帮助~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/417958.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

山东大学OLED透明展示柜案例:科技赋能,创新展示新体验

随着科技的飞速发展,显示技术也在不断突破传统界限,为各行各业带来了全新的展示体验。山东大学集成攻关大平台展厅近期引入了OLED透明展示柜,这一创新举措不仅提升了展厅的展示效果,还为参观者带来了前所未有的互动体验。 背景介绍…

KADAL | Kriging代理模型Python工具箱推荐

用于分析、设计优化和探索的Kriging工具箱 简介Required packagesQuick ExamplesContact特别感谢:参考资料 简介 用于分析、设计优化和探索的克里金法 (Kriging for Analysis, Design optimization, And expLoration, KADAL) 是由万隆理工学院 (Institut Teknologi…

缓存对象反序列化失败

未定义serialVersionUID,会自动生成序列化号 新增了属性,序列号就变了,导致缓存对象反序列化失败。 所有缓存对象必须指定序列化id! 那我如何找到未添加字段前 对象的序列化号呢?默认的序列化号是如何生成的呢&#…

身份证实名认证-实名认证API接口文档

1、接口介绍及适用范围 身份证实名认证是指通过验证个人身份证信息的真实性,来确认用户身份的一种安全验证方式。这种认证方式广泛应用于各种需要身份验证的场合,如金融交易、社交媒体注册、网络游戏登录、电子商务平台购物等。 2、接口地址 输入姓名和…

C语言手撕实战代码_二叉树_构造二叉树_层序遍历二叉树_二叉树深度的超详细代码实现

二叉树习题1.通过前序序列和中序序列构造二叉树2.通过层次遍历序列和中序序列创建一棵二叉树3.求一棵二叉树的结点个数4.求一棵二叉树的叶子节点数5.求一棵二叉树中度为1的节点个数6.求二叉树的高度7.求一棵二叉树中值为x的节点作为根节点的子树深度8.判断两棵树是否相似&#…

如何构建短视频矩阵?云微客开启多账号协同作战

你有没有疑惑过,为什么有些账号每一次发布视频,都要艾特一下其他账号呢?那些被艾特的账号,你有点进去关注过吗?其实做过运营的都或多或少的接触过矩阵,短视频矩阵的玩法现在也逐步成为了趋势。企业通过多账…

亿佰特-NT1/NT1-B串口转RJ45以太网模块

亿佰特-NT1/NT1-B串口转RJ45以太网模块 模块概要连接方式配置模块亿佰特网络配置助手配置模块网页版配置模块 串口以太网双向数据收发AT模式配置模块 模块概要 亿佰特官网 https://www.ebyte.com/ 模块概要: 接口方式:TTL串口RJ45工作电压&#xff1a…

C++ 设计模式——解释器模式

目录 C 设计模式——解释器模式1. 主要组成成分2. 逐步构建解释器模式步骤1: 定义抽象表达式步骤2: 实现终结符表达式步骤3: 实现非终结符表达式步骤4: 构建语法树步骤5: 实现内存管理步骤6: 创建上下文和客户端 3. 解释器模式 UML 图UML 图解析 4. 解释器模式的优点5. 解释器模…

FxFactory 8 for Mac 视觉特效插件包安装

Mac分享吧 文章目录 介绍页面效果一、下载软件二、开始安装1、Install安装2、显示软件页面,表示安装成功3、补丁安装 三、注意事项1、若已安装过其他版本,需要使用软件自带的卸载功能进行软件卸载,再安装此版本 安装完成!&#x…

像素间的关系(邻接、连通、区域、边界、距离定义)

文章目录 像素的相邻像素4邻域D邻域8邻域 邻接、连通、区域和边界邻接类型连通区域边界 距离测度欧氏距离城市街区距离(city-block distance)棋盘距离(chessboard distance) 参考 像素的相邻像素 4邻域 坐标 ( x , y ) (x,y) (x…

ElasticSearch 集群的索引别名管理

一、索引别名 (一)添加索引别名 1.给单个索引添加别名 POST http://10.0.0.101:9200/_aliases{"actions":[{"add":{"index":"yedu-linux85","alias":"Linux容器运维"} },{"add&q…

Qt QGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小_图片查看

QtQGraphicsView实现图片放缩、鼠标拖动移动、鼠标点位置放大缩小 头文件&#xff1a; #ifndef TIMGWIDGET_H #define TIMGWIDGET_H#include <QGraphicsItem> #include <QMainWindow> #include <QObject> #include <QWidget>// class TImgWidget : pu…

uniapp钱包支付、与设置密码页面

设置密码页面 <template><view class="paymentCodeBox"><!-- 自定义键盘 -->

【ArcGIS Pro实操第二期】最小成本路径(Least-cost path)原理及实操案例

ArcGIS Pro实操第一期&#xff1a;最小成本路径原理及实操案例 概述&#xff08;Creating the least-cost path&#xff09;1.1 原理介绍1.2 实现步骤1.3 应用案例 2 GIS实操2.1 工具箱简介2.1.1 成本路径&#xff08;Cost path&#xff09;2.1.2 成本距离&#xff08;Cost dis…

微信小程序知识点(二)

1.下拉刷新事件 如果页面需要下拉刷新功能&#xff0c;则在页面对应的json配置文件中&#xff0c;将enablePullDownRefresh配置设置为true&#xff0c;如下 {"usingComponents": {},"enablePullDownRefresh": true } 2.上拉触底事件 在很多时候&#x…

《互联网内容审核实战》:搭建团队到绩效激励,一书在手全搞定!“

&#x1f310;在数字时代的浩瀚海洋中&#xff0c;互联网视频、图片、文字等内容如同潮水般汹涌澎湃&#xff0c;它们以惊人的速度传播&#xff0c;连接着世界的每一个角落。这股信息洪流不仅丰富了我们的视野&#xff0c;也带来了前所未有的挑战——如何在享受信息便利的同时&…

Kaggle竞赛——手写数字识别(Digit Recognizer)

目录 1. 数据集介绍2. 数据分析3. 数据处理与封装3.1 数据集划分3.2 将数据转为tensor张量3.3 数据封装 4. 模型训练4.1 定义功能函数4.1 resnet18模型4.3 CNN模型4.4 FCNN模型 5. 结果分析5.1 混淆矩阵5.2 查看错误分类的样本 6. 加载最佳模型7. 参考文献 本次手写数字识别使用…

Lenze伦茨E82ZBC, E82ZBB E82ZMBRB安装说明手测

Lenze伦茨E82ZBC, E82ZBB E82ZMBRB安装说明手测

景联文科技:提供高质量多模态数据标注,推动智能化转型

随着人工智能技术的快速发展&#xff0c;多模态数据标注成为推动智能系统更深层次理解和应用的关键技术之一。 作为行业领先的多模态数据标注服务商&#xff0c;景联文科技凭借其在技术、流程和人才方面的综合优势&#xff0c;推出了全面的多模态标注解决方案&#xff0c;助力…

828华为云征文|部署电影收藏管理器 Radarr

828华为云征文&#xff5c;部署电影收藏管理器 Radarr 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 性能模式 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Radarr3.1 Radarr 介绍3.2 Docker 环境搭建3.3 Radarr 部署3.4 R…