【学习笔记】多元线性回归模型 —— Matlab

文章目录


前言

通过模型算法,熟练对Matlab的应用。
学习视频链接:
https://www.bilibili.com/video/BV1EK41187QF?p=44&vd_source=67471d3a1b4f517b7a7964093e62f7e6

一、多元线性回归

多元线性回归模型

一般称由 y = β 0 + β 1 x 1 + ⋯ + β k x k y=\beta_0+\beta_1x_1+\cdots+\beta_kx_k y=β0+β1x1++βkxk 确定的模型:
{ Y = X β + ϵ E ( ϵ ) = 0   , C O V ( ϵ   , ϵ ) = σ 2 I n \left\{\begin{matrix}Y=X\beta+\epsilon\\E(\epsilon)=0\:,COV(\epsilon\:,\epsilon)=\sigma^2I_n\end{matrix}\right. {Y=+ϵE(ϵ)=0,COV(ϵ,ϵ)=σ2In
k k k 元线性回归模型,并简记为 ( Y , X β , σ 2 I n ) (Y,X\beta,\sigma^2I_n) (Y,,σ2In)
Y = [ y 1 y 2 . . . y n ]   , X = [ 1 x 11 x 12 . . . x 1 k 1 x 21 x 22 . . . x 2 k . . . . . . . . . . . . . . . 1 x n 1 x n 2 . . . x n k ]   , β = [ β 0 β 1 . . . β k ]   ,   ϵ = [ ϵ 1 ϵ 2 . . . ϵ n ] \begin{aligned}Y=\begin{bmatrix}y_1\\y_2\\...\\y_n\end{bmatrix}\:,X=\begin{bmatrix}1&x_{11}&x_{12}&...&x_{1k}\\1&x_{21}&x_{22}&...&x_{2k}\\...&...&...&...&...\\1&x_{n1}&x_{n2}&...&x_{nk}\end{bmatrix}\:,\beta=\begin{bmatrix}\beta_0\\\beta_1\\...\\\beta_k\end{bmatrix}\:,\:\epsilon=\begin{bmatrix}\epsilon_1\\\epsilon_2\\...\\\epsilon_n\end{bmatrix}\end{aligned} Y= y1y2...yn ,X= 11...1x11x21...xn1x12x22...xn2............x1kx2k...xnk ,β= β0β1...βk ,ϵ= ϵ1ϵ2...ϵn
y = β 0 + β 1 x 1 + ⋯ + β k x k y= \beta _{0}+ \beta _{1}x_{1}+ \cdots + \beta _{k}x_{k} y=β0+β1x1++βkxk称为回归平面方程。

线性模型 ( Y , X β , σ 2 I n ) (Y,X\beta,\sigma^2I_n) (Y,,σ2In) 考虑的主要问题

  • 对参数 β \beta β σ 2 \sigma^2 σ2 作点估计,建立 y y y x 1 , x 2 , ⋯   , x k x_1,x_2,\cdots,x_k x1,x2,,xk 之间的数量关系
  • 对模型参数、模型结果等做检验
  • γ \gamma γ 的值作预测,即对 γ \gamma γ 作点(区间)估计

多元线性回归模型的参数估计

  • 用最小二乘法求 β 0 , ⋯   , β k \beta_0,\cdots,\beta_k β0,,βk 的估计量:作离差平方和
    Q = ∑ i = 1 n ( y i − β 0 − β 1 x i 1 − ⋯ − β k x i k ) 2 Q=\sum_{i=1}^n(y_i-\beta_0-\beta_1x_{i1}-\cdots-\beta_kx_{ik})^2 Q=i=1n(yiβ0β1xi1βkxik)2
  • 选择 β 0 , ⋯   , β k \beta_0,\cdots,\beta_k β0,,βk 使 Q Q Q 达到最小
  • 解得估计值 β ^ = ( X T X ) − 1 ( X T Y ) \hat{\beta}=(X^TX)^-1(X^TY) β^=(XTX)1(XTY)
  • 得到的 β ^ i \hat{\beta}_i β^i代入回归平面方程得:
    y = β ^ 0 + β ^ 1 x 1 + ⋯ + β ^ k x k y=\hat{\beta}_0+\hat{\beta}_1x_1+\cdots+\hat{\beta}_kx_k y=β^0+β^1x1++β^kxk
  • 称为经验回归平面方程, β ^ i \hat{\beta}_i β^i 称为经验回归系数

多元线性回归模型和回归系数的检验

1 ) F 1) F 1)F 检验法

  • H 0 H_{0} H0 成立时, F = U / k Q e / ( n − k − 1 ) ∼ F ( k , n − k − 1 ) F=\frac{U/k}{Q_{e}/(n-k-1)}\sim F(k,n-k-1) F=Qe/(nk1)U/kF(k,nk1)
  • 如果 F > F 1 − α ( k , n − k − 1 ) F>F_{1-\alpha}(k,n-k-1) F>F1α(k,nk1),则拒绝 H 0 H_0 H0 ,认为 y y y x 1 , ⋅ ⋅ ⋅ , x k x_1,\cdotp\cdotp\cdotp,x_k x1,⋅⋅⋅,xk 之间显著地有线性关系;否则就接受 H 0 H_0 H0,认为 y y y x 1 , ⋯   , x k x_1,\cdots,x_k x1,,xk 之间线性关系不显著。
  • 其中 U = ∑ i = 1 n ( y ^ i − y ˉ ) 2   ( 回归平方和 ) Q e = ∑ i = 1 n ( y i − y ^ i ) 2   ( 残差平方和 ) U=\sum_{i=1}^{n}(\hat{y}_{i}-\bar{y})^{2}\:(\text{回归平方和})\\Q_{e}=\sum_{i=1}^{n}(y_{i}-\hat{y}_{i})^{2}\:(\text{残差平方和}) U=i=1n(y^iyˉ)2(回归平方和)Qe=i=1n(yiy^i)2(残差平方和)

