数学建模预测类—【一元线性回归】

news2024/11/17 7:50:23

每日格言:行动是治愈恐惧的良药,而犹豫拖延将不断滋养恐惧.

目录

前言

一、什么是回归分析?

1.概念理解

2.分类和一般步骤

二、一元线性回归(Matlab算法)

1.利用regress函数

2、例题讲解

总结



前言

在具体讲述线性回归的有关算法和解题思路时,我们会先讲一些有关回归分析的基础(建议大家可以看一下,理解一下原理)已经懂了的友友可以直接跳过~😏🙌


一、什么是回归分析?

1.概念理解

在统计学中,回归分析(regression analysis)指的是确定两种或两种以上变量间相互依赖的定量关
的一种统计分析方法。

在大数据分析中,回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。

总而言之,回归分析通常用于预测分析以及发现变量之间的因果关系(通俗来讲就是🤔:根据已有数据验证自变量和因变量之间的某种函数关系是正确的)


2.分类和一般步骤
  • 回归分析有两种分类方式:

 根据变量的数目可以分为一元回归、多元回归
 根据自变量与因变量的表现形式,分为线性和非线性

根据排列组合(2X2)也就是回归分析包括四个方向:

①一元线性回归分析、②多元线性回归分析、③一元非线性回归分析、④多元非线性回归分析


  • 回归分析的一般步骤

简要总结一下这张图就是:找到自变量(x)和因变量(y)建立回归方程,然后验证方程的可行性,最后再根据回归方程进行预测.下面我们用一元线性回归方程的例子具体讲一下整个过程

问题:人均收入是否会显著影响人均食品消费支出?

  •  确定解释变量(x)和被解释变量(y)

已知人均收入——x,人均食品消费支出——y

  • 确定回归模型建立回归方程

根据我们的常识我们可知,人均收入应该是和人均食品消费成正比,这里只涉及一个自变量,则一元线性回归模型可表示为:
𝑦 = 𝛽0 + 𝛽1x + 𝜖(误差)

(😶‍🌫️这里如何求相应的参数后面我们会细讲,这里就是了解一下流程~🫡)

  • 检验(不同的回归模型检验方法不同,这里就提一些会用到的指标)

我们通常使用以下几个标准来度量回归方程的可靠性(我们只要会用即可):

  • 估计标准误差越小,则数据点围绕回归直线的分散程度越小,回归方程的代表性越大,可靠性越高
  • 置信区间反映了参数估计的不确定性,如果一个参数的置信区间不包含零(对于斜率参数),则可以认为该参数对因变量有显著的影响
  • 而预测区间反映了预测值的不确定性,可以告诉我们预测值的可信度范围。
  • 判定系数(R^2):R^2越趋近于1,我们方程的拟合程度越好
  • 线性关系检验:计算检验统计量F,若𝐹 > 𝐹1−𝛼(1, 𝑛 − 2)(查表可得),拒绝𝐻0,否则接受𝐻0;(𝐻0(原假设):𝛽1 = 0,回归系数与0无显著差异,𝑦与x的线性关系不显著),所以拒绝H0说明y与x存在线性关系
  • 回归系数的显著性检验检验回归系数𝛽的值与0是否有显著性差异,若𝛽 ≠ 0,说明变量𝑌与𝑋之间存在显著的线性关系
  • 通过构造t统计量并计算p值,如果p值小于预设的显著性水平(例如0.05),则认为参数是显著的。
  • 预测

将所求回归方程和参数代入求解即可

二、一元线性回归(Matlab算法)

1.利用regress函数

𝑦 = 𝛽0 + 𝛽1x + 𝜖(误差)(一元线性回归方程模型) 

\left [ b,bint,r,rint,stats \right ] = regress\left ( Y,X,alpha \right )

1、输入变量:这里Y,X都是由样本数据构成的列向量;alpha——显著性水平,默认为0.05 ,一般不需要我们输入

2、输出变量:
𝑏— — 回归系数(β0,β1,···)
𝑏𝑖n𝑡— — 回归系数的区间估计
𝑟— — 残差
𝑟𝑖n𝑡— — 置信区间
stats— — 用于检验回归模型的统计量
stats有四个数值:决定系数R^2、𝐹值、与𝐹对应的概率𝑃、无偏估计𝜎^2

2、例题讲解

让我们预测身高为170的女生腿长可能为多少呢?

 

%一元线性回归
clear,clc
%1.输入数据
%输入X的样本值
x = [143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]';
%插入β0对应列
X = [ones(16,1),x];
%输入Y的样本值
Y = [88,85,88,91,92,93,93,95,96,98,97,96,98,99,100,102]';

