统计回归拟合方程参数

时间:2022-07-26
本文章向大家介绍统计回归拟合方程参数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一直以来过冷水都有给大家分享图像拟合的知识、从泰勒级数说傅里叶级数、Matlab多项式拟合初探,本期过冷水给大家讲讲统计回归做拟合。

对平面上n个点:(x1,y1)、(x2,y2)、......(xn,yn),在平面上寻找一条直线y=a0+b0,使得散点到与散点相对应的在直线上的点之间的纵坐标的误差的平方和最小,用微积分可得;

参考的程序案例:

x=[0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.2 0.21 0.23];
y=[42 43.5 45 45.5 45 47.5 49 53 50 55 55 60];
n=length(x);
xb=mean(x);yb=mean(y);
x2b=sum(x.^2)/n;
xyb=x*y'/n;
b=(xb*yb-xyb)/(xb^2-x2b);
a=yb-b*xb;
y1=a+b.*x;
plot(x,y,'*',x,y1);
legend('y=a+bx','(x,y)')

figure1 = figure;
axes1 = axes('Parent',figure1);
hold(axes1,'on');
plot1 = plot([x' x'],[y',y1']);
set(plot1(1),'DisplayName','$y=a+bx$','MarkerFaceColor',[0 0.447058826684952 0.74117648601532],'MarkerSize',8,'Marker','*','LineWidth',25,'LineStyle','none');
set(plot1(2),'DisplayName','$(x,y)$','LineWidth',2);
ylabel('$y$','FontSize',16,'Interpreter','latex');
xlabel('$x$','FontSize',16,'Interpreter','latex');
title('统计回归');
box(axes1,'on');
hold(axes1,'off');
legend1 = legend(axes1,'show');
set(legend1,'Position',[0.165946844693115 0.810000000000001 0.151583475042277 0.085555555555558],'Interpreter','latex','FontSize',14);

本期想要和大家分享的就这么多,既然可以得到线性回归的参数,自然非线性的回归参数自然可以得到,在下次的非线性回归的推文中我们不见不散。