[Matlab]篇----回归分析Matlab命令(regress篇)

article/2025/9/26 3:12:50

[Matlab]篇—-回归分析Matlab命令(regress篇)

一、简介

最近在做回归分析方面的东西,网上查阅相关资料,通过实际调试,对调试结果进行总结。

回归分析法指利用数据统计原理,对大量统计数据进行数学处理,并确定因变量与某些自变量的相关关系,建立一个相关性较好的回归方程(函数表达式),并加以外推,用于预测今后的因变量的变化的分析方法。根据因变量和自变量的个数分为:一元回归分析和多元回归分析;根据因变量和自变量的函数表达式分为:线性回归分析和非线性回归分析。

分类:

1、根据因变量和自变量的个数来分类:一元回归分析和多元回归分析;

2、根据因变量和自变量的函数表达式来分类:线性回归分析和非线性回归分析。

主要解决的问题:

回归分析法主要解决的问题:

1、确定变量之间是否存在相关关系,若存在,则找出数学表达式;

2、根据一个或几个变量的值,预测或控制另一个或几个变量的值,且要估计这种控制或预测可以达到何种精确度。

回归分析法的步骤

回归分析法的步骤如下:

1、根据自变量与因变量的现有数据以及关系,初步设定回归方程;

2、求出合理的回归系数;

3、进行相关性检验,确定相关系数;

4、在符合相关性要求后,即可根据已得的回归方程与具体条件相结合,来确定事物的未来状况,并计算预测值的置信区间。

有效性和注意事项

有效性:用回归分析法进行预测首先要对各个自变量做出预测。若各个自变量可以由人工控制或易于预测,而且回归方程也较为符合实际,则应用回归预测是有效的,否则就很难应用;

注意事项:为使回归方程较能符合实际,首先应尽可能定性判断自变量的可能种类和个数,并在观察事物发展规律的基础上定性判断回归方程的可能类型;其次,力求掌握较充分的高质量统计数据,再运用统计方法,利用数学工具和相关软件从定量方面计算或改进定性判断。

二、regress命令

用于一元及多元线性回归,本质上是最小二乘法。在matlab命令行中输入help regress,即可得到命令相关信息:

regress - Multiple linear regressionThis MATLAB function returns a p-by-1 vector b of coefficient estimates for amultilinear regression of the responses in y on the predictors in X.b = regress(y,X)[b,bint] = regress(y,X)[b,bint,r] = regress(y,X)[b,bint,r,rint] = regress(y,X)[b,bint,r,rint,stats] = regress(y,X)[...] = regress(y,X,alpha)参数解释:
B:回归系数,是个向量(“the vector B of regression coefficients in the  linear model Y = X*B”)。
BINT:回归系数的区间估计(“a matrix BINT of 95% confidence intervals for B”)。
R:残差( “a vector R of residuals”)。
RINT:置信区间(“a matrix RINT of intervals that can be used to diagnose outliers”)。
STATS:用于检验回归模型的统计量。有4个数值:判定系数R^2,F统计量观测值,检验的p的值,误差方差的估计。
ALPHA:显著性水平(缺少时为默认值0.05)。

三、样例

目标函数:y=Ax1^2+Bx1^2+Cx1+Dx2+Ex1*x2+F (这是一个二次函数,两个变量,大写的字母是常数)

样例代码:

clc
clear
%目标函数:y=Ax1^2+Bx1^2+Cx1+Dx2+Ex1*x2+F  (这是一个二次函数,两个变量,大写的字母是常数)
%导入数据  
y=[7613.51  7850.91  8381.86  9142.81 10813.6 8631.43 8124.94 9429.79 10230.81 10163.61 9737.56 8561.06 7781.82 7110.97]';  
x1=[7666 7704 8148 8571 8679 7704 6471 5870 5289 3815 3335 2927 2758 2591]';  
x2=[16.22 16.85 17.93 17.28 17.23 17 19 18.22 16.3 13.37 11.62 10.36 9.83 9.25]';  
X=[ones(size(y)) x1.^2 x2.^2 x1 x2 x1.*x2];  
%开始分析  
[b,bint,r,rint,stats] = regress(y,X); 
scatter3(x1,x2,y,'filled') %scatter可用于画散点图

结果输出:

b =1.0e+04 *-1.3539354502677850.000000089381408-0.005811190715467-0.0006054277895450.479983626458515-0.000037869040292bint =1.0e+04 *-2.621944842897244  -0.0859260576383260.000000034253753   0.000000144509063-0.027588831662545   0.015966450231610-0.001309493882546   0.0000986383034550.119564693553895   0.840402559363136-0.000105954336341   0.000030216255756r =1.0e+02 *-4.397667358983981-2.361417286008691-1.434643909138104-5.9042039742794997.5117017738451435.570806699070745-2.4478613418164880.4946220574751356.376995507987686-6.7895207655345802.7443354846335751.578124015815665-0.803533566911919-0.137737336155578rint =1.0e+03 *-1.200286938109502   0.320753466312705-1.396750443678483   0.924466986476745-0.899861317279054   0.612932535451433-1.544523004301250   0.3636822094453510.127290215500605   1.375050139268424-0.505983092518450   1.620144432332599-1.145989115179227   0.656416846815929-0.952086756810051   1.051011168305078-0.372857973848901   1.648257075446438-1.420201937940137   0.062297784833221-0.889572649262705   1.438439746189421-1.057885008292926   1.373509811456059-1.241713948436468   1.081007235054084-0.992490338296236   0.964942871065120stats =1.0e+05 *0.000008444011951   0.000086828553270   0.000000043344434   3.162249735298973

