一文读懂拟合法
- 拟合法
- 最小二乘法
- 曲线拟合
- 线性拟合
- 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:白平衡矫正
应用场景总结