2 ) r 2) r 2)r 检验法

  • 定义
    R = U L y y = U U + Q e R=\sqrt{\dfrac{U}{L_{yy}}}=\sqrt{\dfrac{U}{U+Q_e}} R=LyyU =U+QeU
    称为 y y y x 1 , ⋯   , x k x_1,\cdots,x_k x1,,xk 的多元相关系数或复相关系数。由于
    F = n − k − 1 k R 2 1 − R 2 F=\frac{n-k-1}{k}\frac{R^2}{1-R^2} F=knk11R2R2
    故用 F F F 和用 R R R 检验是等效的。

二、示例

  • 水泥凝固时放出的热量 y y y 与水泥中4种化学成分 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4 有关,今测得一组数据如下,试用逐步回归法确定一个线性模型,并找出影响水泥凝固时放出热量的必要因素
    在这里插入图片描述

多元线性回归的逐步回归

  • “最优” 的回归方程就是包含所有对 Y Y Y 有影响的变量,而不包含对 Y Y Y 影响不显著的变量回归方
  • 逐步回归分析法的思想:
    • 从一个自变量开始,根据自变量对 Y Y Y 作用的显著程度,从大到小地依次逐个引入回归方程
    • 当引入的自变量由于后引入变量而变得不显著时,要将其剔除掉。
    • 引入一个自变量或从回归方程中剔除一个自变量,为逐步回归的一步。
    • 对于每一步都要进行 Y Y Y 值检验,以确保每次引入新的显著性变量前回归方程中只包含对Y作用显著的变量。
    • 这个过程反复进行,直至既无不显著的变量从回归方程中剔除,又无显著变量可引入回归方程时为止。

三、代码实现----Matlab

1.多元回归的实现

Matlab的 regress 函数

regress 函数的基本语法如下:

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

