文章目录

  • 一. 插值算法和拟合算法的区别
  • 二、Hermite和三次样条插值
  • 三.拟合算法
  • 线性最小二乘法用平方项计算的原因:
  • 拟合优度(只针对线性拟合):R^2
  • 结论
  • 使用拟合工具箱来实现拟合



一. 插值算法和拟合算法的区别

1.函数拟合是求出一个具体的函数形式使得该函数尽可能近距离地靠近这些已知数据点
而插值是根据已知数据点得到未知数据点处的函数值,不需要获得一个具体的函数
2.拟合以及插值还有逼近是数值分析的三大基础工具,通俗意义上它们的区别在于:拟合是已知点列,从整体上靠近它们;插值是已知点列并且完全经过点列;逼近是已知曲线,或者点列,通过逼近使得构造的函数无限靠近它们
3.其实个人理解在数学建模中插值和拟合在预测方面各有又缺点,插值算法力求得出来的数值曲线可以通过每一个测试点,但可能会使插值次数过高,从而产生龙格现象,而拟合不求每个点都能通过函数曲线,但又误差做足够小,从而达到预测目的啊(小白理解
f(x)=1/(1+x^2)的龙格现象:

机器学习预测值与实际值对比怎么解释 预测值和实际值拟合_算法


机器学习预测值与实际值对比怎么解释 预测值和实际值拟合_人工智能_02

二、Hermite和三次样条插值

x = -pi:pi; 
y = cos(x); 
x2 = -pi:0.1:pi;
p1 = pchip(x,y,x2);   %分段三次埃尔米特插值
p2 = spline(x,y,x2);  %三次样条插值
figure(2);
plot(x,y,'*',new_x,p1,'r-',new_x,p2,'b-')
legend('样本点','Hermite','三次样条插值','Location','northEast')

注意:插值算法很少用来预测,其它插值算法在清风大佬的课上比这两种插值算法略逊一筹

N维插值算法

机器学习预测值与实际值对比怎么解释 预测值和实际值拟合_python_03

三.拟合算法

线性最小二乘法用平方项计算的原因:

1.使用绝对值的话容易有尖锐拐点,不易求导
2.使用三次项的话正负向相抵,造成误差
3.使用四次项的话容易使极端数据对拟合结果造成影响

拟合优度(只针对线性拟合):R^2

机器学习预测值与实际值对比怎么解释 预测值和实际值拟合_算法_04


机器学习预测值与实际值对比怎么解释 预测值和实际值拟合_matlab_05


机器学习预测值与实际值对比怎么解释 预测值和实际值拟合_python_06


PS:图片借鉴的这位大佬的,主要公式实在不会打(哭~)可以看一下这篇文章,非常详细

结论

机器学习预测值与实际值对比怎么解释 预测值和实际值拟合_人工智能_07


注意:

1.若是线性拟合,R方越接近1,拟合效果越好,但对非线性拟合不成立

2.此处线性的含义是参数仅以一次方的形式出现,且不能乘除其它任何参数,并不能参数的复合函数的形式,而并不是针对自变量来说的

3.非线性拟合主要参考指标为SSE,一般来说,SSE越小越好

使用拟合工具箱来实现拟合


2023-01-31 15-21-05