资源描述:
《线性拟合--最小二乘法.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、线性拟合---最小二乘法2012-08-23duyunfu最小二乘法是求矛盾方程组的一般方法。今有实验数据:(共有N=5组数据)序号01234Xi12345Yi1.51.843.45.7假设y=ax+b,求a,b=?及相关系数r=?构造模型函数:N−12N−12(计算实验)()Q=∑yi−yi=∑a*Xi+b−Yii=0i=0能使Q取最小值的a,b就是我们所要求的结果。如果∂Q∂Q=0,=0∂a∂b则:Q有极值。但它是极大值,还是极小值呢?极小值表示,我们求得的直线离我们的实验点的距离最近,极大值代表我们求得的直线离我们的实验点的距离最远。由于后法是不存在的,(山外有山,只有更
2、远,没有最远),所以满足上述条件的一定是最优的直线。N−1∂Q=2∑[(a*Xi+b−Yi)*Xi]=0∂ai=0N−1∂Q[()]=2∑a*Xi+b−Yi=0∂bi=0即:N−1N−1N−12a∑Xi+b∑Xi=∑YiXi...............(1)i=0i=0i=0N−1N−1N−1a∑Xi+b∑1=∑Yi......................(2)i=0i=0i=0即:N−1N−1N−12a∑Xi+b∑Xi=∑YiXi...................(3)i=0i=0i=0N−1N−1a∑Xi+Nb=∑Yi..................
3、....(4)i=0i=0N−1∑Xi(4)×i=0−(3)得:NN−1N−1N−1∑XiN−1n∑XiN−1a(∑X×i=0−∑X2)=∑Y.i=0−∑YX......................(5)iiiiii=0Ni=0i=0Ni=0N−1N−1∑Yi.×∑XiN−1i=0i=0−∑YiXi.Ni=0a=N−1N−1∑X×∑XiiN−1∴i=0i=0−∑X2iNi=0N−1N−1∑Y−a∑Xiii=0i=0b=N式中a=斜率b=截距统计学上,为了评估实验数据x与y的线性相关性,定义相关系数:N−1N−1∑Yi.×∑XiN−1i=0i=0
4、−∑YiXi.Ni=0r=N−1N−1N−1N−1N−1∑Xi×∑XiN−1∑Yi×∑Yi2i=0i=02i=0i=0∑Xi−×∑Yi−i=0Ni=0N当r=0时,x与y完全线性无关,当r=1时,x与y完全线性相关。实验代码:文件linear.m%线性拟合2012-08-23clearx=1:5;y=[1.51.843.45.7];y1=double(zeros(length(x)));%调用线性拟合函数求a,b,r(相关系数)[a,b,r]=linear_fit(x,y);fori=1:length(x)y1(i)=a*x(i)+b;e
5、ndplot(x,y,'r.-',x,y1,'b.-');axis([1,6,1,6]);legend('原始','拟合后','Location','Best');s=sprintf('a=%fb=%fr=%f',a,b,r);text(2,5,s);gridon;函数文件linear_fit.mfunction[a,b,r]=linear_fit(x,y)%线性拟合:最小二乘法%输入:x数据点的横坐标向量%y数据点的纵坐标向量%输出:a拟合的一次项系数,斜率%b拟合的常数项,截距%c拟合直线与原曲线的相关系数if(length(x)==length(y))N=leng
6、th(x);elsedisp('x和y的维数不等!');return;end%AX=BX=AB=A逆叉陈B,X=[ab]'A=double(zeros(2,2));A(2,2)=N;B=double(zeros(2,1));syy=double(0);fori=1:NA(1,1)=A(1,1)+x(i)*x(i);A(1,2)=A(1,2)+x(i);B(1,1)=B(1,1)+x(i)*y(i);B(2,1)=B(2,1)+y(i);syy=syy+y(i)*y(i);endA(2,1)=A(1,2);X=AB;a=X(1);b=X(2);r=double(abs(A(1
7、,2)*B(2,1)/N-B(1,1)));t=sqrt((A(1,1)-A(1,2)*A(1,2)/N)*(syy-B(2,1)*B(2,1)/N));r=r/t;实验结果