最小二乘拟合_多项式

最小二乘拟合_多项式
最小二乘拟合_多项式

最小二乘法的基本原理和多项式拟合 一

最小二乘法的基本原理

从整体上考虑近似函数)(x p 同所给数据点),(i i y x (i=0,1,…,m)误差

i i i y x p r -=)((i=0,1,…,m)

i i i y x p r -=)((i=0,1,…,m)绝对值的最大值i

m i r ≤≤0max ,即误差 向量

T m r r r r ),,(10 =的∞—范数;二是误差绝对值的和∑=m

i i

r 0

,即误差向量r 的1—

范数;三是误差平方和∑=m

i i

r

02

的算术平方根,即误差向量r 的2—范数;前两种方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,因此在曲线拟合中常采用误差平方和∑=m

i i

r

02

来 度量误差i r (i=0,1,…,m)的整

体大小。

数据拟合的具体作法是:对给定数据 ),(i i y x (i=0,1,…,m),在取定的函数类Φ中,求Φ∈)(x p ,使误差i i i y x p r -=)((i=0,1,…,m)的平方和最小,即

∑=m

i i

r 0

2

=[]∑==-m

i i i y x p 0

2

min

)(

从几何意义上讲,就是寻求与给定点),(i i y x (i=0,1,…,m)的距离平方和为最

小的曲线)(x p y =(图6-1)。函数)(x p 称为拟合 函数或最小二乘解,求拟合函数)(x p 的方法称为曲线拟合的最小二乘法。

Φ可有不同的选取方法

.

6—1

多项式拟合

假设给定数据点),(i i y x (i=0,1,…,m),Φ为所有次数不超过)(m n n ≤的多项式构成的函数类,现求一

Φ

∈=∑=n

k k k n x a x p 0)(,使得 ,

当拟合函数为多项式时,称为多项式拟合,满足式(1)的)(x p n 称为最小二乘拟合多项式。特别地,当n=1

时,称为线性拟合或直线拟合。 显然

∑∑==-=m i n

k i k i k y x a I 0

2

)(

为n a a a ,,10的多元函数,因此上述问题即为求),,(10n a a a I I =的极值 问题。由多元函数求极值的必要条件,得

n j x y x a a I

m i j i n

k i k i k j ,,1,0,0)(200 ==-=??∑∑== (2)

n

j y x a x

n k m

i i j i k m

i k j i

,,1,0,

)(0

==∑∑∑===+ (3)

(3)是关于n a a a ,,10的线性方程组,用矩阵表示为

????

??

????

??????????=?????????????????????

???????????

+∑∑∑∑∑∑∑∑∑∑∑=====+==+====m i i n i m i i i m i i n m

i n i

m

i n i

m

i n i m

i n i m i i

m i i

m

i n

i

m

i i

y x y x y a a a x x

x x x x

x x

m 00010020

10

10

2000

1

(4) 式(3)或式(4

)称为正规方程组或法方程组。

可以证明,方程组(4)的系数矩阵是一个对称正定矩阵,故存在唯一解。从式(4)中解出k a (k=0,1,…,n),从而可得多项式

∑==n

k k

k n x a x p 0

)( (5)

可以证明,式(5)中的)(x p n 满足式(1),即)(x p n 为所求的拟合多项式。我

们把[]

∑=-m

i i i n y x p

2

)(称为最小二乘拟合多项式)(x p n

的平方误差,记作

[]

∑=-=m

i i i n y x p r

02

22

)(

由式(2)可得

∑∑∑===-=m

i n

k m

i i k i k i y x a y r

222

)

( (6)

多项式拟合的一般方法可归纳为以下几步:

(1) 由已知数据画出函数粗略的图形——散点图,确定拟合多项式的次数n

(2) 列表计算∑==m

i j i

n j x

)

2,,1,0( 和∑==m

i i

j i

n j y x

)