b为对应的参数 b(1)为F(最后那个常数项) ,b(2)为A(第一个参数),b(3)为B,b(4)为C,b(4)为D,b(5)为E。bint为b的95%置信区间。 stats的第三个参数为F检测的P值,p值很小(P<0.001),说明拟合模型有效。

输出散点图:

这里写图片描述

对散点数据进行拟合,代码如下:

%拟合,三维视图显示  
hold on  %不要清楚计算数据,在刚刚那副散点图上接着画  
x1fit = min(x1):100:max(x1);   %设置x1的数据间隔  
x2fit = min(x2):1:max(x2);     %设置x2的数据间隔  
[X1FIT,X2FIT] = meshgrid(x1fit,x2fit);  %生成一个二维网格平面,也可以说生成X1FIT,X2FIT的坐标  
YFIT=b(1)+b(2)*X1FIT.^2+b(3)*X2FIT.^2+b(4)*X1FIT+b(5)*X2FIT+b(6)*X1FIT.*X2FIT;    %代入已经求得的参数,拟合函数式  
mesh(X1FIT,X2FIT,YFIT)    %X1FIT,X2FIT是网格坐标矩阵,YFIT是网格点上的高度矩阵  
view(10,10)  %改变角度观看已存在的三维图,第一个10表示方位角,第二个表示俯视角。  %方位角相当于球坐标中的经度,俯视角相当于球坐标中的纬度  
xlabel('x1') %设置X轴的名称  
ylabel('x2') %设置y轴的名称  
zlabel('y')  %设置z轴的名称

拟合效果图:

这里写图片描述

参考文献:
http://blog.csdn.net/guzhenping/article/details/43314333


http://chatgpt.dhexx.cn/article/esdeM7gO.shtml

相关文章

回归(Regression )

回归&#xff08;Regression &#xff09; 模型定义 Regression 就是找到一个函数 functionfunction &#xff0c;通过输入特征 x&#xff0c;输出一个数值 Scalar。 模型应用 股市预测&#xff08;Stock market forecast&#xff09; 输入&#xff1a;过去10年股票的变动、…

数学建模:回归分析——regress 函数

matlab中regress 函数 https://jingyan.baidu.com/article/ca41422f6777aa1eae99ed87.htmlhttps://jingyan.baidu.com/article/ca41422f6777aa1eae99ed87.html 结果 附录 1、数据文本&#xff1a;data1_1 0 68 110 121 23 111 100 37 66 110 12 169 50 46 87 117 16 155 25…

[matlab]多元线性回归-regress函数的用法

转载博客原址&#xff1a;https://blog.csdn.net/YinJianxiang/article/details/81464245 回归分析 回归分析 (英语&#xff1a;Regression Analysis) 是一种统计学上分析数据的方法&#xff0c;目的在于了解两个或多个变量间是否相关、相关方向与强度&#xff0c;并建立数学…

机器学习——regression

1 用线性回归找到最佳拟合直线 线性回归 优点&#xff1a;结果易于理解&#xff0c;计算上不复杂 缺点&#xff1a;对非线性的数据拟合不好 使用数据类型&#xff1a;数值型数据和标称型数据。 回归方程&#xff1a;是根据样本资料通过回归分析所得到的反映一个变量&#xff0…

回归问题(Regression)

Regression 前言Dependent vs. Explanatory VariablesHandle Numerical Labelssquared error和variance什么区别 Linear RegressionLinear Regression in 1 Dimension Least Squares &#xff08;最小二乘&#xff0c;重点&#xff09;Least Squares ObjectiveMinimizing a Dif…

Fama-Macbeth回归图形化:EAP.fama_macbeth.Fama_macbeth_regress.plot()

实证资产定价&#xff08;Empirical asset pricing&#xff09;已经发布于Github和Pypi. 包的具体用法(Documentation)博主将会陆续在CSDN中详细介绍&#xff0c;也可以通过Pypi直接查看。 Pypi: pip install --upgrade EAP HomePage&#xff1a; EAP Empirical Asset Prici…

[MATLAB]一元线性回归(regress参数检验说明)

今天学习了统计回归模型&#xff0c;统计回归模型是基于统计理论建立的最基本最常用的一类数据驱动模型。本篇博文主要围绕regress函数的参数进行讲解&#xff01; 一元线性回归模型的概念 这也要从一个女装公司讲起&#xff01; 问&#xff1a;请用函数关系描述身高与腿长的…

