当前位置:文档之家› 2013届09信本马京的毕业论文修改1

2013届09信本马京的毕业论文修改1

本科毕业论文(设计)

题目最小二乘法在数据处理中的应用

院(系)数学系

专业信息与计算科学

学生姓名马京

学号 09021029

指导教师刘相国、吴帮昆职称助教、副教授

论文字数

完成日期: 年月日

巢湖学院本科毕业论文(设计)诚信承诺书

本人郑重声明:所呈交的本科毕业论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。

本人签名:日期:

巢湖学院本科毕业论文 (设计)使用授权说明

本人完全了解巢湖学院有关收集、保留和使用毕业论文 (设计)的规定,即:本科生在校期间进行毕业论文(设计)工作的知识产权单位属巢湖学院。学校根据需要,有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业论文 (设计)被查阅和借阅;学校可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业,并且本人电子文档和纸质论文的内容相一致。

保密的毕业论文(设计)在解密后遵守此规定。

本人签名:日期:

导师签名:日期:

巢湖学院2013届本科毕业论文(设计)

最小二乘法在数据处理中的应用

摘要

本文针对数据处理中所存在的各类问题,介绍了用最小二乘法的方法来解决复杂的数据处理问题。并从最小二乘法出发,介绍了最小二乘法以及最小二乘法的原理,同时又介绍了对各类数据进行最小二乘的曲线拟合的方法,包括:一元线性拟合、多元线性拟合、多项式拟合,以及用Matlab软件来实现的过程。并,

关键词:最小二乘法;MATLAB;曲线拟合;线性拟合。

最小二乘法在数据处理中的应用

Application of Least Square Method in Data

Processing

Abstract

In this paper, the various problems that exist in the data processing, using the method of least squares method to solve complex data processing problems. And from the least-squares method, the sources and the least square method of least squares method, while the method of least squares curve fitting all types of data, including: a linear fitting, multiple linear fitting , polynomial fitting, as well as the Matlab software process. And further illustrated by several examples.

Key Words:least square method, MATLAB, curve fitting,linear fitting.

巢湖学院2013届本科毕业论文(设计)

目录

摘要 ........................................................................................................................................... I Application of Least Square Method in Data Processing ................................................................. II Abstract ............................................................................................................................................. II 引言 (3)

1.最小二乘法介绍 (4)

1.1最小二乘法原理 (4)

2.最小二乘法的曲线拟合 (5)

2.1一元线性拟和 (5)

2.1.1实例 (6)

2.2多元线性拟合 (7)

2.2.1 实例 (8)

表2 (8)

2.3多项式拟合 (10)

2.3.1 实例 (11)

3.MATLAB软件在曲线拟合中的应用 (12)

3.1 MA TLAB软件介绍 (13)

3.2最小二乘法的Matlab实现 (13)

3.3 MA TLAB的曲线拟合 (14)

结束语 (14)

最小二乘法这种方法在很早就有了,而且由于它的精确性高而被广泛应用,以上结果可以看到用最小二乘拟合来求解问题时有时候他的结果很接近实际情况,有时候跟实际情况里的太远,因为所求得多项式次数太小时数据点之间差别很大,次数最大是误差最小但是有

最小二乘法在数据处理中的应用

时后不符合实际情况,所以用最小二乘法时次数要取合适一点。从上面的拟合中也可以得到多项式拟合误差平方和随着拟合多项式次数的增加而逐渐减小,拟合的曲线更靠近实际数据。拟合更准确。本文介绍最小二乘曲线拟合法的基本原理"就其DEA8EF的实现方法进行研究"给出曲线拟合DEA8EF实现的源程序"并进行仿真测试!采用DEA8EF对实验数据进行处理"能够快捷的得到图文并茂的比较令人满意的处理结果!在许多工程分析和科学研究中"DEA8EF软件正起着越来越重要的作用!可以预见"DEA8EF软件在工程界将获得日益广泛的应用"必将使他成为工程人员必备的工具! (14)

参考文献 (16)

附件 (17)

IV

巢湖学院2013届本科毕业论文(设计)

引言

