最小二乘法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最小二乘法
最小二乘法起源于以测量和观测为基础的天文学。
Gauss 在1794年利用最小二乘法解决了多余观测问题,当时他只有十七岁。
可以用下面的简单例子描述这类问题。
假定通过观测或实验得到如下一组数据(即列表函数):
我们的目的是一简单的式子表出这些数据间的关系。
从分析数据看出,这些点差不多分布在一条直线上,因此我们自然想到用线性式b ax y +=表示它们之间的关系。
这就须定出参数a 和b 的值来。
这实际上是多余观测问题,用插值法不能确定出a 和b 的值。
代定参数的确定归结为矛盾方程组的求解问题。
假定有某方法可以定出a 和b ,则按bx a y +=,给出一个x 便可以算出一个
y 。
我们记
).8,,1( =+=k bx
a y k
k y 称为k y 的估计值,显然它们不会是完全相同的,它们之间的差(通常称为残差)
)8,,1( =-=k y y k
k k ε
无疑是衡量被确定的参数a 和b (也就是近似多项式b ax y +=)好坏的重要标志。
可以规定许多原则来确定参数b a ,。
例如
(1) 参数的确定,将使残差绝对值中最大的一个达到最小,即
k
k
T ε
max =为最小;
(2) 参数的确定,将使残差绝对值之和达到最小,即∑k
k ε为最小;
(3) 参数的确定,将使残差的平方和达到最小,即∑2
k ε为最小。
(1) 和(2)两个原则是很直观的,也很理想,但很不好用;而原则(3)既直观又很好用。
按原则(3)确定待定参数,从而得到近似多项式的方法,就是通常所说的最小二乘法。
这一方法的理论根据是,概率理论已证明,只有这样的原则才能使得观测或实验的偶然误差对于所作的近似多项式有最小的影响。
回到所提出的问题上来,即用最小二乘法确定参数b a ,。
按最小二乘法,应使
∑=+-=s
i i i b a y b a S 12))((),(
取最小值。
因此,应有
.0))((2,0))((28
1
8
1
=+-=∂∂=+-=∂∂∑∑==i i i i i i i x b a y b S
b a y a S
由此,得到如下线性方程组:
.
,
8
1
8
1
2
8
1
8
1
81810∑∑∑∑∑∑=======+=+i i i i i i i i i i i i y x x b x a y x b i a
经过简单计算,这个方程组成为
⎩⎨
⎧=+=+.
3.4714028,
2.12288b a b a 解之可得,110.0,142.1==b a 从而得近似多项式.110.0142.1)(1x x p +=
现在转入讨论更为一般的情形。
设已知列表函数),,,1,0)((m i x f y i i ==并且我们想用一个通常的)(m n <次多项式
n
n n x a x a a x p +++= 10)(
(1.1)
去近似它。
问题是应该如何选择n a a a ,,,10 使)(x p n 能较好地近似列表函数
)(x f 。
按最小二乘法,应该选择n a a a ,,,10 使得
∑=-=m
i i n i n x p x f a a a S 0
210))()((),,,(
取最小。
注意到S 是非负的,且是n a a a ,,,10 的2次多项式,它必有最小值。
求S 对n a a a ,,,10 的偏导数,并令其等于零,得到
).,,1,0(0
)(0
10n k x x a x a a y
k
i m
i n i n i i
==----∑=
进一步,可以将它们写成
).,,1,0(0
1
10
00
n k x a x a x a x
y m
i n
k i
n m
i k i
m i k
i m
i k i
i =+++=∑∑∑∑=+=+==
引进记号
∑==m
i k
i k x s 0
和 ,0
∑==m
i k
i i k x y u
则上述方程组为
⎪⎪⎩⎪⎪⎨
⎧=+++=+++=+++++.
,,211011*********n n n n n n n n n u a s a s a s u a s a s a s u a s a s a s
(1.3)
它的系数行列式是
.211
21
10
1n
n n
n n
n s s s s s s s s s X
+++=
由)2,,1,0(n i s i =的定义及行列式性质,可以断言
.)),,,(()!
1(1
2101∑+=
+n n W n X ξξξ
(1.4)
此处符号W 表Vandermonde 行列式,而∑是对所有可能的),,1,0(n i i =ξ求和(每个i ξ可以取值,,,,10m x x x 并且当j i ≠时j i ξξ≠)。
由(1.4)式及Vandermonde 行列式的性质可知,当m x x x ,,,10 互异时,
.01
1
1
),,,(10221201010≠=n
n n n n n
n W ξξξξξξξξξξξξ
从而,(),001>≠+n X 方程组()3.1有唯一解,,,,10n a a a 且它们使()2.1取极小值.如此,我们应用最小二乘法找到了()x f 的近似多项式()x p n .
在利用最小二乘法组成和式()2.1时,所有点i x 都起到了同样的作用,但是有时依据某种理由认为∑中的某些项的作用大些,而另外一些作用小些(例如,一些i y 是由精度较高的仪器或操作上比较熟练的人员获得的,自然应该予以较大的信任),这在数学上表现为用和
()()()∑=-m
i i n i i x p x f 0
2
ρ 替代和()2.1取最小值.,0>i ρ且
,11
∑==n i i ρi ρ通常称之为权;而()5.1为加权和.
例1 设已知函数()x f 的表列值为
试按最小二乘法构造()x f 的二次近似多项式.
解 经过简单计算可得关于参数0a ,1a 和2a 的方程组(参阅下面的第一个
表):
50a +3.2501a +2.5032a =9.942 3.2500a +2.5031a +2.0902a =7.185 2.5030a +2.0901a +1.8262a =5.857 解之,得
2a =0.928, 1a =0.751, 0a =1.036.故
()x p 2 =0.9282x +0.751x +1.036.
下表给出了()x p 2在结点处的误差.
用多项式()n
n n x a x a a x p +++= 10去近似一个给定的列表函数(即给出的一组观测值()i i x f y =)时,需要确定的参数是;,,,10n a a a 而()x p n 可以看成是n a a a ,,,10 的线性函数.但是有时在利用观测或实验数据去确定一个经验公式时,往往要确定的函数和待定参数之间不具有线性形式的关系.这样问题就变得有些复杂.然而,常常可以通过变量替换使其线性化.例如:
()1
有时,我们希望用如下类型的函数:
()6.1q
pt s =
去近似一个由一组观测数据(列表)所描绘的函数,其中p 和q 是待定的两个参数.显然s 已非p 和q 的线性函数.怎样线性化呢?为此,我们在()6.1式两端取对数,得到
.ln ln ln t q p s += 记 s ln =y ,p ln =
0a ,1a =q ,x =t ln ,则 ()6.1式变成
x a a y 10+=.
这是一个一次多项式,它的系数0a 和1a 可以用最小二乘法求得. ()ii 我们经常希望用函数
()
7.1Ct
Ae S =
去近似一个以给定的列表函数,其中A 、C 是待定的参数.这时,我们可以在()
7.1的两端取对数:
Ct A S +=ln ln
记S ln =y ,t x a C a A ===,,ln 110,则()7.1式变成 x a a y 10+=
这样,仍可用最小二乘法定出10,a a (从而也就定出了C A ,),得到近似函数
Ct Ae S =.
例2 设已知如下一组实验数据:
t =2.2 2.7 3.5 4.1
S =65 60 53 50
试求一个()7.1型的函数去近似它.
解 计算以紧凑的形式表示如下:
0x t x l n = 2x S
y l n = xy 1 0.342 4 0.117 2 1.812 9 0.620 7 1 0.431 4 0.186 1 1.778 2 0.767 1 1 0.544 1 0.296 0 1.724 3 0.938 2 1 0.612 8 0.375 5 1.699 0 1.041 1 4 1.930 7 0.974 8 7.014 4 3.367 1 0S 1S 2S 0u 1u
由此得方程组 .
1367.38974.07930.1,4014.77930.141010=+=+a a a a
解之得 ,434.0,9.91,963.1ln 10-=====a q p p a 从而
.9.91434.0-=t S。