【学习笔记】多元线性回归模型 —— 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');

运行结果:

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

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

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

相关文章

图像增强技术简介

目录 一、概论 二、图像噪声 三、图像增强处理分类 一、概论 图像增强作为基本的图像处理技术,其目的是对图像进行加工,以得到对具体应用来说视觉效果更“好”更“有用”的图像。图像增强算法并不能增加原始图像的信息,而是通过某种技术手…

MVCC 详解

MVCC 简单理解 MVCC,全称 Multi-Version Concurrency Control,是多版本并发控制的意思。 在高并发情况下操作数据库可能会出现脏写、脏读、不可重复度、幻读这四个问题。通过 MVCC 可以实现在不加锁的前提下避免一些问题。 MVCC 的实现原理 多版本 …

相似度计算方法-编辑距离 (Edit Distance)

定义 编辑距离(Edit Distance),也称为Levenshtein距离,是一种衡量两个字符串相似度的方法。它定义为从一个字符串转换为另一个字符串所需的最少单字符编辑操作次数,这些操作包括插入、删除或替换一个字符。 计算方法 …

Openstack二层网络的构建和使用

Openstack二层网络的构建和使用 一、实验目的 (1)了解网络层级、子网、动态地址、网关代理等概念并进行应用。 (2)了解OpenStack项目以及相关组件。 (3)了解 Neutron 二层网络的构建和使用。 二、实验原…

tomcat Listener 内存马浅谈

本文来源无问社区,更多实战内容可前往查看http://www.wwlib.cn/index.php/artread/artid/3651.html Tomcat 介绍 Tomcat的主要功能 toncat作为一个web服务器,实现了两个核心的功能 http 服务器功能:进行socket 通信(基于TCP/I…

案例分享—国外深色UI界面设计赏析

在国外,深色界面设计(Dark Mode)已成为提升用户体验的重要趋势。它不仅有效减少屏幕亮度,保护用户视力,还能在夜晚或低光环境下提供更加舒适的浏览体验。设计师们普遍认识到,深色主题不仅提升了应用的视觉层…

Vue中下载内容为word文档

1.使用 html-docx-js:这是一个将 HTML 转换为 Word 文档的库。 2. 利用 Blob 和 FileSaver.js:创建并下载生成的 Word 文档。 在 Vue.js 中实现步骤如下: 1. npm 安装 html-docx-js 和 file-saver npm install html-docx-js npm install file-saver2.…

【vue教程】六. Vue 的状态管理

目录 往期列表本章涵盖知识点回顾Vuex 的基本概念什么是 Vuex?为什么需要 Vuex? Vuex 的核心概念stategettersmutationsactionsmodules Vuex 的安装和基本使用安装 Vuex创建 store在 Vue 应用中使用 store在组件中访问和修改状态 Vuex 的模块化模块化的好…

2024新型数字政府综合解决方案(七)

新型数字政府综合解决方案通过集成人工智能、大数据、区块链和云计算技术,创建了一个高度智能化和互联互通的政府服务平台,旨在全面提升行政效率、服务质量和透明度。该平台实现了跨部门的数据整合与实时共享,利用人工智能进行智能决策支持和…

PCRNet: Point Cloud Registration Network using PointNet Encoding 论文解读

目录 一、导言 二、先导知识 1、Frobenius范数 三、相关工作 1、点云配准工作 2、PointNet 3、基于深度学习的点云配准 四、PCRNet 1、PCRNet 2、Iterative PCRNet 3、损失函数 五、实验 一、导言 本论文收录于CVPR2019,本论文提出了一种依赖PointNet网…

11.2.0.4 RAC 节点1重做操作系统后如何复原

环境描述:Redhat7.9 11.2.0.4 RAC 双节点 实验背景 群里有大佬在交流RAC中1个节点操作系统坏了如何修复,故有了该实验。 在正常的生产环境当中,有时候会遇到主机磁盘以及其他硬件故障导致主机OS系统无法启动,或者OS系统本身故障…

【海奇HC-RTOS平台E100-问题点】

海奇HC-RTOS平台E100-问题点 ■ btn 没有添加到group中 ,怎么实现的事件的■ 屏幕是1280*720, UI是1024*600,是否修改UI■ hc15xx-db-e100-v10-hcdemo.dtb 找不到■ 触摸屏驱动 能否给个实例■ 按键驱动■ __initcall(projector_auto_start)■ source insigt4.0 #if…

【esp32程序编译提示undefined reference to ‘xxxx‘】

案例1: 【背景】 在使用SquareLine Studio设计UI时,成功导出UI代码,在编译代码的时候提示undefined reference to ‘ui_img_1869164015’,有一个变量无法识别,没有定义。 【定位步骤】 1.首先找到用这个变量的.c文件…

复现DOM型XSS攻击(1-8关)

目录 第一关:​ 分析代码: 第二关: 分析代码: 第三关: 分析代码: 第四关: 分析代码: 第五关: 分析代码: 第六关: 分析代码&#xff1…

SpringBoot依赖之Spring Data Redis 一 List 类型

概念 Spring Data Redis (AccessDriver) 依赖名称: Spring Data Redis (AccessDriver)功能描述: Advanced and thread-safe Java Redis client for synchronous, asynchronous, and reactive usage. Supports Cluster, Sentinel, Pipelining, Auto-Reconnect, Codecs and muc…

Spring源码-源码层面讲解bean标签添加了lookup-method和replaced-method标签之后源码执行流程,以及对象实例化的流程

bean.xml文件添加lookup-method和replaced-method标签 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sch…

C语言部分内存函数详解

C语言部分内存函数详解 前言1.memcpy1.1基本用法1.2注意事项**目标空间与原空间不能重叠****目标空间原数据会被覆盖****目标空间要够大****拷贝字节数需小于原空间大小** 1.3模拟实现 2.memmove2.1基本用法2.2注意事项2.3模拟实现 3.memset3.1基本用法 4.memcmp4.1基本用法4.2…

[论文笔记]ZeRO: Memory Optimizations Toward Training Trillion Parameter Models

引言 今天带来ZeRO: Memory Optimizations Toward Training Trillion Parameter Models的论文笔记。 大型深度模型提供了显著的准确性提升&#xff0c;但训练数十亿到数万亿个参数是具有挑战性的。现有的解决方案&#xff0c;如数据并行和模型并行&#xff0c;存在基本的局限…

python小游戏之摇骰子猜大小

最近学习Python的随机数&#xff0c;逻辑判断&#xff0c;循环的用法&#xff0c;就想找一些练习题&#xff0c;比如小游戏猜大小&#xff0c;程序思路如下&#xff1a; 附上源代码如下&#xff1a; 摇骰子的函数&#xff0c;这个函数其实并不需要传任何参数&#xff0c;调用后…

【Delphi】中多显示器操作基本知识点

提要&#xff1a; 目前随着计算机的发展&#xff0c;4K显示器已经逐步在普及&#xff0c;笔记本的显示器分辨率也都已经超过2K&#xff0c;多显示器更是普及速度很快。本文介绍下Delphi中操作多显示器的基本知识点&#xff08;Windows系统&#xff09;&#xff0c;这些知识点在…