在如今由于计算机的普及,以及信息化程度的提高,最小二乘法也在许多领域被广泛应用,而在数据处理中的应用则更为普及,尤其在实际的工程或者实验中,误差处理和数据的统计是一项必备的过程,处理误差和数据统计的结果与否关系到这项工程最后的结果是否达到预计的要求,所测量数据的实际值和理论值是否接近,关系到工程最后质量的好坏。恰当地处理测量的数据,给出正确的数据处理结果,对所得数据的可靠性做出正确的评价和这是实际测量中一个重要的环节和指标。

在测量中,数据存在误差是不可避免的,怎么样才能够有效的对数据进行适当的处理是关系到最后工程结果的验收。所以数据处理的作用尤为关键。在当前工程和实验领域所用的主要数据处理方法有:(1) 列表法;(2) 作图法;(3) 逐差法;(4) 最小二乘法。以上列举的方法中,最小二乘法也因其在数据处理过程中,误差最小,精确性最好而被广泛应用。

应用最小二乘法的就是可以利用计算机编程的形式处理海量的数据,不需要人工计算,所得到的结果更加精确。当然最小二乘法也存在着一定的缺点,用起来比较麻烦,且不能得到无理数根的这种确定解。

本文针对最小二乘法在数据处理中的应用,用最小二乘法处理数据,并通过曲线拟合,以及Matlab软件来对得到的数据进行处理。第一章将介绍最小二乘法的定义及原理,第二章将介绍最小二乘法的曲线拟合,并通过几个具体的实例中的实验数据的拟合来进一步说明,第三章则介绍了Matlab在曲线拟合中的应用。

3

最小二乘法在数据处理中的应用

4

1. 最小二乘法介绍

1.1最小二乘法原理

最小二乘法[1]是一种数学的优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。

在函数的最佳平方逼近中 ()[,]f x C a b ∈,如果()f x 只在一组离散点集{,i x i 0,1,,m =???}上给出,这就是科学实验中经常见到的实验数据{}(,)0,1,,i i x y i m =???的曲线拟合,这里 ()i i y f x =(0,1,,)i m =??? ,要求一个函数y =*()S x 与所给数据{}(,),0,1,,i i x y i m =???拟合,若计误差

设 01(),(),,()n x x x ??????是[,]C a b 上线性无关函数族,在

中找一函数()*S x ,使误差平方和

这里

这就是一般的最小二乘逼近,用几何语言说,就称为曲线拟合的最小二乘法。 ()()22*222()000[]min [],m m m i i i S x i i i S x y S x y ?δδ∈=====-=-∑∑∑000000()()()()().S x a x a x a x n m δδδ=++???+<()*01(0,1,,),(,,,)T

i i m S x y i m δδδδδ=-=???=???01{(),(),,()}n span x x x ????=???

2. 最小二乘法的曲线拟合

2.1一元线性拟和

设变量y 与x 的关系是线性的,有

假设现在有n 对实验数据:

我们来求解未知量01,a a .

解: 根据最小二乘法的原理,在求未知量01,a a 时要使得

的值是极小值。由极小值的求解方法, 未知量0a 1a 应存在如下关系

从中解得01,a a 即

其中

2

01011

(,)()n

i i i s a a y a a x ==--∑0110

0111

2()0

2()0

m

i i i m

i i i

i s

y a a x a s y a a x x a ==??=---=??????=---=???∑∑10112011

111m m i i i i m m m

i i i i i i i a a x y m m a

x a x x y =====?

+=????+=??∑∑∑∑∑221110

1()/()m m i i i i i a x y mxy x mx a y a x

==?=--???=-?∑∑01y a a x =+{}

(,)0,1,,i i x y i n =???

线性相关系数/xy R l =其中

这里的R 是用于测量数据点的线性相关情况的系数

上面具体的介绍了最小二乘法的一元线性拟合的数学原理,下面给出最小二乘法的一元线性拟合的一个实例,并用Matlab 软件来实现。

2.1.1实例

通过实验得到了一个数据表,请用最小二乘法的一元线性拟合求出它的一元拟合曲线。

表2-1

下面我们通过Matlab 软件对上述数据进行最小二乘拟合 1.Matlab 程序代码如下:

