数学建模——多元线性回归 /多元线性拟合

 

clear all
clc
 
%绘图
x=1:10;
y=[2650,1942,1493,1086,766,539,485,291,224,202];
z=zeros(size(y));
N=length(y);
hold on
for i =1:N
    z(i)=log(y(i));
    plot(x(i),z(i),'ok');
end
 
%命名x轴和y轴
xlabel('x');
ylabel('y');

        经过分析:各点基本处于一条直线附近,可以认为z=a+bx+c
既然已经确定好了函数类型,就可以求解参数具体值。
 代码:

clear all
clc
 
x=1:10;
y=[2650,1942,1493,1086,766,539,485,291,224,202];
z=zeros(size(y));
N=length(y);
for i =1:N
    z(i)=log(y(i));
end
[p,s]=polyfit(x,z,1)
function [ b, bint, r, rint, stats ] = Multiple_linear_regression( X,y,alpha )
%Multiple_linear_regression 多元线性回归
%对于输入数据(必须是去除量纲之后的数据)进行多元线性回归处理
% 输入变量
%   X:由自变量组成的矩阵(第一列必须全为1)
%   y:因变量(列向量)
%   alpha:显著性水平(缺省时默认为0.05)
%   若X中两个原本全为变量,需第一列加上1,作为最后常数项的系数预测
% 输出变量
%   b为线性回归模型Y = X*B回归系数(即斜率参数)第一个是常数项系数
%   bint为b的置信区间(按行显示)
%   r为残差(实际值与拟合值的差)
%   rint为残差的置信区间
%   stats包含如下四个统计量
%       R^2统计量(越接近1,变量的线性相关性越强,说明模型有效)
%       F统计量
%       F(1,n-2)分布大于F的概率p值(显著性水平,判断原始假设是否正确的重要证据)
%       剩余方差s^2(主要用来比较模型是否有改进,越小则模型精度越高)
X = [ones(size(y)),X];
[b, bint, r, rint, stats] = regress(y,X,alpha);
if stats(3)<0.01
    disp('F(1,n-2)分布大于F的概率p值为:');
    disp( stats(3) );
    disp('p值很小(P<0.001),说明拟合模型有效');
else
    disp('p值较大(P>0.001),说明拟合模型效果不好');
end
%% 画出拟合效果图
figure
y_fitting = X*b;
t = 1:length(y);
plot(t,y_fitting,'r-',t,y,'b-',t,abs(y_fitting-y),'k-');
legend({'红——拟合值','蓝——实际值','黑——误差值'},'fontsize',12,'Location','NorthWest');
xlabel('点的序号','fontsize',12);
ylabel('y对应的值','fontsize',12);
set(gca, 'XGrid','on'); % X轴的网格
set(gca, 'YGrid','on'); % Y轴的网格
end

多元线性回归模型是一种用于建立多个自变量与一个因变量之间关系的统计模型。在MATLAB中,可以使用最小二乘法来拟合多元线性回归模型。最小二乘法是一种常用的回归分析方法,它通过最小化观测值与模型预测值之间的残差平方和来确定模型的参数。 在MATLAB中,可以使用`fitlm`函数来进行多元线性回归分析。该函数可以根据给定的自变量和因变量数据,拟合出最优的回归模型。具体的步骤如下: 1. 准备数据:将自变量和因变量的数据整理成矩阵形式,其中每一列代表一个自变量,最后一列代表因变量。 2. 创建回归模型:使用`fitlm`函数创建回归模型,指定自变量和因变量的矩阵。 3. 拟合回归模型:使用`fit`方法对回归模型进行拟合,得到最优的模型参数。 4. 分析回归结果:使用`coefTest`方法对模型的系数进行显著性检验,使用`anova`方法对整体模型进行方差分析。 5. 预测新数据:使用`predict`方法可以根据已有的回归模型对新的自变量数据进行预测。 关于MATLAB中多元线性回归模型的更详细使用方法,可以参考引用\[1\]和引用\[2\]中的文章。 #### 引用[.reference_title] - *1* *2* *3* [数学建模——多元线性回归 /多元线性拟合 (工具:matlab)](https://blog.csdn.net/Wang_Dou_Dou_/article/details/119949764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值