前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >统计回归拟合方程参数

统计回归拟合方程参数

作者头像
巴山学长
发布2020-09-29 10:47:14
4050
发布2020-09-29 10:47:14
举报
文章被收录于专栏:巴山学长巴山学长

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

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

参考的程序案例:

代码语言:javascript
复制
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);

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巴山学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档