一文读懂拟合法
一文读懂拟合法
- 拟合法
- 最小二乘法
- 曲线拟合
- 线性拟合
- m次多项式拟合
- 非线性拟合
- 应用
拟合法
如果已知函数f(x)在若干点
x
i
(
i
=
1
,
2
,
…
,
n
)
x_i(i=1,2,…,n)
xi(i=1,2,…,n)处的值
y
i
y_i
yi,便可根据插值原理来建立插值多项式作为f(x)的近似。
但在科学实验和生产实践中,往往节点上的函数值是由实验或观测得到的数据,这些函数值不可避免地带有测量误差,如果要求所得的近似函数曲线精确无误地通过所有的点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi),就会使曲线保留着一切测试误差。为了尽量减少这些误差的影响,从总的趋势上使偏差达到最小,这就提出了曲线拟合的最小二乘法。
插值法和拟合法的区别
插值法是在已知一组离散数据点的情况下,构建一个函数,该函数精确通过所有已知数据点,用于在已知数据范围内估计未知值。插值函数在已知点上没有误差。
拟合法(或称曲线拟合)是在已知数据点的基础上,建立一个函数模型,使其尽可能接近所有数据点,但不要求精确通过每个点。拟合法考虑了数据中的误差或噪声。
拟合法的一般形式:给定n个数据点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi), 寻找一个函数f(x),使得:
∑
i
=
1
n
∣
∣
f
(
x
i
)
−
y
i
∣
∣
\sum_{i=1}^{n}||f(x_i)-y_i||
∑i=1n∣∣f(xi)−yi∣∣最小
最小二乘法
是一种用于拟合数据的统计方法。它的目标是找到一条曲线或者函数,使得这条曲线和原始数据点的距离之和最小。
在最小二乘法中,我们假设数据点可以通过一个线性函数来描述,即 y = ax + b。然后我们通过计算每个数据点到这个直线的距离来确定最佳的参数 a 和 b。
具体步骤如下:
- 假设线性函数为 y = ax + b,并确定参数 a 和 b 的初值。
- 计算每个数据点到直线的垂直距离,也就是误差。
- 将所有误差的平方相加得到总误差。
- 调整参数 a 和 b 的值,使得总误差最小。
- 重复步骤 2-4,直到达到满意的拟合效果。
最小二乘法可以应用于各种拟合问题,不仅限于线性函数。它也可以用于拟合多项式函数、指数函数、对数函数等。在实际应用中,最小二乘法常用于回归分析、数据拟合、信号处理等领域。
最小二乘法的优点是可以得到一个最优拟合曲线或函数,能够较好地描述数据的分布情况。然而,最小二乘法也有一些限制,比如对于非线性问题,最小二乘法可能无法找到最佳的拟合曲线。
曲线拟合
设函数y=f(x)在n个点的观测数据为:
求一个简单的近似函数
φ
(
x
)
φ(x)
φ(x),使之“最好”地逼近
f
(
x
)
f(x)
f(x) ,而不必满足插值原则。这时没必要取
φ
(
x
i
)
=
y
i
φ(x_i) = y_i
φ(xi)=yi, 而要使
δ
i
=
φ
(
x
i
)
−
y
i
\delta_i=φ(x_i)-y_i
δi=φ(xi)−yi 总体上尽可能地小。这种构造近似函数的方法称为曲线拟合,称函数
y
=
φ
(
x
)
y=φ(x)
y=φ(x)为经验公式或拟合曲线。
一般情况下,我们使用 ∑ i = 1 n ( φ ( x i ) − y i ) 2 \sum_{i=1}^n(φ(x_i)-y_i)^2 ∑i=1n(φ(xi)−yi)2作为准则。
线性拟合
对给定的一组数据
(
x
i
,
y
i
)
(
i
=
1
,
2
,
.
.
.
,
n
)
(x_i, y_i) (i=1,2,...,n)
(xi,yi)(i=1,2,...,n),设拟合函数为
y
=
a
1
x
+
a
0
y=a_1x+ a_0
y=a1x+a0
即求使
F
(
a
0
,
a
1
)
=
∑
i
=
1
n
(
φ
(
x
i
)
−
y
i
)
2
F(a_0, a_1)= \sum_{i=1}^n(φ(x_i)-y_i)^2
F(a0,a1)=∑i=1n(φ(xi)−yi)2有最小值的
a
0
a_0
a0和
a
1
a_1
a1的值.
分别对
a
0
,
a
1
a_0, a_1
a0,a1求偏导,得:
解得
a
0
,
a
1
a_0, a_1
a0,a1 ,代入
y
=
a
1
x
+
a
0
y=a_1x+ a_0
y=a1x+a0即可。
m次多项式拟合
对给定的一组数据
(
x
i
,
y
i
)
(
i
=
1
,
2
,
.
.
.
,
n
)
(x_i, y_i) (i=1,2,...,n)
(xi,yi)(i=1,2,...,n),设拟合函数为
y
=
a
0
+
a
1
x
+
a
2
x
2
+
.
.
.
+
a
m
x
m
y=a_0+a_1x+a_2x^2+...+a_mx^m
y=a0+a1x+a2x2+...+amxm
分别对
a
k
a_k
ak求偏导,得:
非线性拟合
非线性拟合时候只需要将非线性函数通过一些换元,取对数等方法变换一下即可。
下面举一个具体的例子
常用的非线性曲线:
-
双曲线
-
幂指数曲线
-
指数曲线
-
倒指数曲线
-
对数曲线
-
S型曲线
-
多项式曲线
应用
应用1:噪声水平建模
应用2:白平衡矫正
应用场景总结