matlab中的regress函数总结

clc cleardataxlsread(ty_num.xlsx); %第三列是全区&#xff1b;第四列是偶极子data1xlsread(w_E.xlsx); %第一列是w&#xff0c;第二列是东%设置x的值&#xff0c;第1列全为1 x(:,2)data(:,1); x(:,1)1;ydata1(:,3); [b,bint,r,rint,stats]regress(y,x);b的值为系数&#xff0…

回归(regression)

1. 回归&#xff08;regression&#xff09; 1.1 起源与定义 回归最早是被高尔顿提出的。他通过研究发现&#xff1a;如果父母都比较高一些&#xff0c;那么生出的子女身高会低于父母的平均身高&#xff1b;反之&#xff0c;如果父母双亲都比较矮一些&#xff0c;那么生出的子…

STATA regress回归结果分析

对于STATA回归结果以前一直不清不楚&#xff0c;每次都需要baidu一波&#xff0c;因此今天将结果相关分析记录下&#xff1a; 如上图 上面左侧的表是用来计算下面数据的&#xff0c;分析过程中基本不会用到 右侧从上往下 1.Number of obs 是样本容量 2.F是模型的F检验值&a…

MATLAB regress命令

1 regress命令 用于一元及多元线性回归&#xff0c;本质上是最小二乘法。在Matlab 命令行窗口输入help regress &#xff0c;会弹出和regress的相关信息&#xff0c;一一整理。 调用格式&#xff1a; B regress(Y,X)[B,BINT] regress(Y,X)[B,BINT,R] regress(Y,X)[B,BINT,R…

MATLAB回归分析命令——regress命令

题目 假设向量y[7613.51 7850.91 8381.86 9142.81 10813.6 8631.43 8124.94 9429.79 10230.81 10163.61 9737.56 8561.06 7781.82 7110.97]; x1[7666 7704 8148 8571 8679 7704 6471 5870 5289 3815 3335 2927 2758 2591]; x2[16.22 16.85 17.93 17.28 17.23 17 19 18.22…

matlab中多元线性回归regress函数精确剖析(附实例代码)

matlab中多元线性回归regress函数精确剖析(附实例代码) 目录 前言 一、何为regress&#xff1f; 二、regress函数中的参数 三、实例分析 总结 前言 regress函数功能十分强大&#xff0c;它可以用来做多元线性回归分析&#xff0c;它不仅能得出线性回归函数中各个系数&#…

Ubuntu 下安装 Yar 扩展遇到的问题以及解决方案

本文为原创&#xff0c;转载请注明出处。 昨天在ubuntu上安装完yar之后发现yar还是不能用&#xff0c;感觉有些不对劲。 通过在微博上请教 Laruence 大神和公司的大大之后&#xff0c;问题解决了&#xff0c;下面就来分享这一成果。 如果还没有做好安装工作&#xff0c;请看…

最新yar扩展安装和使用

先说windows客户端的安装 yar扩展下载地址&#xff1a;https://pecl.php.net/package/yar 下载对应的版本 点击DLL可以查看支持的PHP版本,我本地是phpstudy搭建的环境,php版本是7.19.nts 所以我下载了7.1 Non Thread Safe (NTS) x64 解压后里面的php_yar.dll和php_yar.pdb文件…

yarn使用简介

yarn简介&#xff1a; yarn是facebook发布的一款取代npm的包管理工具。 yarn的特点&#xff1a; 速度超快。Yarn 缓存了每个下载过的包&#xff0c;所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率&#xff0c;因此安装速度更快。超级安全。 在执行代码之前…

yar安装使用

1.安装 pecl install yar vim /etc/php.ini 加上extensionyar.so 查看支持的配置&#xff1a; php --re yar - Dependencies { Dependency [ json (Required) ] } - INI { Entry [ yar.packager <PERDIR> ] //打包协议 Current php } …

phpstudy安装yar扩展

最近因为项目需要yar扩展&#xff0c;本地开发环境使用phpstudy搭建&#xff0c;yar不是phpstudy的常用扩展&#xff0c;无法在扩展列表里面找到&#xff0c;所以需要自己安装。 0x01 Yar(Yet Another RPC framework for PHP) 是一个轻量级, 高效的RPC框架, 它提供了一种简单…

Yarn基本介绍(一)

1、简介 Yarn是Hadoop的分布式资源调度平台&#xff0c;负责为集群的运算提供运算资源。如果把分布式计算和单个计算机对应的话&#xff0c;HDFS就相当于计算机的文件系统&#xff0c;Yarn就是计算机的操作系统&#xff0c;MapReduce就是计算机上的应用程序。 2、组成部分 Y…

使用yaf+yar实现基于http的rpc服务

什么是RPC RPC&#xff0c;全称是Remote Procedure Call&#xff0c;远程服务调用&#xff0c;是一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的协议。简单一点来理解就是网络上的一个节点请求另一个节点提供的服务。 什么是YAF Yaf&#x…