基本概念
拟合:拟合问题的目标是寻求一个函数,使得该曲线在某一准则下与所有的数据点最为接近,即曲线拟合的最好。
- 拟合的目的是把握事物的发展方向,对事物的发展起到预测作用。
拟合和插值的区别:拟合不需要曲线经过所有给定的点,拟合的结果是得到一条确定的曲线,而插值算法得到的多项式需要经过所有的样本点,但如果样本点太多,那么多项式的次数过高,会造成龙格现象。
龙格现象:在计算方法中,有利用多项式对某一函数的近似逼近,计算相应的函数值。一般情况下,多项式的次数越多,需要的数据就越多,而预测也就越准确。插值次数越高,插值结果越偏离原函数的现象称为龙格现象。
最小二乘法:设拟合曲线为样本点与拟合曲线最接近
- 最小二乘为什么不用绝对值、三次方、四次方?
绝对值不容易求导,计算比较复杂;
总体平方和(SST):
误差平方和(SSE):
回归平方和(SSR):
拟合优度():越接近1,说明误差平方和越接近0,误差越小说明拟合的越好。
- 只能用于拟合函数是线性函数时,拟合结果的评价;
- 线性函数和其他函数比较拟合的好坏可以直接看SSE;
- 此处的线性函数是指对于参数为线性,参数仅以一次方出现,且不能乘以或除以其他任何的参数,并且不可以出现参数的符合函数形式。
引例
关于弹簧的伸长量和弹簧末端悬挂重物的质量
m | 50 | 100 | 150 | 200 | 250 | 300 | 350 | 400 | 450 | 500 | 550 |
e | 1.000 | 1.875 | 2.750 | 3.250 | 4.375 | 4.875 | 5.675 | 6.500 | 7.250 | 8.000 | 8.750 |
第一步:画出散点图
- 代码实现
clear;clc
m=[50:50:550];
e=[1 1.875 2.75 3.25 4.375 4.875 5.675 6.5 7.25 8 8.75];
plot(m,e,'*')
xlabel('悬挂物的质量m')
ylabel('弹簧的伸长量e')
第二步:使用cftool进行拟合
第三步:拟合结果
拟合得出斜率为0.01537,即e=0.3245+0.01537m
误差平方和为0.08475,拟合结果良好
参考资料
[1]【强烈推荐】清风:数学建模算法、编程和写作培训的视频课程以及Matlab等软件教学.B 站.https://www.bilibili.com/video/BV1DW411s7wi/
[2]数学建模方法与竞赛.中国大学MOOC(慕课).https://www.icourse163.org/learn/HUEL-1206691839?tid=1460264441#/learn/announce