1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > (MATLAB)一元线性回归和多元线性回归

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

时间:2021-05-27 03:39:08

相关推荐

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

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

1.一元线性回归2.多元线性回归2.1数据说明2.2程序运行结果

1.一元线性回归

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

% 用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];figureplot(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 onplot(x,b(1)+b(2)*x)title("预测结果")figurercoplot(r,rint) % 残差分析

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

预测结果与散点图如下:

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

2.多元线性回归

2.1数据说明

部分data数据如下图所示:

导入MATLAB中,数据是一个200行4列的矩阵,此处表示有3个变量 x 1 , x 2 , x 3 x_1,x_2,x_3 x1​,x2​,x3​,每个变量有200条数据,最后一列数据表示 y y y,多元线性回归的目标是建立 y y y和 x 1 , x 2 , x 3 x_1,x_2,x_3 x1​,x2​,x3​之间的关系,即求 k 0 , k 1 , k 2 , k 3 k_0,k_1,k_2,k_3 k0​,k1​,k2​,k3​,使得 y = k 0 + k 1 x 1 + k 2 x 2 + k 3 x 3 y=k_0+k_1x_1+k_2x_2+k_3x_3 y=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);brcoplot(r,rint)

2.2程序运行结果

b的求解结果如下,所以求出 y = 2.9389 + 0.0458 x 1 + 0.1885 x 2 − 0.001 x 3 y=2.9389+0.0458x_1+0.1885x_2-0.001x_3 y=2.9389+0.0458x1​+0.1885x2​−0.001x3​

残差分析如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。