MATLAB一元线性回归

实际问题引入:社会商品销售总额与职工工资总额,建立其回归模型
不妨设x为职工工资总额,y为商品销售总额,建立x—y模型

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(职工工资总额)','fontsize',12)
ylabel('y(商品零售总额)','fontsize',12)
set(gca,'linewidth',2)
%采用最小二乘拟合
Lxx=sum((x-mean(x)).^2)
Lxy=sum((x-mean(x)).*(y-mean(y)));
b1=Lxy/Lxx;
b0=mean(y)-b1*mean(x);
y1=b1*x+b0;
hold on
plot(x,y1,'linewidth',2);
m2=LinearModel.fit(x,y)%函数进行线性回归

MATLAB一元线性回归_第1张图片

方法二:regress函数进行回归
Y=y';
X=[ones(size(x,2),1),x'];
[b,bint,r,rint,s]=regress(Y,X)
%matlab给出的答案
b =
-23.5493
    2.7991
    就是说y= 2.7991x-23.5493

参考自MATLAB常用的数据建模方法

你可能感兴趣的:(Matlab)