拟合问题
拟合问题
插值和拟合的区分
- 插值:构造的插值函数要经过所有的样本点。在给定的样本点过多时,高阶代数多项式插值还会产生龙格现象。
- 拟合:寻求一个函数(曲线),使得该曲线在某种准则下与所有的数据点最为接近,即曲线拟合的最好。
最小二乘法
最小二乘法是拟合中的一种常见的方法
下面我们通过一个例子来引入最小二乘法
我们可以这样想:
定义曲线:y=kx+b,使这个曲线来拟合样本点。
那么就需要保证在这个拟合曲线的规则下拟合的数值和所有样本点的值尽可能的接近。
那么问题就转化为了求k和b使得拟合的数值和所有样本点的值尽可能的接近。
我们可以有下面类似的定义,
由于我们要求最小值,所有要对最小值的定义式进行求一阶导,令一阶导为0,并结合二阶导数进行判断。
第一种定义中含有绝对值,不便于进行求导计算。
第二种定义能够满足我们的要求
其次:
如果使用含有三次方或更高奇次方的定义,会因为奇次方后的数值有正有负相加有会进行抵消,顾不能满足实际要求的含义。
如果使用含有四次方或更高偶次方的定义,会因为指数阶较高,在出现极端数据或者偏差较大的数据时,对拟合结果产生较大影响。
综上,我们采用第二种定义来确定k和b。
求解最小二乘法
对拟合效果的评价
使用不同的拟合函数得到的拟合效果是不同的,通过一些指标我们可以判断拟合效果的好坏。
下面是一些拟合指标:
在拟合函数是线性函数(这里的线性函数指的是对参数是线性函数),有SST=SSE+SSR
线性函数时,SST=SSE+SSR的证明
上述指标是进行拟合效果判断的一种手段,当然有时也不能仅仅只将上述指标作为拟合效果的好坏的判断标准,必要时需要结合图像进一步来分析
线性函数的解释
Curve Fitting tool
在MATLAB中提供了强大的曲线拟合工具箱(Curve Fitting),利用该工具箱可以更加便利的进行拟合分析的一些操作。
低版本MATLAB可以利用cftool命令来调用