1曲线拟合问题摘要本文首先对给定数据根据不同要求进行多次直线拟合,分别求得使所拟直线预期值的偏差平方和、绝对偏差总和和最大偏差最小的三类拟合直线,然后再求得二次曲线条件下满足三类要求的二次拟合曲线,最后运用其他曲线对给定数据进行拟合,得到吻合度最高的曲线。针对问题一,构建线性回归方程,运用最小二乘法及lingo软件使得目标函数预期值的即拟合偏差平方和达到最小,从而得到拟合曲线^ 0.80310480.0123077iyx。针对问题二,构建给定数据的线性回归方程,使得目标函数即预期值的绝对偏差综合最小,但由于绝对偏差较难处理,采用转化的思想将对绝对偏差的求解转化为对偏差平方和开方的求解,从而得到拟合曲线^ 0.650.575iyx。针对问题三,构建给定数据的线性回归方程,运用lingo软件使得目标函数即预期值的最大偏差最小,从而得到拟合曲线^1.131.879iyx。针对问题四,构建给定数据的二次方程,运用lingo软件分别求得三类不同条件下的最优拟合曲线,偏差平方和达到最小:^210.097030110.1385341.425301iiyxx,绝对偏差总和达到最小:^210.041481480.27111111iiyxx,观测值与预测值最大偏差为最小:^210.025568180.76590910.6923295iiyxx。针对问题五,本文做出给定数据散点图,构建不同曲线类型进行拟合,得到2R即吻合度最高的曲线类型,运用Matlab软件求得该曲线类型的方程。本文的特色在于利用图标直观表达拟合曲线,增强文章可靠性及真实性,并构建不同的曲线类型,得到吻合度最高的拟合曲线。关键词:曲线拟合、线性回归、lingo21.问题的重述已知一个量y依赖于另一个量x,现收集有数据如下:x0.00.51.01.51.92.53.03.54.04.5y1.00.90.71.52.02.43.22.02.73.5x5.05.56.06.67.67.68.59.010.0y1.04.07.62.75.74.66.06.812.3(1)求拟合以上数据的直线abxy。目标为使y的各个观察值同按直线关系所预期的值的偏差平方和为最小。(2)求拟合以上数据的直线abxy,目标为使y的各个观察值同按直线关系所预期的值的绝对偏差总和为最小。(3)求拟合以上数据的直线,目标为使y的各个观察值同按直线关系所预期的值的最大偏差为最小。(4)求拟合以上数据的曲线abxcxy2,实现(1)(2)(3)三种目标。(5)试一试其它的曲线,可否找出最好的?2.模型假设(1)假设数据可靠,并且数据量足够充分来反映y与x的依赖关系;(2)假设原始数据精度较大,拟合求得的曲线足够精确;33.符号说明^y预测值y观测值观测值与预测值的差值4.问题一的分析与求解4.1问题的分析对于给定的点(,)iixy(1,2,)in…,假定x和y之间满足线性模型iiybxa,2~(0,)N,cov(,)0,(;,1,2)ijijn…,,据此,建立线性回归方程^iybxa,使得拟合偏差平方和2^22111nnniiiiiiiSyyybxa达到最小,即利用最小二乘法求解。4.2问题的求解将数据代入lingo软件(程序代码见附录1),约束条件为:2^211minnniiiiiiSyyybxa可解得:^ 0.80310480.0123077iyx,min 48.55993S4图15.问题二的分析与求解5.1问题的分析对于给定的点(,)iixy(1,2,)in…,假定x和y之间满足线性模型iiybxa,2~(0,)N,cov(,)0,(;,1,2)ijijn…,,据此,建立线性回归方程^iybxa,使得拟合绝对偏差总和^111nnniiiiiiiSyyybxa达到最小。但是,绝对值难以计算,因此,可将其看作2^22222111nnniiiiiiiSyyybxa。5.2问题的求解将数据代入lingo软件(程序代码见附录2),约束条件为:2^22211nniiiiiiSyyybxa可解得:^ 0.650.575iyx,min18.455S偏差平方和最小时的函数与数据散点图y=0.8031x-0.0123-202468101214024681012xy线性5绝对偏差总和最小时的函数与数据散点图y=0.65x+0.57502468101214024681012xyy=0.65x+0.575线性(y=0.65x+0.575)图26.问题三的分析与求解6.1问题的分析对于给定的点(,)iixy(1,2,)in…,假定x和y之间满足线性模型iiybxa,2~(0,)N,cov(,)0,(;,1,2)ijijn…,,据此,建立线性回归方程^iybxa,使y的各个观察值同按直线关系所预期的值的最大偏差为最小,即求各线性方程中^maxiiiSyyybxa达到最小时,对应的线性方程。6.2问题的求解将数据代入lingo软件(程序代码见附录3),约束条件为:^min(max)min(max)min(max)iiiSyyybxa可解得:^1.131.879iyx,min27ma9x.8S6图37.问题四的分析与求解7.1问题的分析该问题分析方法与上述三个问题相同,对于给定的点(,)iixy(1,2,)in…,假定x和y之间满足模型2iiiycxbxa,2~(0,)N,cov(,)0,(;,1,2)ijijn…,,据此,建立方程^2iiycxbxa,分别求2^22111nnniiiiiiiSyyybxa^111nnniiiiiiiSyyybxa使得^maxiiiSyyybxa达到最小。7.2问题的求解将数据代入lingo软件(程序代码见附录4),约束条件分别对应为:观测值与预测值最大偏差为最小时的函数与数据散点图y=1.13x-1.879-4-202468101214024681012xyy=1.13x-1.879线性(y=1.13x-1.879)7绝对偏差总和最小时的函数与数据散点图02468101214024681012xyy=0.04148148x^2+0.2711111x+1多项式(y=0.04148148x^2+0.2711111x+1)偏差平方和最小时的函数与数据散点图02468101214024681012xyy=0.09703011x^2-0.1385340x+1.425301多项式(y=0.09703011x^2-0.1385340x+1.425301)2^211minnniiiiiiSyyybxa2^22211nniiiiiiSyyybxa^min(max)min(max)min(max)iiiSyyybxa可解得:偏差平方和达到最小:^210.097030110.1385341.425301iiyxx,min 36.93492S图4绝对偏差总和达到最小:^210.041481480.27111111iiyxx,min17.4803S图5观测值与预测值最大偏差为最小:bxcyaed,minm2.a2x7764S8图68.问题五的分析与求解8.1问题的分析该问题分析方法主要是采用最小二乘法拟合函数图像,利用观测值与预测值的平方和达到最小,即2^22111nnniiiiiiiSyyybxa达到最小。采用最小二乘法进行参数估计时,2R表示回归平方和与总离差平方和的比值,这一比例越大越好,模型越精确,回归效果越显著。2R介于0~1之间,越接近1,回归拟合效果越好,一般认为超过0.8的模型拟合度比较高。8.2问题的求解将原始数据录入Matlab拟合工具箱,观察其散点图分布情况,发现指数函数、三次多项式和三角函数能够较好的反映散点分布,分别得拟合图像(图1、图2、图3)。90.3728-1.47111.0881.028xye图13220.02869-0.3271.4850.2639yxxx图23-0.1515sin0.79920.02906yxx图301234567891024681012xy01234567891024681012xy01234567891024681012xy10通过对R值的比较10.7927R,20.8088R,30.688R发现2R相较于其他来说最大,所以采用三次多项式作为目标函数。9.模型的优缺点分析与改进方向9.1优点:(1)本文首先画出所给数据散点图,然后运用图表直观表达拟合曲线,避免了只有函数方程,增强了本文的可读性和理解性。(2)本文在构建绝对偏差最小目标函数时,由于绝对偏差较难处理,采用转化的思想,将对绝对偏差的求解转化为对偏差平方和开方的求解,从而巧妙地解决这一难题,使得文章更加通俗易懂。(3)本文所用程序增加注释,增强了程序的可读性和规范性。9.2缺点:本文虽建立不同拟合曲线类型,但也仅限于有限的曲线类型,无法保证此曲线即是吻合度最高的曲线。9.3改进方向:针对模型特点,在此基础上,找到吻合度更高的拟合曲线类型,从而得到最优的拟合曲线。11参考文献[1]周鹏,许钢.基于LabVIEW的广义线性拟合在成本预测中的应用[J],安徽工程大学学报,2013,(3)[2]王礼想,刘利姣,黄光明.基于EM算法的线性拟合问题研究[J].廊坊师范学院学报,自然科学版,2013,(4)[3]狄晓敏,谢红薇.多疾病共同危险因素挖掘与MARS预测模型研究[J].电子学报,2009,(6)[4]郝海燕,郝春蕾,康荣雷等.我国普通高等学校生源规模预测及高职院校发展趋势分析.承德石油高等专科学校学报,2013,(4)12附录:1.第一问:model:sets:!定义集math,属性x,y,共1——19个成员数据;math/1..19/:x,y;endsetsdata:x=00.511.51.92.533.544.555.566.67.67.68.5910;y=10.90.71.522.43.222.73.5147.62.75.74.666.812.3;Enddata!约束条件;min=@sum(math:(a*x+b-y)^2);!解除变量a,b的非负限制;@free(a);@free(b);end2.第二问:model:sets:!定义集math,属性x,y,共1——19个成员数据;math/1..19/:x,y;endsetsdata:x=00.511.51.92.533.544.555.566.67.67.68.5910;y=10.90.71.522.43.222.73.5147.62.75.74.666.812.3;Enddata!约束条件;min=@sum(math(i):((y(i)-z(i))^2)^(1/2));@for(math(i):z(i)=a*x(i)+b);!解除变量a,b的非负限制;@free(a);@free(b);end3.第三问model:sets:!定义集math,属性x,y,共1——19个成员数据;math/1..19/:x,y;endsetsdata:x=1300.511.51.92.533.544.555.566.67.67.68.5910;y=10.90.71.522.43.222.73.5147.62.75.74.666.812.3;Enddata!约束条件;min=@max(math:@abs(a*x+b-y));!解除变量a,b的非负限制;@free(a);@free(b);End4.第四问4.1model:sets:!定义集math,属性x,y,共1——1