x=[0.0,0.1,0.2,0.3,0.5,0.8,1.0]; y=[1.0,0.51,0.61,0.80,0.91,2.05,2.55]; p=polyfit(x,y,1); x1=0.0:0.05:1.0; y1=polyval(p,x1); plot(x,y,'*r',x1,y1,'-g')

2.计算结果为: p =1.8895 0.4215

即所得多项式为y=1.8895x+0.4215

11

11,m m i i

i i x x y y m m ====∑∑2

2

22

1

1

1

,,m m m

xy i i xx i

yy i i i i l x y mxy l x mx l y my ====-=-=-∑∑∑

2

2

0101

1

1

(,,)()()m m n

n i i j ij i i j s a a a y y y a a x ===???=-=--∑∑∑011001111

0111

2()02()0.................................

2()0m n i j ij i j m n i j ij i i j m n i j ij in i j s y a a x a s y a a x x a s y a a x x a

======??=---=?????=---=?

????

??=---=???∑∑∑∑∑∑

2.2多元线性拟合

假设y 与n 个变量x 之间的关系是线性相关的,且有

(2.1)

如果变量j x 经过第i 次的测量之后的结果为ij x ,此时的函数的值为

(1,2,,)i y i m =???则偏差平方和为

(2.2.2)

为使s 取到极小值,得方程组为:

(2.2.3) 01

n

j j

j y a a x ==+∑

011101

111,1,2,,.()n m m

ij j i j i i m

n m m

ik ij ik j ik i j j i i ma x a y k n x a x x a x y =======???

+=? ????

=???????+= ?????∑∑∑∑∑∑∑ 即:

(2.2.4)

将题中的实验数据 (,)ij i x y 代入上述的方程组以后,就得到01,,

,n a a a 的值。

下面我们再举一个有关多元线性拟合的例子,来进一步了解最小二乘法的曲线拟合。

2.2.1 数值实例

在水泥的凝固过程中会放出热量,设热量为y ,又测得其与水泥中的四种化学物质1234,,,x x x x 线性相关,测出的一组相关实验数据,如下表,试确定多元线性模型。

下面我们通过Matlab 软件对上述数据进行最小二乘拟合 1.Matlab 程序代码如下:

x1=[7,1,11,11,7,11,3,1,2,21,1,11,10];

x2=[26,29,56,31,52,55,71,31,54,47,40,66,68]; x3=[6,15,8,8,6,9,17,22,18,4,23,9,8]; x4 =[60,52,20,47,33,22,6,44,22,26,34,12,12];

y=[78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5,93.1,115.9,83.8,113.3,109.4]; X=[ones(length(y),1),x1',x2',x3',x4']; Y=y';

[b,bint,r,rint,stats]=regress(Y,X); b;bint;stats;

z=b(1)+b(2)*x1+b(3)*x2+b(4)*x3+b(5)*x4; plot(X,Y,'b*',X,z,'r') 2.数值结果如下:

b=62.4054 1.5511 0.5102 0.1019 -0.1441

所以回归模型为:

y=62.4054+ 1.55111x + 0.51022x +0.10193x - 0.14414x 多元线性拟合结果如图:

10

20

30

40

50

60

70

80

707580859095100105110115

120图2

注:上图中蓝色五角星代表原始数据,红色线代表多元线性拟合结果。

00111111()n m m m n m m ij j i ik ij ik j ik i j i i i j j i i ma x a y x a x x a x y =======????

+=+= ? ?????

∑∑∑∑∑∑∑011(0,1,2,,);n m m j k i j ik i j i i x a x y k n +===??

==??? ???

∑∑∑0120012311123422

212

n i i i i i i n i i i i i i n i i i i i i n n n n m n i i i i i i n a x x x x x y a x x x x x y a x x x x x y x x x x x y a +++++??????????

??????????????????

????????????????

?

???

??????????????????????????

?

?

?

?

∑∑∑∑∑∑∑∑∑∑=∑∑∑∑∑∑∑∑∑

2.3多项式拟合

对于一些n 次多项式

(2.3.1)

