matlab重复线性回归,(MATLAB)一元线性回归和多元线性回归

(MATLAB)一元线性回归和多元线性回归

(MATLAB)一元线性回归和多元线性回归

(MATLAB)一元线性回归和多元线性回归1.一元线性回归

2.多元线性回归2.1数据说明

2.2程序运行结果

1.一元线性回归

直接看代码,目标是建立yyy和xxx的函数关系,即求y=kx+by=kx+by=kx+b中的kkk和bbb,kkk和bbb都是实数。

% 用regress函数进行回归

x=[23.80,27.60,31.60,32.40,33.70,34.90,43.20,52.80,63.80,73.40];

y=[41.4,51.8,61.70,67.90,68.70,77.50,95.90,137.40,155.0,175.0];

figure

plot(x,y,'r*') %作散点图(制定横纵坐标)

xlabel('x')

ylabel('y')

Y=y';

X=[ones(size(x,2),1),x'];

[b,bint,r,rint,s]=regress(Y,X);

hold on

plot(x,b(1)+b(2)*x)

title("预测结果")

figure

rcoplot(r,rint) % 残差分析

输出结果b就是系数矩阵,本题b=[-23.5493,2.791],则预测结果为y = -23.5493+2.7991x

4a46ebf32414702aee75fb55803b26f0.png

预测结果与散点图如下:

e621e65a05ab7337e3a82173ba4bdb80.png

残差分析图如下,可以看出只有一个异常点,拟合效果不错。

d5cf7f75d4d2a7b50ce46776372c71fd.png

2.多元线性回归

[var1]

部分data数据如下图所示:

796fd9559ce7c0845b31c36dd35958f8.png

导入MATLAB中,数据是一个200行4列的矩阵,此处表示有3个变量x1,x2,x3x_1,x_2,x_3x1?,x2?,x3?,每个变量有200条数据,最后一列数据表示yyy,多元线性回归的目标是建立yyy和x1,x2,x3x_1,x_2,x_3x1?,x2?,x3?之间的关系,即求k0,k1,k2,k3k_0,k_1,k_2,k_3k0?,k1?,k2?,k3?,使得y=k0+k1x1+k2x2+k3x3y=k_0+k_1x_1+k_2x_2+k_3x_3y=k0?+k1?x1?+k2?x2?+k3?x3?。

% 多元线性回归

a = load('data.txt');

x1=a(:,[1]) ;

x2=a(:,[2]) ;

x3=a(:,[3]) ;

y=a(:,[4]);

X=[ones(length(y),1), x1,x2,x3];

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

b

rcoplot(r,rint)

[var1]

b的求解结果如下,所以求出y=2.9389+0.0458x1+0.1885x2?0.001x3y=2.9389+0.0458x_1+0.1885x_2-0.001x_3y=2.9389+0.0458x1?+0.1885x2??0.001x3?

dd76ffd3230ab21bfd7ab45720112e2b.png

残差分析如下:

44d025c0946600fbec2110226aab91f5.png

(MATLAB)一元线性回归和多元线性回归相关教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值