python三次样条插值拟合的树行线_数据分析中的插值与拟合(1) —— 插值

python三次样条插值拟合的树行线_数据分析中的插值与拟合(1) —— 插值_第1张图片

引言

前面讲了很多结构力学,今天来讲讲有关数据分析的内容,后面有机会将会介绍更多相关的内容。数据分析在科学研究和工程应用中非常有用,有时也很好玩。

言归正传,在许多实际问题中,常常需要根据一些已有的数据,实现预测这些数据之外的信息,或解决与这些数据相关的一些问题。

在科学研究和工程计算中最常用的两种方法就是插值拟合。

估计函数

总体来说,两种方法都是通过已有的离散点,在定义域中形成一个估计函数,在描述已有数据的同时,预测未知数据;该函数可以是显示表达的,也可以是非显示表达的。插值与拟合的区别在于,插值方法需要估计函数严格经过已有数据;拟合方法则允许估计函数和已有数据存在一定误差,从而保证整体最优。

python三次样条插值拟合的树行线_数据分析中的插值与拟合(1) —— 插值_第2张图片

如何插值

在插值过程中,估计函数被称为插值函数,假设F为插值函数,{g}为基函数族(有一定要求),a为待定系数,则插值函数可表示为

python三次样条插值拟合的树行线_数据分析中的插值与拟合(1) —— 插值_第3张图片

很显然,对于给定N个数据,如果给定了N个基函数g,在一般情况下,待定系数a可以唯一确定;读者可以考虑一下为什么?

估计函数用到的基函数族有很多形式,如多项式和三角函数等,本文主要介绍最常用的多项式形式。

多项式的基函数族通常按幂次由小到达排列,其中通常将g(x)=1视为幂次为0的常数项;通常基函数族都要都要包含常数项;从另一个角度看,基函数族从低频到高频排列,而低频分量总是要优先考虑的。

由以上分析可知,给定N的数据,最多可以确定N-1次多项式。

分段插值

尽管看起来很完美,但使用这种方法,对于一些函数插值可能会引起“震荡”现象,实际上很少采用直接多项式插值。

python三次样条插值拟合的树行线_数据分析中的插值与拟合(1) —— 插值_第4张图片

震荡是由高幂次的“高频”函数产生的,我们考虑将横轴划分为多个小段,由一系列低幂次的插值函数组成。

在分段过程中,发现多个低次函数插值会使得分割点出现不连续、不可导等现象。为了解决这个问题,我们在分割点处增加一些约束条件,如连续、可导和多阶可导;带来的代价就是幂次增大。

通常有台阶、线性、三次和三次样条插值等几种形式;分别对应不连续、不可导、二阶不可导和三阶不可导。由于一般的物理方程都是不高于二阶系统的,因此,三次样条插值是应用非常广泛的一种插值方法。

python三次样条插值拟合的树行线_数据分析中的插值与拟合(1) —— 插值_第5张图片

插值的预测

得到插值函数后,可以预测其他未给定的数据;预测值和真实值之间的误差称为插值余项。

我们把已知数据“最外围”的区域称为边界,在边界内预测称为“内插值”,在边界外预测称为“外插值”;一般而言,内插值能保证良好的精度,而外插值相对不可控,可能会有非常大的误差。因此,如果需要边界处的数据,理论上需要增大数据范围,特别是分段插值,外围的数据通常是不可预测的。后面讲的拟合也有同样的问题。

拟合的应用场景更为广泛,将在下一篇文章中介绍。

蒙特遇见卡罗:数据分析中的插值与拟合(2) —— 拟合​zhuanlan.zhihu.com
python三次样条插值拟合的树行线_数据分析中的插值与拟合(1) —— 插值_第6张图片
蒙特遇见卡罗:数据分析中的插值与拟合(3) —— 基于Matlab的实现​zhuanlan.zhihu.com
python三次样条插值拟合的树行线_数据分析中的插值与拟合(1) —— 插值_第7张图片

-完-

公众号同步更新:数联科技工作室

公众号内有更多内容!

你可能感兴趣的:(误差函数拟合优缺点)