令(0,1,2,,),j j x x j n ==???则可转化为线性的

(2.3.2)

这是把曲线拟合成直线,对于这 1,2,,i m =???个实验点有j ij i x x =,

把这些实验点代入下面的多元线性拟合的方程:

(2.3.3)

由此可以得出此多项式的最小二乘的多项式拟合的标准方程为:

(2.3.4)

矩阵形式:

(2.3.5)

在上面的式子中∑代指

1

m

i =∑

,此式是包含1n +个参数01,,,n a a a 的成线性的和有

1n +个方程的方程组,对于这一类的方程组可以用高斯迭代法来求这些未知参数,

得出回归方程。在这里也可以用Matlab 软件实现。

n

j

j j y a x

==∑01

n

j j

j y a a x ==+∑

在我们系统的阐述了最小二乘法的多项式拟合后,下面就最小二乘法的多项式拟合在实际中的应用举一个例子,并用Matlab软件求解,并分析结果。

2.3.1 实例

下面给定的是乌鲁木齐最近1个月早晨7:00左右(新疆时间)的天气预报所得到的温度数据表,按照数据找出任意次曲线拟合方程和它的图像。

下面我们通过Matlab软件对上述数据进行最小二乘拟合

1.Matlab程序代码如下:

x=[1:1:30];

y=[9,10,11,12,13,14,13,12,11,9,10,11,12,13,14,12,11,10,9,8,7,8,9,11,9,7,6,5,3,1];

a1=polyfit(x,y,3);

a2= polyfit(x,y,9);

a3= polyfit(x,y,15);

b1= polyval(a1,x);

b2= polyval(a2,x);

b3= polyval(a3,x);

r1= sum((y-b1).^2);

r2= sum((y-b2).^2);

r3= sum((y-b3).^2);

plot(x,y,'b:p')

hold on

plot(x,b1, 'r')

hold on

plot(x,b2, 'g')

hold on

plot(x,b3, 'b:o')

2.数值结果:

不同次数多项式拟和误差平方和为:

r1 = 67.6659 r2 = 20.1060 r3 = 3.7952

r1、r2、r3分别表示3次、9次、15次多项式误差平方和。 拟和曲线如下图:

注:上图中蓝色五角星代表原始数据,红色曲线代表3次多项式拟合曲线,绿色曲线代表9次多项式拟合曲线,蓝色o 线代表15次多项式拟合曲线。 3.结果图分析:

从上面这个图可以看出拟合多项式的次数越高,拟合的曲线就越接近实际数据,结果就越准确,而从红色曲线可以看出拟合多项式的次数太小,则拟合的曲线跟实际数据相差很大,所以在用最小二乘拟合时次数要选合适,这样才能使结果更加准确。

3. MATLAB 软件在曲线拟合中的应用

51015202530

图3

3.1 MATLAB软件介绍

众所周知,现如今的编程语言有多种,而可以用来实现曲线拟合的编程语言有C语言等几种,但是它们需要编写非常繁杂的算法程序来实现,对一般的技术人员而言,是耗时又费力的任务,而MATLAB语言作为一款具有各种强大功能的科学计算软件,在各个领域得到了广泛的应用,它适用于工程应用各领域的分析,数据处理和各种复杂计算,而且MATLAB软件用起来很方便,对使用者的要求不高,所以MATLAB软件由于其非常强的实用性而被广泛应用。

3.2最小二乘法的Matlab实现

介于最小二乘法的问题计算起来比较麻烦,我们往往借助于计算机来解决问题,在这里我们介绍一下怎么用Matlab来求解,也就是实现的过程:

(1)一次函数使用polyfit(x,y,1)

(2)多项式函数使用 polyfit(x,y,n),n为次数

如拟合曲线

x=[1,2,3,4,5],

y=[4,4.5,6,8,8.5]。

解:MATLAB程序如下:

x=[1,2,3,4,5];

y=[4,4.5,6,8,8.5];

p=polyfit(x,y,3);

x1=1:0.05:5;

y1=polyval(p,x1);

plot(x,y,'*b',x1,y1,'-r')

计算结果为:

p = [-0.2083,1.9107,-3.8810,6.2000]

