问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

数学建模——多元线性回归(MATLAB实现)

创作时间:
作者:
@小白创作中心

数学建模——多元线性回归(MATLAB实现)

引用
CSDN
1.
https://blog.csdn.net/weixin_74661667/article/details/137430098

多元线性回归是数据分析和建模中常用的一种方法,用于研究多个自变量与一个因变量之间的线性关系。本文将通过具体的MATLAB代码示例,详细介绍多元线性回归的实现方法,包括一般步骤、具体例题以及逐步回归的方法。

一、多元线性回归例题

在MATLAB中,多元线性回归可以使用regress函数来实现。下面通过一个具体的例题来说明其使用方法。

% 导入数据
data = [
1   5.5 31  10  8   79.3
2   2.5 55  8   6   200.1
3   8.0 67  12  9   163.2
4   3.0 50  7   16  200.1
5   3.0 38  8   15  146.0    
6	2.9	71	12	17	177.7
7	8.0	30	12	8	30.9
8	9.0	56	5	10	291.9
9	4.0	42	8	4	160.0
10	6.5	73	5	16	339.4
11	5.5	60	11	7	159.6
12	5.0	44	12	12	86.3
13	6.0	50	6	6	237.5
14	5.0	39	10	4	107.2
15	3.5	55	10	4	155.0
16	8.0	70	6	14	201.4
17	6.0	40	11	6	100.2
18	4.0	50	11	8	135.8
19	7.5	62	9	13	223.3
20	7.0	59	9	11	195.0
];

x1 = data(:,2); % 取出data的第二列
x2 = data(:,3);
x3 = data(:,4);
x4 = data(:,5);
y = data(:,6);
X = [ones(size(x1)), x1, x2, x3, x4];

[b, brint, r, rint, stats] = regress(y, X);

% R^2=0.9034,拟合效果较好
% F=35.05,由概率为0可知:F足够大,接受模型的风险概率为0
rcoplot(r, rint); % 绘制残差图,用于评估回归模型的拟合情况

二、多元线性之逐步回归

逐步回归是一种通过逐步增加或减少自变量来选择最优回归模型的方法。下面通过一个具体的例题来说明其使用方法。

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);

运行后会得到一个表格,通过观察F值的变化,可以发现X1和X2对Y的影响较大,而X3和X4对Y的影响不显著。因此,可以利用X1和X2建立回归方程,并作图。

X = [ones(13,1), x1, x2];
b = regress(y, X);

x1 = -10:0.1:10;
x2 = -10:0.1:10;
[X1, X2] = meshgrid(x1, x2);
Z = 52.5773 + 1.4683*X1 + 0.6623*X2;

figure;
surf(X1, X2, Z);
xlabel('X1');
ylabel('X2');
zlabel('z');
title('Z=52.5773+1.4683*X1+0.6623*X2');

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号