数值计算方法 Chapter3. 曲线拟合的最小二乘法

Posted Espresso Macchiato

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数值计算方法 Chapter3. 曲线拟合的最小二乘法相关的知识,希望对你有一定的参考价值。

1. 线性拟合和二次拟合函数

最小二乘法本质上就是求一个事先定义一个函数,然后使用已知的采样点结果拟合函数的参数,使得所有采样点的均方误差最小。

即:

φ ( x ) = a r g m i n   ∑ i ∣ φ ( x i ) − y i ∣ 2 \\varphi(x) = argmin\\ \\sum_i|\\varphi(x_i) - y_i|^2 φ(x)=argmin iφ(xi)yi2

1. 线性拟合

我们假定拟合曲线为:

φ ( x ) = a x + b \\varphi(x) = ax + b φ(x)=ax+b

则有拟合误差为:

Q = ∑ i ( a x i + b − y i ) 2 Q = \\sum_i(ax_i+b-y_i)^2 Q=i(axi+byi)2

要使得拟合误差 Q Q Q最小,则我们有 Q Q Q对于参数 a , b a,b a,b的偏导均为0,因此,我们即有:

∂ Q ∂ a = ∑ i 2 x i ( a x i + b − y i ) = 0 ∂ Q ∂ b = ∑ i 2 ( a x i + b − y i ) = 0 \\left\\ \\beginaligned \\frac\\partial Q\\partial a &= \\sum_i 2x_i(ax_i + b - y_i) = 0 \\\\ \\frac\\partial Q\\partial b &=\\sum_i 2(ax_i + b - y_i) = 0 \\endaligned \\right. aQbQ=i2xi(axi+byi)=0=i2(axi+byi)=0

可以解得:

a = n ⋅ ∑ i x i y i − ( ∑ i x i ) ( ∑ i y i ) n ⋅ ∑ i x i 2 − ( ∑ i x i ) 2 b = 1 n ∑ i y i − 1 n ( ∑ i x i ) ⋅ a \\left\\ \\beginaligned a &= \\fracn \\cdot \\sum_i x_iy_i - (\\sum_i x_i)(\\sum_i y_i)n \\cdot \\sum_ix_i^2 - (\\sum_i x_i)^2 \\\\ b &= \\frac1n \\sum_i y_i - \\frac1n (\\sum_i x_i) \\cdot a \\endaligned \\right. ab=nixi2(ixi)2nixiyi(ixi)(iyi)=n1iyin1(ixi)a

2. 二次拟合函数

类似的,我们可以得到二次拟合函数的最小二乘法的结果。

定义拟合函数为:

φ ( x ) = a x 2 + b x + c \\varphi(x) = ax^2 + bx + c φ(x)=ax2+bx+c

则有拟合误差:

Q = ∑ i ( a x i 2 + b x i + c ) 2 Q = \\sum_i(ax_i^2 + bx_i + c)^2 Q=i(axi2+bxi+c)2

同样,我们可以解得,在极值条件下,有:

∂ Q ∂ a = ∑ i 2 x i 2 ( a x i 2 + b x i + c − y i ) = 0 ∂ Q ∂ b = ∑ i 2 x i ( a x i 2 + b x i + c − y i ) = 0 ∂ Q ∂ c = ∑ i 2 ( a x i 2 + b x i + c − y i ) = 0 \\left\\ \\beginaligned \\frac\\partial Q\\partial a &= \\sum_i 2x_i^2(ax_i^2 + bx_i + c - y_i) = 0 \\\\ \\frac\\partial Q\\partial b &=\\sum_i 2x_i(ax_i^2 + bx_i + c - y_i) = 0 \\\\ \\frac\\partial Q\\partial c &=\\sum_i 2(ax_i^2 + bx_i + c - y_i) = 0 \\endaligned \\right. 以上是关于数值计算方法 Chapter3. 曲线拟合的最小二乘法的主要内容,如果未能解决你的问题,请参考以下文章

点云配准 -辅助知识 最小二乘法代码实现拟合曲线(C++)

matlab练习程序(修正指数曲线拟合)

计算最小二乘拟合的置信带

曲线拟合(多项式标准椭圆方程)最小二乘法

关于VC的最小二乘法曲线拟合算法问题

什么是最小二乘法回归分析?