2,,1,0( ;

(3) 写出正规方程组,求出n a a a ,,10;

(4) 写出拟合多项式∑==n

k k

k n x a x p 0)(。

在实际应用中,m n <或m n ≤;当m n =时所得的拟合多项式就是拉格朗日或牛

顿插值多项式。

例1 测得铜导线在温度i T (℃)时的电阻)(Ωi R 如表6-1,求电阻R 与温度 T

数为

T a a R 10+=

??????=????????????445.200295.56583.93253.2453.2457

10a a

解方程组得

921.0,572.7010==a a

故得R 与T 的拟合直线为

T R 921.0572.70+=

利用上述关系式,可以预测不同温度时铜导线的电阻值。例如,由R=0得T=-242.5,即预测温度T=-242.5℃时,铜导线无电阻。

6-2

例2 例2 已知实验数据如下表

解 设拟合曲线方程为

2210x a x a a y ++=

??????????=????????????????????102514732253173017381301738152381529

210a a a

解得

2676.06053.3,4597.13210=-==a a a

故拟合多项式为

22676.06053.34597.13x y +-=

*三 最小二乘拟合多项式的存在唯一性

定理1 设节点n x x x ,,,10 互异,则法方程组(4)的解存在唯一。

证 由克莱姆法则,只需证明方程组(4)的系数矩阵非奇异即可。

用反证法,设方程组(4)的系数矩阵奇异,则其所对应的齐次方程组

??????

????

??????????=?????????????????????

???????????

+∑∑∑∑∑∑∑∑∑∑∑=====+==+====m i i n i m i i i m i i n m

i n i

m

i n i

m

i n i m

i n i m

i i

m i i

m

i n

i

m

i i

y x y x y a a a x x

x x x

x

x x m 0001002010

102000

1

(7)

有非零解。式(7)

可写为

n

j a x

n

k k m

i k j i

,,1,0,

0)(0

==∑∑==+ (8)

将式(8)中第j 个方程乘以j

a (j=0,1,…,n),然后将新得到的n+1个方程左

右两端分别 相加,得∑∑∑===+=??????n

j n k k m i k j i j a x a 00000)(

因为

[]∑∑∑∑∑∑∑∑∑∑=======+===+===??????m i m i m

i i n n k k

i k n j j i j n j n k k j i j k n

j n k k m i k j i j x p x a x a x a a a x a 00020000000)())(()( 其中 ∑==n

k k

k n x a x p 0

)

(

所以

0)(=i n x p (i=0,1,…,m)

)(x p n 是次数不超过n 的多项式,它有m+1>n 个相异零点,由代数基本定理,必

须有010===n a a a ,与齐次方程组有非零解的假设矛盾。因此正规方程组(4)

必有唯一解 。定理2 设n a a a ,,1,0 是正规方程组(4)的解,则∑==n

k k

k n x a x p 0

)(是满足式(1

)的最小二乘拟合多项式。

证 只需证明,对任意一组数n

b b b ,,1,0 组成的多项式

∑==n

k k

k n x b x Q 0

)(,

恒有

[][]

∑∑==-≥-m

i i i n m

i i i n y x p y x Q

2

2

)()(

即可。

[][]

[][][]

[

]

()∑∑∑∑∑

∑∑∑∑∑==========??????????????????? ??--=??????-?-+≥-?-+-=---n j m

i j i n k i k

i k j j m i n

j n k i k i k j

i j j i i n m

i i n i n m i i n i n m

i i i n m

i i i n

x y x a a b y x a x a b y x p x p x Q x p x Q y x p y x Q

00000

00

2

2

2

2)(20)()()(2)()()()(

因为k a (k=0,1,…,n)是正规方程组(4)的解,所以满足式(2

),因此有

[][]0

)()(0

2

2

≥---∑∑==m

i i i n m

i i i n y x p y x Q

故)(x p n

为最小二乘拟合多项式。

*四

多项式拟合中克服正规方程组的病态

在多项式拟合中,当拟合多项式的次数较高时,其正规方程组往往是病态的。而且

①正规方程组系数矩阵的阶数越高,病态越严重;

②拟合节点分布的区间[]m x x ,0

偏离原点越远,病态越严重; ③i x (i=0,1,…,m)

的数量级相差越大,病态越严重。

为了克服以上缺点,一般采用以下措施:

①尽量少作高次拟合多项式,而作不同的分段低次拟合;

②不使用原始节点作拟合,将节点分布区间作平移,使新的节点i x 关于原 点对

称,可大大降低正规方程组的条件数,从而减低病态程度。 平移公式为:

m

i x x x x m

i i ,,1,0,20 =+-= (9) ③对平移后的节点i x (i=0,1,…,m),

再作压缩或扩张处理:

m i x p x i i ,,1,0,

==* (10) 其中

r m

i r

i

x m p 20

2)

()

1(∑=+=,(r 是拟合次数) (11)

经过这样调整可以使*

i x 的数量级不太大也不太小,特别对于等距节点

),,1,0(0m i ih x x i =+=,作式(10)和式(11)两项变换后,其正规方程

组的系数矩阵设 为A ,则对1~4次多项式拟合,条件数都不太大,都可以得到满意的结果。

④在实际应用中还可以利用正交多项式求拟合多项式。一种方法是构造离散正交多项式;另一种方法是利用切比雪夫节点求出函数值后再使用正交多项式。这两种方法都使正规方程 组的系数矩阵为对角矩阵,从而避免了正规方程组的病态。我们只介绍第一种,见第三节。 例如 m=19,0x =328,h=1, 1x =0x +ih ,i=0,1,…,19,即节点 分布在[328,347],作二次多项式拟合时

① 直接用i x 构造正规方程组系数矩阵0A ,计算可得

16021025.2)(?=A cond

严重病态,拟合结果完全不能用。 ②

作平移变换

19

,,1,0,2347

328 =+-=i x x i i

i x 构造正规方程组系数矩阵1A

,计算可得

161210483868.4)(?=A cond

比)(02A cond 降低了13

个数量级,病态显著改善,拟合效果较好。

取压缩因子

1498

.0)

(20

4

19

4

≈=

∑=i i

x p

作压缩变换

19,,1,0,

==*i x p x i i 用*

i x 构造正规方程组系数矩阵2A ,计算可得

839.6)(22=A cond

又比)(12A cond 降低了3

个数量级,是良态的方程组,拟合效果十分理想。

如有必要,在得到的拟合多项式)(*

x p n 中使用原来节点所对应的变量x

,可写为

))2(()(0m

n n x x x p p x Q +-

?

=

仍为一个关于x 的n 次多项式,正是我们要求的拟合多项式。

最小二乘法的基本原理和多项式拟合

最小二乘法的基本原理和多项式拟合 一 最小二乘法的基本原理 从整体上考虑近似函数)(x p 同所给数据点),(i i y x (i=0,1,…,m)误差 i i i y x p r -=)((i=0,1,…,m) 的大小,常用的方法有以下三种:一是误差 i i i y x p r -=)((i=0,1,…,m)绝对值的最大值i m i r ≤≤0max ,即误差 向量 T m r r r r ),,(10 =的∞—范数;二是误差绝对值的和∑=m i i r 0 ,即误差向量r 的1— 范数;三是误差平方和∑=m i i r 02 的算术平方根,即误差向量r 的2—范数;前两种方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,因此在曲线拟合中常采用误差平方和∑=m i i r 02 来 度量误差i r (i=0,1,…,m)的整 体大小。 数据拟合的具体作法是:对给定数据 ),(i i y x (i=0,1,…,m),在取定的函数类Φ中,求Φ∈)(x p ,使误差i i i y x p r -=)((i=0,1,…,m)的平方和最小,即 ∑=m i i r 2 = 从几何意义上讲,就是寻求与给定点),(i i y x (i=0,1,…,m)的距离平方和为最 小的曲线 )(x p y =(图6-1)。函数)(x p 称为拟合函数或最小二乘解,求拟合函数)(x p 的方法称为曲线拟合的最小二乘法。 在曲线拟合中,函数类Φ可有不同的选取方法 . 6—1 二 多项式拟合 假设给定数据点),(i i y x (i=0,1,…,m),Φ为所有次数不超过)(m n n ≤的多项式构成的函数类,现求一 Φ ∈=∑=n k k k n x a x p 0 )(,使得 [] min )(0 02 02 =??? ??-=-=∑∑∑===m i m i n k i k i k i i n y x a y x p I (1) [ ] ∑ = = - m i i i y x p 0 2 min ) (

数学建模课件--最小二乘法拟合

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 1 / 11 数学建模课件--最小二乘法拟合 4. 最小二乘法线性拟合 我们知道, 用作图法求出直线的斜率 a 和截据 b , 可以确定这条直线所对应的经验公式, 但用作图法拟 合直线时, 由于作图连线有较大的随意性, 尤其在测量数据比较分 散时, 对同一组测量数据, 不同的人去处理, 所得结果有差异, 因 此是一种粗略的数据处理方法, 求出的 a 和 b 误差较大。 用最小二乘法拟合直线处理数据时, 任何人去处理同一组数据, 只要处理过程没有错误, 得到的斜率 a 和截据 b 是唯一的。 最小二乘法就是将一组符合 Y=a+bX 关系的测量数据, 用计算 的方法求出最佳的 a 和 b 。 显然, 关键是如何求出最佳的 a 和 b 。 (1) 求回归直线 设直线方程的表达式为: (2-6-1) 要根据测量数据求出最佳的 a 和 b 。 对满足线性关系的一组等精度测量数据(xi , yi ),假定自变量 xi 的误差可以忽略, 则在同一 xi 下, 测量点 yi 和直线上的点 a+bxi 的偏差 di 如下: 显 然最好测量点都在直线上(即 d1=d2==dn=0), 求出的 a 和 b 是最 理想的, 但测量点不可能都在直线上, 这样只有考虑 d1、 d2、 、 dn 为最小, 也就是考虑 d1+d2++dn 为最小, 但因 d1、 d2、 、 dn

最小二乘法的多项式拟合

用最小二乘法进行多项式拟合(m a t l a b 实现) 西安交通大学 徐彬华 算法分析: ,1,2,3,..,m),一共m+1 个数据点,取多项式P(x),使 函数P(x)称为拟合函数或最小二乘解,令似的 使得 其中,a0,a1,a2,…,an 为待求未知数,n 为多项式的最高次幂,由此,该问题化为求 的极值问题。由多元函数求极值的必要条件: j=0,1,…,n 得到: 总共有7个数据点,令m=6 第一步:画出已知数据的的散点图,确定拟合参数n; x=::;y=[,,,,,,]; plot(x,y,'*') xlabel 'x 轴' ylabel 'y 轴' title '散点图' hold on

因此将拟合参数n设为3. 第二步:计算矩阵 A= 注意到该矩阵为(n+1)*(n+1)矩阵, 多项式的幂跟行、列坐标(i,j)的关系为i+j-2,由此可建立循环来求矩阵的各个元素,程序如下: m=6;n=3; A=zeros(n+1); for j=1:n+1 for i=1:n+1 for k=1:m+1 A(j,i)=A(j,i)+x(k)^(j+i-2) end end end; 再来求矩阵 B= B=[0 0 0 0]; for j=1:n+1 for i=1:m+1 B(j)=B(j)+y(i)*x(i)^(j-1) end end 第三步:写出正规方程,求出a0,,a1…,an.

B=B'; a=inv(A)*B; 第四步:画出拟合曲线 x=[::]; z=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3; plot(x,z) legend('离散点','y=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3') title('拟合图') 总程序附下: x=::;y=[,,,,,,]; plot(x,y,'*') xlabel 'x轴' ylabel 'y轴' title '散点图' hold on m=6;n=3; A=zeros(n+1); for j=1:n+1 for i=1:n+1 for k=1:m+1 A(j,i)=A(j,i)+x(k)^(j+i-2) end end end; B=[0 0 0 0]; for j=1:n+1 for i=1:m+1 B(j)=B(j)+y(i)*x(i)^(j-1) end end B=B'; a=inv(A)*B; x=[::]; z=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3; plot(x,z) legend('离散点','y=a(1)+a(2)*x+a(3)*x.^2+a(4)*x.^3') title('拟合图')

最小二乘法多项式拟合

最小二乘法多项式拟合 对于给定的数据点N i y x i i ≤≤1),,(,可用下面的n 阶多项式进行拟合,即 为了使拟合出的近似曲线能尽量反映所给数据的变化趋势,要求在所有数据点上的残差 都较小。为达到上述目标,可以令上述偏差的平方和最小,即 称这种方法为最小二乘原则,利用这一原则确定拟合多项式)(x f 的方法即为最小二乘法多项式拟合。 确定上述多项式的过程也就是确定)(x f 中的系数n k a k ≤≤0,的过程,根据最小二乘原则,则偏差平方和应该是这些系数的函数,即 为使上式取值最小,则其关于n k a k ≤≤0,的一阶导数应该为零,即有 将上面各等式写成方程组的形式可有 写成矩阵形式有 上述方程组可以通过克莱姆法则来计算,从而解出各系数n k a k ≤≤0,得到拟合方程。 考虑到一般情况提高拟合多项式的阶数并不能提高拟合精度,所以常用的多项拟合阶数为一阶和二阶,即线性拟合和二次拟合。两者的计算公式如下: 关于线性拟合,除上面按克莱姆法则来计算外,还可以有另一思路,下面对

此进行说明。由于是线性拟合,最后得到的是一条直线,因此,直线可以由斜率和截距两个参数来确定,因此,求出这两个参数即可。首先对克莱姆法的求解结果进行展开可以得到 下面考虑先计算斜率再计算截距的方法,从下图可见,斜率计算与坐标系的 位置无关,所以可以将坐标原点平移到样本的i x 和i y 坐标的均值所在点上 图中 则在新的坐标系),(y x ''下斜率的计算公式与前面1a 的计算公式相同,将其中的坐标 ),(y x 换成),(y x ''即可得到下面的计算公式 由样本在新坐标系下的坐标i x '和i y '的均值为零,或者由下面推导可知 则斜率的计算公式可以简化为 还原为原坐标有 下面推导截距的计算公式 x '

线性模型的最小二乘法拟合

最小二乘法也称为最小平方法,是一种数据优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配。 最小二乘法最初由高尔顿在创立回归分析的时候提出,现在已经成为探索变量间关系最重要的方法,最小二乘法根据其数学原理命名,即误差平方和最小,在误差平方和最小状态下进行函数参数估计,可认为是参数的最佳估计。 一、问题的提出 我们在研究变量间的关系时,会收集一定量的数据样本,这些数据在二维坐标图上呈现为一个个的数据点,理论上来讲,如果变量间存在确定的已知函数关系,则函数图像(曲线或直线)会经过所有的数据点,而通常我们得到的数据都是样本数据,样本数据存在误差,导致我们根据样本数据计算出的函数和已知函数也存在误差,其函数图像无法经过所有数据点。 误差使得多次试验的样本数据所呈现的函数图像会不同,即使是同一组样本数据,如果没有统一的标准,那么不同的人去描绘所呈现的函数图像也会不同。 而我们就是要找到一条标准,使得从这些存在误差的样本数据中求出一个近似函数,使得它和已知函数最为接近,这个近似函数的图像不一定要经过所有的数据点,但是要尽可能的使所有数据点对称且均匀的分布在其两侧,并且这条线既能反映数据的总体分布,也不至于出现局部的较大波动,通过一个近似函数去拟合已知函数,这样就是曲线拟合问题。 一般来说。曲线拟合的任务有两个: 1.当变量间的函数关系已知,只是其中的常数未知,根据数据点拟合出各常数的最佳估计值。 2.当变量间的函数关系未知,根据数据点拟合出变量间函数关系的经验公式,并求出其中各常数的最佳估计值。 二、问题的解决 前面说过,如果没有一条标准,可以找到无数个近似函数,我们可以按照以下原则进行思考: 1.为了精确而全面的描述变量间的关系,必须使用这组变量的全部观察值(实际上很难做到,一般都使用样本数据) 2.确定变量间的关系是直线还是曲线,要根据协方差或相关系数进行判断 3."最好"的近似函数,应该和已知函数偏差最小,对于函数图像来说,就是所有数据点到这个函数图像(曲线或直线)的垂直距离的和最小。 按照以上原则,我们来进行分析: 设已知函数y=f(x),近似函数为φ(x) 令δ i =y i -φ(x i ) δi就是残差,让残差最小,有不同的方法

最小二乘法数据拟合

最小二乘法数据拟合 设给定数据),(i i f x ,),,2,1(m i = 在集合},,,{Span 10n ??? =Φ中找一个函数 )()(* 0** x a x S k n k k ?∑==,)(m n < (1) 其误差是 i i i f x S -=)(*δ,),,2,1(m i = (2) 使)(* x S 满足 2 1 )(2 *1 1 2 ])()[(min ])()[(i i m i i x S i i m i i m i i f x S x f x S x -=-=∑∑∑=Φ ∈==ωωδ (3) 0)(≥x ω是],[b a 上给定的权函数。上述求逼近函数)(*x S 的方法就称为曲线拟合的最小二 乘法。满足关系式(3)的函数)(* x S 称为上述最小二乘问题的最小二乘解。 并且有结论: 1)对于给定的函数表),(i i f x ,),,2,1(m i =,在函数类},,,{Span 10n ??? =Φ中存在唯一的函数)()(*0** x a x S k n k k ?∑== ,使得关系式(3)成立。 2)最小二乘解的系数* *1*0,,,n a a a 可以通过解法方程 ),(),(0 ???f a k n k j k =∑=,),,2,1,0(n j = (4) 作为曲线拟合的一种常用的情况,如果讨论的是代数多项式拟合,即取 },,,,1{},,,{210n n x x x =??? 那么相应的法方程(4)就是 ??????????????=???????????????????????? ??∑∑∑∑∑∑∑∑∑∑∑∑++i n i i i i i i i n n i i n i i n i i n i i i i i i n i i i i i f x f x f a a a x x x x x x x x ωωωωωωωωωωωω 102112 (5)

最小二乘法线性拟合

4.最小二乘法线性拟合(非常好) 我们知道,用作图法求出直线的斜率a 和截据b ,可以确定这条直线所对应的经验公式,但用作图法拟合直线时,由于作图连线有较大的随意性,尤其在测量数据比较分散时,对同一组测量数据,不同的人去处理,所得结果有差异,因此是一种粗略的数据处理方法,求出的a 和b 误差较大。用最小二乘法拟合直线处理数据时,任何人去处理同一组数据,只要处理过程没有错误,得到的斜率a 和截据b 是唯一的。 最小二乘法就是将一组符合Y=a+bX 关系的测量数据,用计算的方法求出最佳的a 和b 。显然,关键是如何求出最佳的a 和b 。 (1) 求回归直线 设直线方程的表达式为: bx a y += (2-6-1) 要根据测量数据求出最佳的a 和b 。对满足线性关系的一组等精度测量数据(x i ,y i ),假定自变量x i 的误差可以忽略,则在同一x i 下,测量点y i 和直线上的点a+bx i 的偏差d i 如下: 111bx a y d --= 222bx a y d --= n n n bx a y d --= 显然最好测量点都在直线上(即d 1=d 2=……=d n =0),求出的a 和b 是最理想的,但测量点不可能都在直线上,这样只有考虑d 1、d 2、……、d n 为最小,也就是考虑d 1+d 2+……+d n 为最小,但因d 1、d 2、……、d n 有正有负,加起来可能相互抵消,因此不可取;而|d 1|+ |d 2|+……+ |d n |又不好解方程,因而不可行。现在采取一种等效方法:当d 12+d 22+……+d n 2 对a 和b 为最小时,d 1、d 2、……、d n 也为最小。取(d 12+d 22+……+d n 2 )为最小值,求a 和b 的方法叫最小二乘法。 令 ∑== n i i d D 1 2=21 1 2][i i n i n i i b a y d D --== ∑∑== (2-6-2) D 对a 和b 分别求一阶偏导数为: ][211∑∑==---=??n i i n i i x b na y a D ][21 2 11∑∑∑===---=??n i i n i i n i i i x b x a y x b D

最小二乘法的本原理和多项式拟合

第一节 最小二乘法的基本原理和多项式拟合 一 最小二乘法的基本原理 从整体上考虑近似函数)(x p 同所给数据点),(i i y x (i=0,1,…,m)误差 i i i y x p r -=)((i=0,1,…,m) 的大小,常用的方法有以下三种:一是误差 i i i y x p r -=)((i=0,1,…,m)绝对值的最大值i m i r ≤≤0max ,即误差 向量 T m r r r r ),,(10 =的∞—范数;二是误差绝对值的和∑=m i i r 0 ,即误差向量r 的1— 范数;三是误差平方和∑=m i i r 02 的算术平方根,即误差向量r 的2—范数;前两种方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,因此在曲线拟合中常采用误差平方和∑=m i i r 02 来 度量误差i r (i=0,1,…,m)的整 体大小。 数据拟合的具体作法是:对给定数据 ),(i i y x (i=0,1,…,m),在取定的函数类Φ中,求Φ∈)(x p ,使误差i i i y x p r -=)((i=0,1,…,m)的平方和最小,即 ∑=m i i r 0 2 =[]∑==-m i i i y x p 0 2 min )( 从几何意义上讲,就是寻求与给定点),(i i y x (i=0,1,…,m)的距离平方和为最 小的曲线)(x p y =(图6-1)。函数)(x p 称为拟合 函数或最小二乘解,求拟合函数)(x p 的方法称为曲线拟合的最小二乘法。 在曲线拟合中,函数类Φ可有不同的选取方法. 6—1 二 多项式拟合 假设给定数据点),(i i y x (i=0,1,…,m),Φ为所有次数不超过)(m n n ≤的多项式构成的函数类,现求一 Φ ∈=∑=n k k k n x a x p 0 )(,使得 [] min )(0 02 02 =??? ??-=-=∑∑∑===m i m i n k i k i k i i n y x a y x p I (1) 当拟合函数为多项式时,称为多项式拟合,满足式(1)的)(x p n 称为最小二乘 拟合多项式。特别地,当n=1时,称为线性拟合或直线拟合。

曲线拟合_线性最小二乘法及其MATLAB程序

1 曲线拟合的线性最小二乘法及其MATLAB 程序 例7.2.1 给出一组数据点),(i i y x 列入表7–2中,试用线性最小二乘法求拟合曲线,并用(7.2),(7.3)和(7.4)式估计其误差,作出拟合曲线. 表7–2 例7.2.1的一组数据),(y x 解 (1)在MATLAB 工作窗口输入程序 >> x=[-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6]; y=[-192.9 -85.50 -36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04]; plot(x,y,'r*'), legend('实验数据(xi,yi)') xlabel('x'), ylabel('y'), title('例7.2.1的数据点(xi,yi)的散点图') 运行后屏幕显示数据的散点图(略). (3)编写下列MATLAB 程序计算)(x f 在),(i i y x 处的函数值,即输入程序 >> syms a1 a2 a3 a4 x=[-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6]; fi=a1.*x.^3+ a2.*x.^2+ a3.*x+ a4 运行后屏幕显示关于a 1,a 2, a 3和a 4的线性方程组 fi =[ -125/8*a1+25/4*a2-5/2*a3+a4, -4913/1000*a1+289/100*a2-17/10*a3+a4, -1331/1000*a1+121/100*a2-11/10*a3+a4, -64/125*a1+16/25*a2-4/5*a3+a4, a4, 1/1000*a1+1/100*a2+1/10*a3+a4, 27/8*a1+9/4*a2+3/2*a3+a4, 19683/1000*a1+729/100*a2+27/10*a3+a4, 5832/125*a1+324/25*a2+18/5*a3+a4] 编写构造误差平方和的MATLAB 程序 >> y=[-192.9 -85.50 -36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04]; fi=[-125/8*a1+25/4*a2-5/2*a3+a4, -4913/1000*a1+289/100*a2-17/10*a3+a4, -1331/1000*a1+121/100*a2-11/10*a3+a4, -64/125*a1+16/25*a2-4/5*a3+a4, a4, 1/1000*a1+1/100*a2+1/10*a3+a4, 27/8*a1+9/4*a2+3/2*a3+a4, 19683/1000*a1+729/100*a2+27/10*a3+a4, 5832/125*a1+324/25*a2+18/5*a3+a4]; fy=fi-y; fy2=fy.^2; J=sum(fy.^2) 运行后屏幕显示误差平方和如下 J= (-125/8*a1+25/4*a2-5/2*a3+a4+1929/10)^2+(-4913/1000*a1+2 89/100*a2-17/10*a3+a4+171/2)^2+(-1331/1000*a1+121/100*a2-11/10*a3+a4+723/20)^2+(-64/125*a1+16/25*a2-4/5*a3+a4+663/25)^2+(a4+91/10)^2+(1/1000*a1+1/100*a2+1/10*a3+a4+843/100)^2+(27/8*a1+9/4*a 2+3/2*a3+a4+328/25)^2+(19683/1000*a1+729/100*a2+27/10*a3+a4-13/ 2)^2+(5832/125*a1+324/25*a2+18/5*a3+a4-1701/25)^2 为求4321,,,a a a a 使J 达到最小,只需利用极值的必要条件0=??k a J )4,3,2,1(=k ,

最小二乘法曲线拟合原理及maab实现

曲线拟合(curve-fitting ):工程实践中,用测量到的一些离散的数据},...2,1,0),,{(m i y x i i =求一个近似的函数)(x ?来拟合这组数据,要求所得的拟合曲线能最好的反映数据的基本趋势(即使)(x ?最好地逼近()x f ,而不必满足插值原则。因此没必要取)(i x ?=i y ,只要使i i i y x -=)(?δ尽可能地小)。 原理: 给定数据点},...2,1,0),,{(m i y x i i =。求近似曲线)(x ?。并且使得近似曲线与()x f 的偏差最小。近似曲线在该点处的偏差i i i y x -=)(?δ,i=1,2,...,m 。 常见的曲线拟合方法: 1.使偏差绝对值之和最小 2.使偏差绝对值最大的最小 3.使偏差平方和最小 最小二乘法: 按偏差平方和最小的原则选取拟合曲线,并且采取二项式方程为拟合曲线的方法,称为最小二乘法。 推导过程: 1. 设拟合多项式为: 2. 各点到这条曲线的距离之和,即偏差平方和如下: 3. 问题转化为求待定系数0a ...k a 对等式右边求i a 偏导数,因而我们得到了: ....... 4、 把这些等式化简并表示成矩阵的形式,就可以得到下面的矩阵: 5. 将这个范德蒙得矩阵化简后可得到: 6. 也就是说X*A=Y ,那么A = (X'*X)-1*X'*Y ,便得到了系数矩阵A ,同时,我们也就得到了拟合曲线。 MATLAB 实现: MATLAB 提供了polyfit ()函数命令进行最小二乘曲线拟合。 调用格式:p=polyfit(x,y,n) [p,s]= polyfit(x,y,n) [p,s,mu]=polyfit(x,y,n) x,y 为数据点,n 为多项式阶数,返回p 为幂次从高到低的多项式系数向量p 。x 必须是单调的。矩阵s 包括R (对x 进行QR 分解的三角元素)、df(自由度)、normr(残差)用于生成预测值的误差估计。 [p,s,mu]=polyfit(x,y,n)在拟合过程中,首先对x 进行数据标准化处理,以在拟合中消除量纲等影响,mu 包含标准化处理过程中使用的x 的均值和标准差。 polyval( )为多项式曲线求值函数,调用格式: y=polyval(p,x)

数值计算_第6章 曲线拟合的最小二乘法

第6章曲线拟合的最小二乘法 6.1 拟合曲线 通过观察或测量得到一组离散数据序列,当所得数据比较准确时,可构造插值函数逼近客观存在的函数,构造的原则是要求插值函数通过这些数据点,即。此时,序列与 是相等的。 如果数据序列,含有不可避免的误差(或称“噪音”),如图6.1 所示;如果数据序列无法同时满足某特定函数,如图6.2所示,那么,只能要求所做逼近函数最优地靠近样点,即向量与的误差或距离最小。按与之间误差最小原则作为“最优”标准构造的逼近函数,称为拟合函数。 图6.1 含有“噪声”的数据 图6.2 一条直线公路与多个景点 插值和拟合是构造逼近函数的两种方法。插值的目标是要插值函数尽量靠近离散点;拟合的目标是要离散点尽量靠近拟合函数。 向量与之间的误差或距离有各种不同的定义方法。例如: 用各点误差绝对值的和表示: 用各点误差按模的最大值表示: 用各点误差的平方和表示: 或(6.1)

其中称为均方误差,由于计算均方误差的最小值的方法容易实现而被广泛采用。按 均方误差达到极小构造拟合曲线的方法称为最小二乘法。本章主要讲述用最小二乘法构造拟合曲线的方法。 在运筹学、统计学、逼近论和控制论中,最小二乘法都是很重要的求解方法。例如,它是统计学中估计回归参数的最基本方法。 关于最小二乘法的发明权,在数学史的研究中尚未定论。有材料表明高斯和勒让德分别独立地提出这种方法。勒让德是在1805年第一次公开发表关于最小二乘法的论文,这时高斯指出,他早在1795年之前就使用了这种方法。但数学史研究者只找到了高斯约在1803年之前使用了这种方法的证据。 在实际问题中,怎样由测量的数据设计和确定“最贴近”的拟合曲线?关键在选择适当的拟合曲线类型,有时根据专业知识和工作经验即可确定拟合曲线类型;在对拟合曲线一无所知的情况下,不妨先绘制数据的粗略图形,或许从中观测出拟合曲线的类型;更一般地,对数据进行多种曲线类型的拟合,并计算均方误差,用数学实验的方法找出在最小二乘法意义下的误差最小的拟合函数。 例如,某风景区要在已有的景点之间修一条规格较高的主干路,景点与主干路之间由各具特色的支路联接。设景点的坐标为点列;设主干路为一条直线 ,即拟合函数是一条直线。通过计算均方误差最小值而确定直线方程(见图6.2)。 6.2线性拟合和二次拟合函数 线性拟合 给定一组数据,做拟合直线,均方误差为 (6.2) 是二元函数,的极小值要满足 整理得到拟合曲线满足的方程:

曲线拟合的线性最小二乘法及其MATLAB程序

3.1 曲线拟合的线性最小二乘法及其MATLAB 程序 例3.1.1 给出一组数据点),(i i y x 列入表3-1中,试用线性最小二乘法求拟合曲线,并估计其误差,作出拟合曲线. 表3-1 例3.1.1的一组数据),(y x 解 (1)在MATLAB 工作窗口输入程序 >> x=[-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6]; y=[-192.9 -85.50 -36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04]; plot(x,y,'r*'), legend('实验数据(xi,yi)') xlabel('x'), ylabel('y'), title('例3.1.1的数据点(xi,yi)的散点图') 运行后屏幕显示数据的散点图(略). (3)编写下列MA TLAB 程序计算)(x f 在),(i i y x 处的函数值,即输入程序 >> syms a1 a2 a3 a4 x=[-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6]; fi=a1.*x.^3+ a2.*x.^2+ a3.*x+ a4 运行后屏幕显示关于a 1,a 2, a 3和a 4的线性方程组 fi =[ -125/8*a1+25/4*a2-5/2*a3+a4, -4913/1000*a1+289/100*a2-17/10*a3+a4, -1331/1000*a1+121/100*a2-11/10*a3+a4, -64/125*a1+16/25*a2-4/5*a3+a4, a4, 1/1000*a1+1/100*a2+1/10*a3+a4, 27/8*a1+9/4*a2+3/2*a3+a4, 19683/1000*a1+729/100*a2+27/10*a3+a4, 5832/125*a1+324/25*a2+18/5*a3+a4] 编写构造误差平方和的MATLAB 程序 >> y=[-192.9 -85.50 -36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04]; fi=[-125/8*a1+25/4*a2-5/2*a3+a4, -4913/1000*a1+289/100*a2-17/10*a3+a4, -1331/1000*a1+121/100*a2-11/10*a3+a4, -64/125*a1+16/25*a2-4/5*a3+a4, a4, 1/1000*a1+1/100*a2+1/10*a3+a4, 27/8*a1+9/4*a2+3/2*a3+a4, 19683/1000*a1+729/100*a2+27/10*a3+a4, 5832/125*a1+324/25*a2+18/5*a3+a4]; fy=fi-y; fy2=fy.^2; J=sum(fy.^2) 运行后屏幕显示误差平方和如下 J= (-125/8*a1+25/4*a2-5/2*a3+a4+1929/10)^2+(-4913/1000*a1+2 89/100*a2-17/10*a3+a4+171/2)^2+(-1331/1000*a1+121/100*a2-11/10*a3+a4+723/20)^2+(-64/125*a1+16/25*a2-4/5*a3+a4+663/25)^2+(a4+91/10)^2+(1/1000*a1+1/100*a2+1/10*a3+a4+843/100)^2+(27/8*a1+9/4*a 2+3/2*a3+a4+328/25)^2+(19683/1000*a1+729/100*a2+27/10*a3+a4-13/ 2)^2+(5832/125*a1+324/25*a2+18/5*a3+a4-1701/25)^2 为求4321,,,a a a a 使J 达到最小,只需利用极值的必要条件0=??k a J )4,3,2,1(=k ,

最小二乘法线性拟合y

%最小二乘法线性拟合y=ax+b x=[0:0.2:4.0]; y=[0.02 0.375 0.73 1.06 1.335 1.595 1.84 2.045 2.23 2.38 2.485 2.565 2.625 2.67 2.705 2.73 2.76 2.78 2.79 2.81 2.82]; p=polyfit(x,y,1); z=polyval(p,x); plot(x,y,'+'); title(‘V-X曲线’) grid on xlabel(‘X/mm’) ylabel(‘V/v’) hold on x=[0:0.2:-4.0]; y=[0.01 -0.385 -0.8 -1.22 -1.64 -2.055 -2.455 -2.825 -3.165 -3.64 -3.74 -3.915 -4.06 -4.155 -4.235 -4.295 -4.345 -4.385 -4.415 -4.445 -4.47]; p=polyfit(x,y,1); z=polyval(p,x); plot(x,y,'+'); x=[0:0.2:4.0]; y=[0.02 0.375 0.73 1.06 1.335 1.595 1.84 2.045 2.23 2.38 2.485 2.565 2.625 2.67 2.705 2.73 2.76 2.78 2.79 2.81 2.82]; p=polyfit(x,y,1); x=[0:-0.2:-4.0]; y=[0.01 -0.385 -0.8 -1.22 -1.64 -2.055 -2.455 -2.825 -3.165 -3.64 -3.74 -3.915 -4.06 -4.155 -4.235 -4.295 -4.345 -4.385 -4.415 -4.445 -4.47]; p=polyfit(x,y,1); x=[0:0.2:4.0]; y=[0.02 0.375 0.73 1.06 1.335 1.595 1.84 2.045 2.23 2.38 2.485 2.565 2.625 2.67 2.705 2.73 2.76 2.78 2.79 2.81 2.82]; xmean=mean(x);ymean=mean(y); sumx2=(x-xmean)*(x-xmean)'; sumxy=(y-ymean)*(x-xmean)'; a=sumxy/sumx2;%解出直线斜率a(即传感器灵敏度) b=ymean-a*xmean;%解出直线截距b z=((a*(x(1,11))+b-(y(1,11)))/(y(1,11))); a b z figure plot(x,y,'+'); hold on

最小二乘法拟合原理

最小二乘拟合 在物理实验中经常要观测两个有函数关系的物理量。根据两个量的许多组观测数据来确定它们的函数曲线,这就是实验数据处理中的曲线拟合问题。这类问题通常有两种情况:一种是两个观测量x 与y 之间的函数形式已知,但一些参数未知,需要确定未知参数的最佳估计值;另一种是x 与y 之间的函数形式还不知道,需要找出它们之间的经验公式。后一种情况常假设x 与y 之间的关系是一个待定的多项式,多项式系数就是待定的未知参数,从而可采用类似于前一种情况的处理方法。 一、最小二乘法原理 在两个观测量中,往往总有一个量精度比另一个高得多,为简单起见把精度较高的观测量看作没有误差,并把这个观测量选作x ,而把所有的误差只认为是y 的误差。设x 和y 的函数关系由理论公式 y =f (x ;c 1,c 2,……c m ) (0-0-1) 给出,其中c 1,c 2,……c m 是m 个要通过实验确定的参数。对于每组观测数据(x i ,y i )i =1,2,……,N 。都对应于xy 平面上一个点。若不存在测量误差,则这些数据点都准确 落在理论曲线上。只要选取m 组测量值代入式(0-0-1),便得到方程组 y i =f (x ;c 1,c 2,……c m ) (0-0-2) 式中i =1,2,……,m.求m 个方程的联立解即得m 个参数的数值。显然Nm 的情况下,式(0-0-2)成为矛盾方程组,不能直接用解方程的方法求得m 个参数值,只能用曲线拟合的方法来处理。设测量中不存在着系统误差,或者说已经修正,则y 的观测值y i 围绕着期望值 摆动,其分布为正态分布,则y i 的概率密度为 ()()[] ??? ???? ???--= 2 2 212,......,,;exp 21i m i i i i c c c x f y y p σσπ, 式中i σ 是分布的标准误差。为简便起见,下面用C 代表(c 1,c 2,……c m )。考虑各次测量是相互独立的,故观测值(y 1,y 2,……c N )的似然函数 ( ) ()[]?? ? ???????-- = ∑ =N i i i N N C x f y L 1 2 2 21;2 1exp (21) σσ σσπ . 取似然函数L 最大来估计参数C ,应使 ()[]min ;1 1 2 2 =-∑=N i i i i C x f y σ (0-0-3) 取最小值:对于y 的分布不限于正态分布来说,式(0-0-3)称为最小二乘法准则。若为正态分布的情况,则最大似然法与最小二乘法是一致的。因权重因子 2 /1i i σω=,故式 (0-0-3)表明,用最小二乘法来估计参数,要求各测量值y i 的偏差的加权平方和为最小。 根据式(0-0-3)的要求,应有

最小二乘法拟合

4.最小二乘法线性拟合 我们知道,用作图法求出直线的斜率a 和截据b ,可以确定这条直线所对应的经验公式,但用作图法拟合直线时,由于作图连线有较大的随意性,尤其在测量数据比较分散时,对同一组测量数据,不同的人去处理,所得结果有差异,因此是一种粗略的数据处理方法,求出的a 和b 误差较大。用最小二乘法拟合直线处理数据时,任何人去处理同一组数据,只要处理过程没有错误,得到的斜率a 和截据b 是唯一的。 最小二乘法就是将一组符合Y=a+bX 关系的测量数据,用计算的方法求出最佳的a 和b 。显然,关键是如何求出最佳的a 和b 。 (1) 求回归直线 设直线方程的表达式为: bx a y += (2-6-1) 要根据测量数据求出最佳的a 和b 。对满足线性关系的一组等精度测量数据(x i ,y i ),假定自变量x i 的误差可以忽略,则在同一x i 下,测量点y i 和直线上的点a+bx i 的偏差d i 如下: 111bx a y d --= 222bx a y d --= n n n bx a y d --= 显然最好测量点都在直线上(即d 1=d 2=……=d n =0),求出的a 和b 是最理想的,但测量点不可能都在直线上,这样只有考虑d 1、d 2、……、d n 为最小,也就是考虑d 1+d 2+……+d n 为最小,但因d 1、d 2、……、d n 有正有负,加起来可能相互抵消,因此不可取;而|d 1|+ |d 2|+……+ |d n |又不好解方程,因而不可行。现在采取一种等效方法:当d 12+d 22+……+d n 2 对a 和b 为最小时,d 1、d 2、……、d n 也为最小。取(d 12+d 22+……+d n 2 )为最小值,求a 和b 的方法叫最小二乘法。 令 ∑== n i i d D 1 2=21 1 2][i i n i n i i b a y d D --== ∑∑== (2-6-2) D 对a 和b 分别求一阶偏导数为: ][211∑∑==---=??n i i n i i x b na y a D ][21 2 11∑∑∑===---=??n i i n i i n i i i x b x a y x b D

拟合多项式的最小二乘法

数值计算理论报告 题目: 有一只对温度敏感的电阻,已经测得了一组温度T 和电阻R 的数据如下,问当温度为60o C 时,电阻有多大? 多项式拟合: 已知变量x ,y 之间的函数关系为: n n-112n n+1y=a x +a x ++a x+a 通过实验获得一组{i x ,i y | i =1,2,3,···,m}测量数据,确定出系数12n+1a a a (,,,)。 当n=1时,函数为线性关系若函数为线性关系,其形式为: y=ax+b (1) 式中a, b 为要用实验数据确定的常数。由实验测得的数据是总是存在着误差,所以,把各组数据代入(1)式中,两边并不相等。相应的作图时,数据点也并不能准确地落在公式对应的直线上,误差的的平方和为: 为了使拟合出的近似曲线能尽量反映所给数据的变化趋势,要求在所有数据点上的残差 |)(|||i i i y x f -=δ 都较小。为达到上述目标,可以令上述偏差的平方和最小,即 min ])([)(212 1=-=∑∑==i i N i i N i y x f δ 称这种方法为最小二乘原则,利用这一原则确定拟合多项式)(x f 的方法即为最小二乘法多项式拟合。按最小二乘法,当a, b 选择适当,能使为最小时y=ax+b 才是最佳曲线。用偏导数的方法求出此式的最小值。 以上是线性拟合的基本原理。 程序: x0=[20.5, 32.7, 51.0, 73.0, 95.7]; %t 的行向量 y0=[765, 826, 873, 942, 1032]; %r 的列向量 %plot(x0,y0,'r'); %画连续的图形,颜色设置为红 () 2 112∑∑=--==?n i bx a y n i v i i i

最优化-最小二乘法拟合

Least Squares Fit Abstract: The techniques of least squares optimization have their origins in problems of curve fitting, and of finding the best possible solution for a system of linear equations with infinitely many solutions. Curve fitting problems begin with data points (t 1, S 1), . . . , (tn' sn) and a given class of functions (for example, linear functions, polynomial functions, exponential functions), and seek to identify the function S = f(t) that "best fits" the data points. On the other hand, such problems as finding the minimum distance in geometric contexts or minimum variance in statistical contexts can often be solved by finding the solution of minimum norm for an underdetermined linear system of equations. Keyword:Least Squares、Fit、Equations Text:Suppose that in a certain experiment or study, we record a series of observed values (t 1 , Sl), (t 2 , S2), ..., (tn, Sn) of two variables s, t that we have reason to believe are related by a function s = f(t) of a certain type. For example, we might know that sand t are related by a polynomial function of degree < k, where k is prescribed in advance, but we do not know the specific values of the coefficients xo, Xl' ..., X k of p(t). We are interested in choosing the values of these coefficients so that the deviations between the observed value Si at t i and the value p(tJ of p(t) at t i , are all as small as possible. One reasonable approach to this problem is to minimize the function

相关文档
最新文档