曲线拟合问题与最小二乘法的动机
曲线拟合的核心目标是通过含参数的函数 S(t) 逼近给定数据点 (ti,fi)(i=1,…,m),使得误差平方和最小:
i=1∑m[S(ti)−fi]2→min
由于数据可能存在观测误差,拟合曲线无需严格通过所有点。若 S(t)∈Φ(线性函数类),且 S(t)=∑j=1nxjφj(t),问题转化为求解系数 xj,即 线性最小二乘问题。
线性最小二乘的矩阵表述
将数据点映射为向量和矩阵形式:
f=[f(t1),f(t2),…,f(tm)]T
A=⎣⎢⎢⎢⎡φ1(t1)φ1(t2)⋮φ1(tm)φ2(t1)φ2(t2)⋮φ2(tm)⋯⋯⋱⋯φn(t1)φn(t2)⋮φn(tm)⎦⎥⎥⎥⎤
目标是最小化残差向量的 2-范数:
∥f−Ax∥2→min
法方程法求解线性最小二乘
通过构造 法方程 ATAx=ATf 求解系数 x,其中:
- Gram 矩阵 G=ATA,元素为 Gkj=⟨φj,φk⟩=∑i=1mφj(ti)φk(ti);
- 向量 b=ATf,元素为 bk=⟨f,φk⟩=∑i=1mf(ti)φk(ti)。
解的存在唯一性:
若基函数 {φj(t)} 对应的表格函数线性无关,则 A 列满秩,法方程存在唯一解。
Haar 条件:
若数据点 {ti} 中至少有 n 个不同值,则多项式基函数 {1,t,…,tn−1} 对应的表格函数线性无关。
正交变换法与 QR 分解
为改善法方程的病态性,采用 QR 分解:
- 将矩阵 A 分解为正交矩阵 Q 和上三角矩阵 R:
A=QR
- 最小二乘问题转化为:
∥f−Ax∥2=∥QTf−Rx∥2→min
- 分解 Q=[Q1Q2] 和 R=[R10],问题进一步简化为:
R1x=Q1Tf
通过回代法求解 x,避免直接计算 ATA,提升数值稳定性。
非线性问题的线性化处理
法方程法求解
例 6.5:用指数函数 y≈x1ex2t 拟合数据:
|
1 |
2 |
3 |
4 |
5 |
ti |
1.00 |
1.25 |
1.50 |
1.75 |
2.00 |
yi |
5.10 |
5.79 |
6.53 |
7.45 |
8.46 |
yi~ |
1.6292 |
1.7561 |
1.8764 |
2.0082 |
2.1353 |
步骤:
- 线性化:取对数得 lny≈lnx1+x2t,定义新变量 y^=lny;
- 构造矩阵:
A=⎣⎢⎢⎢⎢⎡111111.001.251.501.752.00⎦⎥⎥⎥⎥⎤,f=⎣⎢⎢⎢⎢⎡1.62921.75611.87642.00822.1353⎦⎥⎥⎥⎥⎤
- 解法方程:
ATAx=ATf⇒[57.57.511.875][x^1x2]=[9.405214.4239]
解得 x^1=1.1225,x2=0.5057,进而 x1=ex^1=3.0725,最终拟合函数为:
S(t)=3.0725e0.5057t
正交变换法求解
例 6.7:对以上数据点进行指数函数拟合,利用正交变换法(Householder 变换)求解线性最小二乘问题:
-
线性化:取对数得 lny≈lnx1+x2t,定义 y~=lny,基函数为 φ1(t)=1,φ2(t)=t。
-
矩阵 A 和向量 f:
A=⎣⎢⎢⎢⎢⎡111111.001.251.501.752.00⎦⎥⎥⎥⎥⎤,f=⎣⎢⎢⎢⎢⎡1.62921.75611.87642.00822.1353⎦⎥⎥⎥⎥⎤
- 进行正交变换
应用第一次 Householder 变换,选择变换向量 v1=⎣⎢⎢⎢⎢⎡1+51111⎦⎥⎥⎥⎥⎤,变换后矩阵与向量更新为:
⎣⎢⎢⎢⎢⎡−2.2360000−3.354−0.0950.1550.4050.655⎦⎥⎥⎥⎥⎤x≅⎣⎢⎢⎢⎢⎡−4.206−0.0470.0730.2050.332⎦⎥⎥⎥⎥⎤
应用第二次 Householder 变换,得到简化形式:
⎣⎢⎢⎢⎢⎡−2.2360000−3.3540.791000⎦⎥⎥⎥⎥⎤x≅⎣⎢⎢⎢⎢⎡−4.2060.400−0.0050.0010.002⎦⎥⎥⎥⎥⎤
通过回代法解上三角方程组,得到系数:
[x~1x2]=[1.12250.5057]
反推原参数:
x1=ex~1=3.0725
最终拟合函数为:
S(t)=3.0725e0.5057t
正交变换法的优势
- 数值稳定:避免病态矩阵 ATA 的直接计算;
- 高效计算:QR 分解复杂度为 O(mn2),优于法方程的 O(n3);
- 普适性:适用于大规模数据和高维参数空间。