%2、回归分析及检验:
[b,bint,r,rint,stats]=regress(Y,X);
%输出我们需要的数据
%  β0=-16.0730,置信区间为[-33.7071,1.5612]
%  β1=0.7194,置信区间为[0.6047,0.8340]
%  R^2=0.9282  F=180.9531   p=0.0000    1.7437
%p就是接受回归模型的风险,即犯错的概率
% 由p<0.05,可知回归模型y=-16.0730+0.7194x 成立


%3、残差分析,作残差图
figure
rcoplot(r,rint);
%第二个值可视为异常值


%4、预测及作图
figure
y = b(1)+b(2)*x;
%比较真实值与估计值所作图像
plot(x,Y,'b+',x,y,'r');

这里我们作图后的图像大致为

由上图说明我们回归方程的建立是比较好的。

 


总结

完结撒花🎆🎆🎇🎇

通过本篇文章,我们深入探讨了回归分析中的关键概念,包括如何评估模型的拟合度、参数的显著性检验以及如何利用置信区间和预测区间进行预测分析。如果大家有任何疑问或需要进一步的帮助,请随时留言!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在 Windows 10 中配置住宅 IP

什么是住宅IP 住宅IP指的是普通家庭网络的 IP 地址。你可以这样想&#xff1a; IP地址&#xff1a;每一个接入互联网的设备都有一个唯一的“地址”&#xff0c;就像每栋房子都有一个唯一的门牌号一样&#xff0c;这个地址就是IP地址。 住宅IP&#xff1a;指的是那些来自家庭用…

vue2父组件向子孙组件响应式传参,provide/inject响应式

provide和inject一起使用&#xff0c;实现将父组件的数据、方法提供给子孙组件使用&#xff0c;不论组件层次有多深。provide和inject绑定并不是可响应的。但如果你传入了一个可监听的对象&#xff0c;那么其对象的property还是可响应的。 API — Vue.js (vuejs.org)https://v…

完美解决html2canvas + jsPDF导出pdf分页内容截断问题

代码地址&#xff1a;https://github.com/HFQ12333/export-pdf.git html2canvas jspdf方案是前端实现页面打印的一种常用方案&#xff0c;但是在实践过程中&#xff0c;遇到的最大问题就是分页截断的问题&#xff1a;当页面元素超过一页A4纸的时候&#xff0c;连续的页面就会…

基于c++的yolov5推理之后处理详解及代码(二)

目录 一、解析yolov5的输出结果 1、对1*25200*85的向量进行解析 2、预测框中心&#xff08;x&#xff0c;y&#xff09;&#xff0c;预测框的高和宽&#xff08;h&#xff0c;w&#xff09;详解 3、解析代码&#xff1a; 二、confidence过滤 1、confidence计算 三、Non-Maxi…

C++笔记-sstream的使用(字符串转其他类型,读取文件时用得多)

在 C 中&#xff0c;std::stringstream 类可以用来进行字符串流的输入输出&#xff0c;将字符串和其他类型的数据进行转换。 #include <iostream> #include <sstream>int main() {// 将整数转换为字符串int num 123;std::stringstream ss;ss << num;std::s…

单元训练10:定时器实现秒表功能-数组方式

蓝桥杯 小蜜蜂 单元训练10&#xff1a;定时器实现秒表功能-数组方式 /** Description:* Author: fdzhang* Email: zfdcqq.com* Date: 2024-08-15 21:58:53* LastEditTime: 2024-08-16 19:07:27* LastEditors: fdzhang*/#include "stc15f2k60s2.h"#define LED(x) …

火语言RPA--手机对象元素库使用方法

使用自动选取工具获得手机中元素的xpath路径。 工具标识 手机 分组下组件若有此标识&#xff0c;则包含选择元素工具&#xff0c;点击此标识会可以选择手机中的元素进行操作。 元素库介绍 ① 根据元素名称筛选元素库中保存的元素 ② 元素库&#xff0c;显示已经保存的元素名称…

算法的学习笔记—链表中倒数第 K 个结点(牛客JZ22)

&#x1f600;前言 在编程过程中&#xff0c;链表是一种常见的数据结构&#xff0c;它能够高效地进行插入和删除操作。然而&#xff0c;遍历链表并找到特定节点是一个典型的挑战&#xff0c;尤其是当我们需要找到链表中倒数第 K 个节点时。本文将详细介绍如何使用双指针技术来解…

48天笔试训练错题——day47

目录 选择题 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 编程题 1. 合唱团 2. 马戏团 选择题 1. 子网掩码是 255.255.255.0&#xff0c;前三个字节都是 1&#xff0c;则表示有 24 位网络号和子网号。又是 B 类 IP 地址&#xff0c;只有 16 位网络号&#xff0c;所有第三个…