即所得多项式为y=-0.2083x^3+1.9107x^2-3.8810x+6.2000

所得结果如下图:

注:上图中蓝色星号代表原始数据,红色曲线代表3次多项式拟合曲线

3.3 MATLAB 的曲线拟合

MATLAB 可以用于曲线拟合,它有用于曲线拟合的内建函数。MathWorks 公式也提供了很多工具箱可以用于曲线拟合。这些方法可以用来做线性或者非线性曲线拟合。通常是通过Matlab 最优化工具箱里面的lsqcurvefit()函数来实现,并且以此指令来解决最小二乘曲线拟合问题。该函数的调用格式为:

其中:0a 是最优化初值;,x y 为原始输入数据。调用该函数时返回待定系数a ,以及目标函数值S 。

结束语

最小二乘法这种方法在很早就有了,而且由于它的精确性高而被广泛应用,以上结果可以看到用最小二乘拟合来求解问题时有时候他的结果很接近实际情

1

1.52

2.53

3.54

4.55图4

0[,]lsqcurvefit(,,,)

a S f a x y

况,有时候跟实际情况里的太远,因为所求得多项式次数太小时数据点之间差别很大,次数最大是误差最小但是有时后不符合实际情况,所以用最小二乘法时次数要取合适一点。从上面的拟合中也可以得到多项式拟合误差平方和随着拟合多项式次数的增加而逐渐减小,拟合的曲线更靠近实际数据。拟合更准确。本文介绍最小二乘曲线拟合法的基本原理"就其DEA8EF的实现方法进行研究"给出曲线拟合DEA8EF实现的源程序"并进行仿真测试!采用DEA8EF对实验数据进行处理"能够快捷的得到图文并茂的比较令人满意的处理结果!在许多工程分析和科学研究中"DEA8EF软件正起着越来越重要的作用!可以预见"DEA8EF软件在工程界将获得日益广泛的应用"必将使他成为工程人员必备的工具!

在应用领域.人们经常需要借助已有的数据.选择适当的数学形式描述变量间的关系。从而揭示变量问的内在联系。最小二乘法提供了描述甬数优劣的标准.而Matlab提供了进行曲线拟合的平台.使得对于计算复杂的或者大量数据的情况很容易的得到解决。通过上述4种情况的分析.可知对不超过10阶的曲线拟合在图形窗El”Basic Fitting”中能够快速实现.若图示结果效果较差时.就需要在Madab的命令窗El进行高阶拟合或去寻求新的拟合方法.对于大量数据的情况。引入load函数在Matlab中也可得到较好的解决。对于拟合函数是非线性甚至是多元的情况,就属于曲线拟合的比较复杂的领域了.以后再继续讨论。

参考文献

[1]李庆扬,王能超,易大义.数值分析,第四版[M].北京:清华大学出版社,2001.

[2]张德丰.MATLAB数值计算方法[M].北京:机械工业出版社,2010.

[3]肖悠南.现代数值计算方法[M].北京:北京大学出版社,2010.

[4]万福永, 戴浩晖. 潘建瑜. 数学实验教程(Matlab 版) [M].北京: 科学出版社,2006

[5]徐成贤,陈志平,李乃成.近代优化方法[M].北京:科学出版社,2002.

[6]薛定宇, 陈阳泉. 高等应用数学问题的MATLAB求解, 第二版[M]. 北京: 清华大学出版社, 2008

[7] (美)里德.数值分析与科学计算[M].北京:清华大学出版社,2008.

[8](美)约翰逊.数学分析与科学计算[M].北京:科学出版社,2012.

[9] Gotz Trenkler: Mean Square Error Matrix Comparisons between Biased Restricted Least Squares Estimators[J]. Sankhya:The indian Journal of Statistics,Series A, V ol. 53, No. 3,1991,pp. 309-319.

[10]GirdharG. Agarwal and W. J. Studden: ASymptotic Integrated Mean Square Error Using Least Squares and Bias Minimizing Spline[J]. The Annals of Statistics, V ol. 8, No. 6, 1980, pp. 1307-1325.

相关主题
文本预览
相关文档 最新文档