2009 ~ 2010学年第 一学期 计算方法 教案 计0701-0703 2-4h
第三章 数据拟合
知识点:曲线拟合,最小二乘法。
离散数据曲线拟合
(1)曲线拟合问题
实践活动中,如果只能观测或测量到函数y=f(x)的一组离散的实验数据: (xi,yi),i=0.1.2…,n。则当这些数据比较准确时,可以构造插值函数??x)逼近f(x),只要满足插值原则:
???xi)= yi (i=0.1.2…,n)
如果离散数据序列(xi,yi)带有不可避免的误差(噪音):插值原则限定可能使误差保留和扩散。
如果在非插值节点处插值函数??x)不能很好近似f(x),误差可能很大。 如果实验数据很多,因插值节点多,得到的插值多项式的次数较高:不仅计算量过大,而收敛性和稳定性不能保证,会出现龙格现象,逼近效果不好!
于是,构造的逼近函数??x)最优靠近样点(如图)成为理想选择,即向量T=
(??x0),???x1),…??xn))与Y=(y0,y1,。。。,yn)的误差和距离最小。按T和Y之间误差最小原则作为最优标准构造的逼近函数称拟合函数。
-4
y=??x)
? ?
?
4 2 ? ? 2
?
?
4 样点
?
-2 如何为f(x)找到一个既简单又合理的逼近函数??x)?通常采用曲线拟合方法来处理,曲线拟合就是构造近似函数??x),在包含全部基节点xi (i=0.1.2…,n)的区间上能“最好”逼近f(x),不必满足插值原则。这类问题称曲线拟合问题,近似函数
y=??x)称经验公式或拟合曲线或函数。拟合法则根据数据集(xi,yi),i=0.1.2…,n找出其间合适的数学公式,构造出一条反映这些给定数据一般变化趋势的曲线??x),
《计算方法引论》、徐翠薇,高等教育出版社 2008年4月第三版 第三章数据拟合 1
2009 ~ 2010学年第 一学期 计算方法 教案 计0701-0703 2-4h
不要求曲线??x)通过所有的点(xi,yi),但要求这条曲线??x)能尽可能靠近这些数据点或样点,即各点误差δi=??xi)-yi按某种标准达到最小。通常用误差的2-范数平方(均方误差或误差平方和)
2
? 2 ? ∑? i
i ? 0 2
n
作为总体误差的度量,以误差平方和达到最小—最小二乘原理作为最优标准构造拟合曲线的方法为曲线拟合的最小二乘法。
(2)多项式拟合
①线性拟合
给定一组(xi,yi), i=0.1.2…,n。构造线性拟合函数p1(x)=a+bx,使均方差
2
? 2 ? ∑ ? i ? ∑ (p1?xi)-yi) ? ∑ (a?bxi-yi) =F(a,b)
i ? 0
i ? 0
i ? 0
2
n
2
n
2
n
?达到最小。即如何选择a、b,使F(a,b)?达到最小,转化为求多元函数F(a,b)极小值问题。F(a,b)取极小值应满足
②二次拟合
n
n
F(a,b) ? ? (a?bxi-yi) ? ?
∑
a i ? 0 F(a,b) ? ? (a?bxi-yi) xi ? ?
∑
b i ? 0
n
n
整理得到拟合曲线满足
n
n
i ? 0 n i
∑x
i2
i
a b
?
i?0 n
y∑
iii
i?0
xx∑∑
i?0
n
n
i?0
x∑ y
n
n
上式称为拟合曲线的法方程组或正则方程组。用消元法或克莱姆法则求解方程组得
2
xa ?( ∑ y ? n ∑x-( x) iyi )( ∑i i ∑x- ∑x i∑ )
i ? 0
i ? 0
i ? 0
i ? 0
i ? 0
n
i ? 0
n
n
n
n
2
i
n
n
2 i
2 b ? n iyi - ∑x x ( ∑x( ∑i )? n ∑x-( i ∑y i ) )
i ? 0
i ? 0
i ? 0
i ? 0
2
i
i ? 0
得到均方误差意义下的拟合函数p1(x)。
《计算方法引论》、徐翠薇,高等教育出版社 2008年4月第三版 第三章数据拟合 2
2009 ~ 2010学年第 一学期 计算方法 教案 计0701-0703 2-4h
给定一组(xi,yi), i=0.1.2…,n。用二次多项式拟合这组数据。
2
设p2(x)= a 0+ a 1x+ a 2x,作出拟合函数与数据序列的均方误差:
n
n
n
F(a0,a1,a2) ? ∑ (p2?xi)-yi) ? ∑ (a 0? a 1xi+a2 x -yi)
i ? 0
2
i
i ? 0
2
2
(
2
? 2 ? ∑? i
i ? 0
2
)
类似线性拟合,根据最小二乘和极值原理:
2 F ? ? ∑(
a 0? a 1xi+a2 xi -yi) ? ?
a 0 i? 0
n
F ? ? (a 0? a 1xi+a2 xi2 -yi) xi ? ? ∑ a 1 i ? 0 2 F ? ? (a 0? a 1xi+a2 xi2 -yi) xi ? ? ∑ a2 i? 0
n
n
整理得到二次多项式函数拟合的法方程:
解法方程,便得到均方误差意义下的拟合函数p2(x)。不过当多项式的阶数n>5时,法方程的系数矩阵病态。计算中要用双精度或一些特殊算法以保护解得准确性。 ③一般情况
给定一组(xi,yi), i=0,1 ,2…,n。在函数类???{ ? k (x )? 0 (m m m n n i ? 0 n i ? 0 ∑x i 2 i i?0n xx∑ ∑ i i?0 n i ? 0 n i?0 n n 2 i a 0 3 ∑x i ? 0 n i ? 0 2 x∑ i 3 i ∑x i 4 i a 1 ? a2 ∑x x∑ i?0 n i?0 x∑ y ii i?0 n y∑ i n x∑ y 2 iip(x),使误差的2-范数平方达到最小。这里?????(x ),? 1 (x ),…,? m (x )是一组线性? k(无关的连续函数,p(x)是{ ??? 0 的线性组合。类似线性拟合处理。 x )? ???(3)例 用二次多项式拟合如下一组数据 x y -3 4 -2 2 -1 3 0 0 1 -1 2 -2 3 -5 《计算方法引论》、徐翠薇,高等教育出版社 2008年4月第三版 第三章数据拟合 3 2009 ~ 2010学年第 一学期 计算方法 教案 计0701-0703 2-4h 解 设p2(x)= a 0+ a 1x+ a 2x2,经计算得 x -3 -2 -1 0 1 2 3 ∑0 y 4 2 3 0 -1 -2 -5 1 xy -12 -4 -3 0 -1 -4 -15 -39 x2 9 4 1 0 1 4 9 28 x 2 y 36 8 3 0 -1 -8 -45 -7 x3 -27 -8 -1 0 1 8 27 0 x? 81 16 1 0 1 16 81 196 相应的法方程为: 7 a 0 +0 a 1 +28 a 2=1 0 a 0 +28 a 1 +0 a 2=-39 28 a 0 +0 a 1 +196 a 2=-7 解方程得: a 0= 0.66667,a 1=-1.39286, a 2=-0.13095。 所以p2(x)= 0.66667-1.39286x-0.13095x 拟合曲线均方误差: 2 ? 2 ? ∑? i = ∑ (p2?xi)-yi) = 3.09524 ? i 1 ? i 1 2 7 2 7 2 如何根据测量的数据设计和确定“最贴近”的拟合曲线?关键在于找到适当的拟合曲线类型,可以根据专业知识和工作经验确定拟合曲线类型。如果对拟合曲线一无所知,可以先绘制数据略图,可能从中观测出拟合曲线类型。一般情况下,应对数据进行多种曲线类型拟合,计算均方误差,用数学实验的方法找出最小二乘法意义下的误差最小的拟合函数。 《计算方法引论》、徐翠薇,高等教育出版社 2008年4月第三版 第三章数据拟合 4