聊聊JS中的WebSocket

你好&#xff0c;我是沐爸&#xff0c;欢迎点赞、收藏和关注。个人知乎 在JavaScript中&#xff0c;使用WebSocket非常简单直观。通过几行代码&#xff0c;你就可以轻松创建一个WebSocket连接&#xff0c;并监听来自服务器的消息。无论是开发实时聊天应用、在线游戏、实时数据分…

高效录制新选择:2024年Windows录屏软件

录屏能帮助我们捕捉屏幕上的精彩瞬间&#xff0c;作为老师可以用来录制课程&#xff0c;作为会议记录员可以用来录制远程会议。那么有什么软件是适合windows录屏的呢&#xff1f;这次我们一起来探讨一下吧。 1.福昕录屏大师 链接&#xff1a;www.foxitsoftware.cn/REC/ 这款软…

【数据结构】 顺序表的应用 - 通讯录的实现

0. 前言 上一期博客中&#xff0c;我们已经学习了顺序表是什么&#xff0c;以及顺序表相关接口的实现&#xff0c;了解了如何实现顺序表的插入和删除等功能&#xff0c;那么在这期博客&#xff0c;我们可以基于顺序表来实现一个通讯录&#xff0c;在通讯录当中能实现联系人的增…

【代码随想录训练营第42期 Day27打卡 贪心Part1 - LeetCode 455.分发饼干 376. 摆动序列 53. 最大子序和

目录 一、贪心 二、题目与题解 题目一&#xff1a;455.分发饼干 题目链接 题解&#xff1a;排序双指针贪心 题目二&#xff1a;376. 摆动序列 题目链接 题解&#xff1a;贪心 题目三&#xff1a;53. 最大子序和 题目链接 题解1&#xff1a;暴力&#xff08;失败&…

解决生产环境服务启动失败:一次远程Bug排查与修复历程

一、问题现象 同事没事一直给服务器断电&#xff08;直接拔插头那种&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 二、初步排查 首先&#xff0c;我登录到生产服务器&#xff0c;查看服务启动日志。在日志中&#xff0c;我发现了一些异常信息&#xff0c;…

全网独家梳理:数字病理图像的常用存储格式以及格式转换的方法|24-08-17

小罗碎碎念 这一期推文&#xff0c;跟你们分享一些比较底层&#xff0c;并且顶刊中不会涉及但是又至关重要的内容。 我们在做任何一个病理AI的项目前&#xff0c;有两样东西是一定会拿到手的——切片&对应的临床基线表。&#xff08;如果做多组学/多模态的项目&#xff0c;…

宠物空气净化器推荐购买吗?真的能除毛去味吗?

自从做了猫咖店老板&#xff0c;我这生活真的是美滋滋&#xff0c;每天都可以摸到不同品种的可爱的小猫咪&#xff0c;在赚钱养家的同时还能肆意和猫咪贴贴&#xff0c;连朋友都说想和我干一样的工作了。每天接待的顾客也不少&#xff0c;店里面的空气质量也还不错&#xff0c;…

模块一(任务2):SDH系统原理解读

一、PDH与SDH标准速率介绍 OTN网络技术是基于SDH系统和WDM系统设计的&#xff0c;所以学习OTN系统原理必须要掌握SDH和WDM量大系统原理 1、PDH与SDH概念及特点 二、SDH的帧结构 目前通信常见的数据结构有两种&#xff1a; 报文&#xff1a;基于以太网通信的数据结构 帧&am…

真诚巨作:全文一万字教你快速熟悉项目|文心快码帮你快速熟悉~

写在前面 : 上了好多年的学&#xff0c;终于毕业进入职场啦&#xff5e;在公司也有一段时间了&#xff0c;慢慢地也变成了纯正的社畜了。近来开始熟悉部门的项目代码&#xff0c;说实话公司的代码真跟以前接触的不一样&#xff0c;内部各种自建框架&#xff0c;让人看得眼花缭乱…

ARCGIS PRO 要素标注背景色透明度的设置

使用ArcGIS Pro 设置标注背景色的透明度 一、点击标注属性 二、点击符号、注释 三、下拉框选择背景 四、背景符号 五、点击颜色 六、编辑颜色 七、应用

Java语言程序设计基础篇_编程练习题**16.26(模拟:升旗并播放国歌)

目录 题目&#xff1a;**16.26&#xff08;模拟&#xff1a;升旗并播放国歌&#xff09; 习题思路&#xff1a; 代码示例 结果展示 音频来源 题目&#xff1a;**16.26&#xff08;模拟&#xff1a;升旗并播放国歌&#xff09; 创建一个显示升国旗的程序&#xff0c;如图15-14…