数据拟合方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二讲 数据拟合方法

在实验中,实验和戡测常常会产生大量的数据。为了解释这些数据或者根据这些数据做出预测、判断,给决策者提供重要的依据。需要对测量数据进行拟合,寻找一个反映数据变化规律的函数。数据拟合方法与数据插值方法不同,它所处理的数据量大而且不能保证每一个数据没有误差,所以要求一个函数严格通过每一个数据点是不合理的。数据拟合方法求拟合函数,插值方法求插值函数。这两类函数最大的不同之处是,对拟合函数不要求它通过所给的数据点,而插值函数则必须通过每一个数据点。例如,在某化学反应中,测得生成物的质量浓度y (10 –3 g/cm 3)与时间t (min )的关系如表所示

显然,连续函数关系

y (t )是客观存在的。但

是通过表中的数据不可能确切地得到这种关系。何况,由于仪器和环境的影响,测量数据难免有误差。因此只能寻求一个近拟表达式

y = (t )

寻求合理的近拟表达式,以反映数据变化的规律,这种方法就是数据拟合方法。数据拟合需要解决两个问题:第一,选择什么类型的函数)(t ϕ作为拟合函数(数学模型);第二,对于选定的拟合函数,如何确定拟合函数中的参数。

数学模型应建立在合理假设的基础上,假设的合理性首先体现在选择某种类型的拟合函数使之符合数据变化的趋势(总体的变化规律)。拟合函数的选择比较灵活,可以选择线性函数、多项式函数、指数函数、三角函数或其它函数,这应根据数据分布的趋势作出选择。为了问题叙述的方

假设拟合函数是线性函数,即拟合函数的图形是一条平面上的直线。而表中的数据点未能精确地落在一条直线上的原因是实验数据的误差。则下一步是确定函数

y= a + b x

中系数a 和b 各等于多少从几何背景来考虑,就是要以a 和b 作为待定系数,确定一条平面直线使得表中数据所对应的10个点尽可能地靠近这条直线。一般来讲,数据点将不会全部落在这条直线上,如果第k 个点的数据恰好落在这条直线上,则这个点的坐标满足直线的方程,即

a +

b x k = y k

如果这个点不在直线上,则它的坐标不满足直线方程,有一个绝对值为

k k y bx a -+的差异(残差)

。于是全部点处的总误差是 ∑=-+10

1

k k k

y bx

a

这是关于a 和b 的一个二元函数,合理的做法是选取a 和b ,使得这个函

数取极小值。但是在实际求解问题时为了操作上的方便,常常是求a 和b 使得函数

∑=-+=10

12)(),(k k k y bx a b a F

达到极小。为了求该函数的极小值点,令

0=∂∂a F ,0=∂∂b

F

, 得

0)(210

1

=-+∑=k k k

y bx

a , ∑==-+10

1

0)(2k k k k x y bx a

这是关于未知数a 和b 的线性方程组。它们被称为法方程,又可以写成

⎪⎪⎩⎪⎪⎨⎧

=+=+∑∑∑∑∑=====10

11012101

10

1

10110k k k k k k k k k k k y x b x a x y b x a 求解这个二元线性方程组便得待定系数a 和b ,从而得线性拟合函数 y = a

+ b x 。下图中直线是数据的线性拟合的结果。

假设拟合函数不是线性函数,而是一个二次多项式函数。即拟合函数的图形是一条平面上的抛物线,而表中的数据点未能精确地落在这条抛物线上的原因是实验数据的误差。则下一步是确定函数

y = a 0 + a 1 x + a 2 x 2

中系数a 0、a 1和a 2各等于多少从几何背景来考虑,就是要以a 0、a 1和a 2为待定系数,确定二次曲线使得表中数据所对应的10个点尽可能地靠近这条曲线。一般来讲,数据点将不会全部落在这条曲线上,如果第k 个点的数据恰好落在曲线上,则这个点的坐标满足二次曲线的方程,即

a 0 + a 1 x k + a 2 x k 2 = y k

如果这个点不在曲线上,则它的坐标不满足曲线方程,有一个误差(残差)。于是全部点处的总误差用残差平方和表示

∑=-++=10

1

22

210210])[(),,(k k k k y x a x a a a a a F

这是关于a 0、a 1和a 2的一个三元函数,合理的做法是选取a 0、a 1和a 2 ,使得这个函数取极小值。为了求该函数的极小值点,令

00=∂∂a F ,01=∂∂a F ,02

=∂∂a F

⎪⎪⎪⎩⎪⎪⎪⎨⎧=-++=-++=-++∑∑∑===10

1

2

22101012

2101012

2100])[(20])[(20])[(2k k k k k k k k k k k k k k x y x a x a a x y x a x a a y x a x a a 这是关于待定系数a 0、a 1和a 2的线性方程组,写成等价的形式为

⎪⎪⎪⎩⎪⎪

⎪⎨⎧=++=++=++∑∑∑∑∑∑∑∑∑∑∑===========1012

1012410113101

02

10

110110123

12101

010

1

10122

1101010k k

k k k k k k k k k k k k k k k k k k

k k k k y x a x a x a x y x a x a x a x y a x a x a

这就是法方程,求解这一方程组可得二次拟合函数中的三个待定系数。下

三. 数据的n 次多项式拟合

相关文档
最新文档