b = [ β ^ 0 β ^ 1 . . . β ^ p ] , Y = [ y 1 y 2 . . . y n ]   , X = [ 1 x 11 x 12 ⋯ x 1 p 1 x 21 x 22 ⋯ x 2 p . . . . . . . . . . . . . . . 1 x n 1 x n 2 . . . x n p ] b=\begin{bmatrix}\hat{\beta}_0\\\hat{\beta}_1\\...\\\hat{\beta}_p\end{bmatrix},Y=\begin{bmatrix}y_1\\y_2\\...\\y_n\end{bmatrix}\:,X=\begin{bmatrix}1&x_{11}&x_{12}&\cdots&x_{1p}\\1&x_{21}&x_{22}&\cdots&x_{2p}\\...&...&...&...&...\\1&x_{n1}&x_{n2}&...&x_{np}\end{bmatrix} b= β^0β^1...β^p ,Y= y1y2...yn ,X= 11...1x11x21...xn1x12x22...xn2......x1px2p...xnp

2.逐步回归的实现

Matlab的 stepwise 函数

stepwise 函数的基本语法如下:

stepwise( x, y, inmodel, alpha)

x − − x-- x自变量数据, n × m n\times m n×m 阶矩阵 y − − y-- y 因变量数据, n × 1 n\times1 n×1阶矩阵
i n m o d e l − − inmodel-- inmodel矩阵的列数的指标,给出初始模型中包括的子集(缺省时设定为全部自变量)
a l p h a − − alpha-- alpha默认为0.05

3.Matlab代码

clc;clear
x1=[7 1 11 11 7 11 3 1 2 21 1 11 10]';
x2=[26 29 56 31 52 55 71 31 54 47 40 66 68]';
x3=[6 15 8 8 6 9 17 22 18 4 23 9 8]';
x4=[60 52 20 47 33 22 6 44 22 26 34 12 12]';
y=[78.5 74.3 104.3 87.6 95.9 109.2 102.7 72.5 93.1 115.9 83.8 113.3 109.4]';
x=[x1 x2 x3 x4];  % 自变量矩阵,包括四个自变量
stepwise(x,y)  % 使用逐步回归分析方法,选取最佳模型

在这里插入图片描述
X 1 、 X 2 、 X 3 、 X 4 X1、X2、X3、X4 X1X2X3X4 全部选中时, F F F = 111.479

在这里插入图片描述
只选中 X 1 、 X 2 X1、X2 X1X2 时, F F F = 229.504

在这里插入图片描述
只选中 X 3 、 X 4 X3、X4 X3X4 时, F F F = 72.2674

可见 X 1 、 X 2 X1、X2 X1X2 是影响 Y Y Y 的必要因素

只对 X 1 、 X 2 X1、X2 X1X2 进行线性回归:

% 水泥凝固时放热分析
% (1)数据输入
clc;clear
x1=[7 1 11 11 7 11 3 1 2 21 1 11 10]';
x2=[26 29 56 31 52 55 71 31 54 47 40 66 68]';
y=[78.5 74.3 104.3 87.6 95.9 109.2 102.7 72.5 93.1 115.9 83.8 113.3 109.4]';
x=[ones(size(x1)),x1, x2];  % 自变量矩阵,包括四个自变量
% (2)求结果
[b,bint,r,rint,stats]=regress(y,x)  % 进行多元线性回归分析
% (3)画残差图
rcoplot(r,rint)  % 绘制残差图,用于评估回归模型的拟合情况
% 3、作图
% 定义自变量的范围
x1 = -10:0.1:10;  % x1的取值范围
x2 = -10:0.1:10;  % x2的取值范围

% 计算对应的因变量值
[X1, X2] = meshgrid(x1, x2);  % 创建网格点坐标矩阵
Z = b(1) + b(2)*X1 + b(3)*X2;  % 计算对应的因变量值

