第6章 曲线拟合的最小二乘法6.1 拟合曲线 通过观察或测量得到一组离散数据序列,当所得数据比较准确时,可构造插值函数逼近客观存在的函数,构造的原则是要求插值函数通过这些数据点,即此时,序列与是相等的 如果数据序列,含有不可避免的误差(或称“噪音”),如图6.1所示;如果数据序列无法同时满足某特定函数,如图6.2所示,那么,只能要求所做逼近函数最优地靠近样点,即向量与的误差或距离最小按与之间误差最小原则作为“最优”标准构造的逼近函数,称为拟合函数图6.1 含有“噪声”的数据图6.2 一条直线公路与多个景点 插值和拟合是构造逼近函数的两种方法插值的目标是要插值函数尽量靠近离散点;拟合的目标是要离散点尽量靠近拟合函数 向量与之间的误差或距离有各种不同的定义方法例如: 用各点误差绝对值的和表示: 用各点误差按模的最大值表示: 用各点误差的平方和表示: 或 (6.1) 其中称为均方误差,由于计算均方误差的最小值的方法容易实现而被广泛采用按均方误差达到极小构造拟合曲线的方法称为最小二乘法本章主要讲述用最小二乘法构造拟合曲线的方法 在运筹学、统计学、逼近论和控制论中,最小二乘法都是很重要的求解方法。
例如,它是统计学中估计回归参数的最基本方法 关于最小二乘法的发明权,在数学史的研究中尚未定论有材料表明高斯和勒让德分别独立地提出这种方法勒让德是在1805年第一次公开发表关于最小二乘法的论文,这时高斯指出,他早在1795年之前就使用了这种方法但数学史研究者只找到了高斯约在1803年之前使用了这种方法的证据 在实际问题中,怎样由测量的数据设计和确定“最贴近”的拟合曲线?关键在选择适当的拟合曲线类型,有时根据专业知识和工作经验即可确定拟合曲线类型;在对拟合曲线一无所知的情况下,不妨先绘制数据的粗略图形,或许从中观测出拟合曲线的类型;更一般地,对数据进行多种曲线类型的拟合,并计算均方误差,用数学实验的方法找出在最小二乘法意义下的误差最小的拟合函数 例如,某风景区要在已有的景点之间修一条规格较高的主干路,景点与主干路之间由各具特色的支路联接设景点的坐标为点列;设主干路为一条直线,即拟合函数是一条直线通过计算均方误差最小值而确定直线方程(见图6.2) 6.2 线性拟合和二次拟合函数 线性拟合 给定一组数据,做拟合直线,均方误差为 (6.2) 是二元函数,的极小值要满足 整理得到拟合曲线满足的方程: (6.3) 或 称式(6.3)为拟合曲线的法方程。
用消元法或克莱姆法则解出方程:a== 例6.1 下表为P. Sale及R. Dybdall在某处作的鱼类抽样调查,表中为鱼的数量,为鱼的种类请用线性函数拟合鱼的数量和种类的函数关系131516212223252930313611101112121313121416174042556062647072100130 13142214212124172334 解:设拟合直线,并计算得下表:编号xyxyx211311143169234521∑1516212213095610111212343441501762522644420189132252564414841690061640 将数据代入法方程组(6.3)中,得到: 解方程得:= 8.2084,= 0.1795 拟合直线为:= 8.2084 + 0.1795 二次拟合函数 给定数据序列,用二次多项式函数拟合这组数据 设,作出拟合函数与数据序列的均方误差: (6.4) 由多元函数的极值原理,的极小值满足 整理得二次多项式函数拟合的法方程: (6.5) 解此方程得到在均方误差最小意义下的拟合函数方程组(6.5)称为多项式拟合的法方程,法方程的系数矩阵是对称的。
当拟保多项式阶时,法方程的系数矩阵是病态的,在计算中要用双精度或一些特殊算法以保护解的准确性 例6.2 给定一组数据,如下表用二次多项式函数拟合的这组数据-3-2-101234230-1-2-5 解:设,由计算得下表:-3-2-1 0 142301-12-4-3 0-19410136830-1-27-8-1 0 18116101 2 3251-4-15-394928-8-45-7 827 0168196 将数据代入式(6.5),相应的法方程为: 解方程得:=0.66667,=-1.39286,=-0.13095 ∴= 0.66667-1.39286-0.13095 拟合曲线的均方误差:=3.09524 结果见图6.3图6.3拟合曲线与数据序6.3 解矛盾方程组 在6.2节中用最小二乘法构造拟合函数,本节中用最小二乘法求解线性矛盾方程组的方法构造拟合函数 给定数据序列,作拟合多项式,如果要求过这些点,那么有矛盾方程组: 即: (6.6) 我们作一辅助函数 这是自变量为的多元函数,要使 达到最小值,采用多元函数求权值的方法, 对每一个自变量的偏导数为0。
整理成以 为未知数的线性方程组 整理成矩阵形式,其中: 这是一个的对称方程组,称为法方程只要非奇异,就可以得出唯一解这就是矛盾方程组的最小二乘解 有什么快捷的方法来求法方程的解? 把矛盾方程组(6.6)写成矩阵形式,其中 容易验证 ,法方程就是 例如,拟合直线的矛盾方程组的形式如下: 化简得到与(6.3)相同的法方程: 性代数中,我们知道,关于方程组,若秩秩,则方程组无解,这时方程组称为矛盾方程组在数值代数中对矛盾方程计算的是在均方误差极小意义下的解,也就是在最小二乘法意义下的矛盾方程的解定理6.1将证明,方程组的解就是矛盾方程组在最小二乘法意义下的解 定理6.1 1.为行列的矩陈,为列向量,秩,称为矛盾方程的的法方程,法方程恒有解 2.是的解,当且仅当满足,即是法方程的解 证明: 1)对作行初等变换,使, ∴ 秩 而秩秩秩 ∴ 方程组有解而且解惟一存在 2)设满足,任取,则 由于是任取的,故法方程组的解为极小问题的解事实上,对离散数据作次多项式曲线拟合,要计算的极小问题这与解矛盾方程组 或 求的极小问题是一回事。
在这里 故对离散数据所作的次拟合曲线,可通过解下列方程组求得: 例6.3 给定一组数据,见下表,用二次多项式函数拟合这组数据-3-2-101234230-1-2-5 解:记二次拟合曲线为 ,形成法方程: 而===== 得到: 解方程得:= 0.66667,= -1.39286,= -0.13095 ∴ = 0.66667-1.39286 -0.13095 例6.4 给出一组数据,见下表用最小二乘法求形如的经验公式x-3-2-124y14.38.34.78.322.7 解:列出法方程: == = 法方程为: 解方程得到:=10.675,= 0.137 拟合曲线为:10.678+0.137 有些非线性函数经过转换以后可化为线性函数计算例如,令,则化拟合曲线为: 例6.5 求一个形如的经验函数公式,使它能够和下列数据相拟合1234567815.320.527.436.649.165.687.8117.6 解:化经验公式为线性形式,对经验公式的两边取自然对数有 由矛盾方程组 得到法方程组 即 解方程组得: ∴ 拟合曲线的均方误差为: 计算结果见图6.4。
图6.4 拟合曲线图示 例6.6 解矛盾方程组 解:写出法方程组 ,即 得 解法方程得:1.5917,0.5899,0.75726.4 权 有的实际问题中,已知数据不一定都是一次观测的结果,对于不同的可能观测次数不同,在矛盾方程组中,一组确定一个方程,而最小二乘解对每个方程来说都还存在误差,这样,把每对都同等看待就不太合理,希望观测次数多的(即可靠性大些的)数据在矛盾方程组中占的比重大些 为了使问题的提法更有一般性,通常把最小二乘法中偏差平方和改为加权平方和,使最小,其中称作权 同样,可由误差函数求极值,得到法方程,其中 , 事实上,只需对矛盾方程组作一些修改,每个方程乘上,得到,其中 这样,就使,仍然可用前面的方法,对,左乘用求得最小二乘解6.5 用正交多项式作最小二乘拟合 我们不仅可用多项式来拟合函数,还可用一般的函数来拟合 定义6.1 若,如果 当且仅当时成立,则称在上线性无关,称为上线性无关族 最小二乘法的一般提法为:对给定的一组数据,要求在函数类中找一个函数,使加权平地均和,其中 这里是线性无关的函数族,是上的权函数,点处的表示该点数据的重要程度。
求误差函数的极小值点,由多元函数极值的必要条件 得: 这是个未知数个方程的方程组,称为法方程式 定义6.2:称为与关于点集的内积 这样,法方程式可简写为,记为,其中 称为克莱姆行列式,记作 定理6.2 的充要条件是线性无关 证明:若存在使 对此式两边分别取与的内积得: 这是一个以为未知数的齐次方程组,有非零解的充要条件是系数矩阵行列式等于零,于是的充要条件是方程有全零解,即全为0,所以线性无关 由于法方程有惟一解的充要条件是,因而线性无关也是法方程有惟一解的充要条件特别当取为时,由于是在中的线性无关函数族,因而必有最小二乘解 用上的多项式拟合,需要解一个的线性方程组,且当取得大一此时,法方程的系数矩阵会出。