% 绘制三维图形
figure;
surf(X1, X2, Z);
xlabel('x1');
ylabel('x2');
zlabel('z');
title('Z = 52.5773 + 1.4683*X1 + 0.6623*X2');

运行结果:

残差分析:
在这里插入图片描述
三维图:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MES系统:智能化排班排产的全面解决方案

MES(制造执行系统)管理系统通过集成多种先进技术、实时数据采集与分析、优化算法应用以及与其他系统的协同工作,实现了智能化排班排产功能。以下是该功能的详细实现方式: 数据集成与实时采集:MES系统与ERP、SCM、设备管…

Linux常用命令 ---- rmdir 命令[删除一个空目录]

rmdir 命令 功能:删除一个空目录 我们使用 mkdir 命令创建一个名为 test 空文件夹,如下图所示。 现在使用 rmdir 命令将 test 文件夹进行删除,如下图所示。 注意:rmdir 命令只能删除一个空目录,如果这个目录中有其他文…

python从入门到精通:函数

目录 1、函数介绍 2、函数的定义 3、函数的传入参数 4、函数的返回值 5、函数说明文档 6、函数的嵌套调用 7、变量的作用域 1、函数介绍 函数是组织好的,可重复使用的,用来实现特定功能的代码段。 name "zhangsan"; length len(nam…

【面试题系列Vue02】Vue Router 路由都有哪些模式?各模式之间有什么区别?

官方解析 Vue Router 路由有三种模式: hash 模式:使⽤ URL 中的 hash(即 # 后面的内容)来作为路由路径。 在这种模式下,页面不会重新加载,只会更新 hash 值,并触发路由变化,从而渲…

什么是机器人快换盘?

机器人快换盘,行业内也称作工具快换盘、换枪盘、快换工具盘、快速更换器、快换器、 快换夹具、治具快换等。是末端执行器快速更换装置(End-Of-Arm Tooling,简称EOAT),是工业自动化领域中用于机器人手臂上的一种重要设备…

【Python零基础】while循环和用户输入

文章目录 前言一、input()函数二、while循环三、使用while循环来处理列表和字典总结 前言 我们开发一个应用程序,目的都是为了解决最终用户的问题,针对用户界面输入的数据,按照用户期待的逻辑进行处理,得到用户想要的结果。本章将…

如何在前端测试中,在F12中加入token

不止是token,cookie中其他的数据也都可以这样 首先打开F12,然后找到Application或者应用程序 然后找到cookie里面双击这里,输入token或者其他数据就可以了,后面输值。

高性能日志系统

目录 设计思路 架构设计 设计模式应用 单例模式 工厂模式 建造者模式 代理模式 异步处理设计 异步日志器使用原因 异步日志器设计思路 异步日志器实现的核心模块说明 性能优化以及问题解决 测试结果 双缓冲区机制设计 设计思路及其架构 生产消费模式与双缓冲区结…

C++ wxWidgets图形界面开发用什么IDE最好?

在主流免费的IDE工具中,我们可以想到的支持cmake项目的工具就只有QtCreator,VisualStudio,VSCode这三个。其中QtCreator和VSCode支持WIndows,Mac,WIndows三大主流平台。但是VSCode在Ubuntu等系统下的支持并没有在WIndo…

【vue讲解:ref属性、动态组件、插槽、vue-cli创建项目、vue项目目录介绍、vue项目开发规范、es6导入导出语法】

0 ref属性&#xff08;组件间通信&#xff09; # 1 ref属性放在普通标签上<input type"text" v-model"name" ref"myinput">通过 this.$refs[myinput] 拿到的是 原生dom对象操作dom对象&#xff1a;改值&#xff0c;换属性。。。# 2 ref属…

Leetcode JAVA刷刷站(38)外观数列

一、题目概述 二、思路方向 为了解决这个问题&#xff0c;我们可以编写一个Java函数countAndSay&#xff0c;该函数接受一个整数n作为输入&#xff0c;并返回外观数列的第n个元素。这个函数将基于递归公式来构建数列&#xff0c;其中countAndSay(1) "1"&#xff0c;…

pycharm windows/mac 指定多版本python

一、背景 工作中经常会使用不同版本的包&#xff0c;如同时需要tf2和tf1&#xff0c;比较新的tf2需要更高的python版本才能安装&#xff0c;而像tf1.5 需要低版本的python 才能安装&#xff08;如 python3.6&#xff09;,所以需要同时安装多个版本。 二、安装多版本python py…

网络安全之XSS基础

从 XSS Payload 学习浏览器解码 xss payload 1.<a href"%6a%61%76%61%73%63%72%69%70%74:%61%6c%65%72%74%28%31%29">1</a> 2.<a href"&#x6a;&#x61;&#x76;&#x61;&#x73;&#x63;&#x72;&#x69;&#x70;&#x74;:…

SpringBoot+Vue在线商城(电子商城)系统-附源码与配套论文

摘 要 随着互联网技术的发展和普及&#xff0c;电子商务在全球范围内得到了迅猛的发展&#xff0c;已经成为了一种重要的商业模式和生活方式。电子商城是电子商务的重要组成部分&#xff0c;是一个基于互联网的商业模式和交易平台&#xff0c;通过网络进行产品和服务的销售。…

【题目/训练】:双指针

引言 我们已经在这篇博客【算法/学习】双指针-CSDN博客里面讲了双指针、二分等的相关知识。 现在我们来做一些训练吧 经典例题 1. 移动零 思路&#xff1a; 使用 0 当做这个中间点&#xff0c;把不等于 0(注意题目没说不能有负数)的放到中间点的左边&#xff0c;等于 0 的…

Unity项目优化记录

背景&#xff1a;测试反馈项目组游戏存在内存泄露&#xff0c;来找到中台这边协调排查。好家伙&#xff0c;跑了两次看了内存快照&#xff0c;再看资源组织和管理方式&#xff0c;存在的问题确实比较多。 1、修复内存泄露&#xff1a;结算界面由于资源引用丢失导致整个面板不会…

景联文科技高质量文本标注:驱动自然语言处理技术的发展与应用

文本标注是自然语言处理&#xff08;NLP&#xff09;领域的一个重要环节&#xff0c;是指在文本数据上添加额外的信息或标记的过程&#xff0c;目的是为了让计算机能够理解和处理这些文本数据。 通过文本标注&#xff0c;可以为文本中的各个部分提供具体的含义和上下文信息&…

基于vue全家桶的pc端仿淘宝系统_kebgy基于vue全家桶的pc端仿淘宝系统_kebgy--论文

TOC springboot478基于vue全家桶的pc端仿淘宝系统_kebgy基于vue全家桶的pc端仿淘宝系统_kebgy--论文 绪 论 1.1开发背景 改革开放以来&#xff0c;中国社会经济体系复苏&#xff0c;人们生活水平稳步提升&#xff0c;中国社会已全面步入小康社会。同时也在逐渐转型&#xf…

这个是git使用的合集

如果遇到了关于git和github的bug就会写这里 2024/8/16 github一直没有打卡和上传代码是因为感觉除了做项目的情况&#xff0c;普通的学习和普通的笔记没必要记在github里&#xff1b;如果是笔记类的东西为什么不记在csdn上呢&#xff1f;如果是算法题算法网站上回有记录啊&am…

Cacti SQL注入漏洞分析(CVE-2023-51448)

Cacti 为全球用户提供强大且可扩展的运营监控和故障管理框架。它还是一个完整的网络绘图解决方案&#xff0c;旨在利用RRDTool的数据存储和绘图功能。Cacti 包括一个完全分布式和容错的数据收集框架、用于设备、图表和树的高级基于模板的自动化功能、多种数据采集方法、通过插件…