数学建模最小二乘法拟合_数学建模学习笔记(二)

五、插值与拟合

插值和拟合都是要根据一组数据构造一个函数作为近似,但插值和拟合的近似要求不同,注意区分。

插值:在平面上给定一组离散点列满足函数

,要求一条近似曲线
来替代目标函数,且
近似曲线需经过所有已知数据点。

拟合:已知有限个离散数据点,求近似函数,但不要求过所有已知数据点,只要求在某种意义上满足在这些数据点上的总偏差最小。

数学建模最小二乘法拟合_数学建模学习笔记(二)_第1张图片
左插值;右拟合

(图源:拟合与插值的区别? - yang元祐的回答 - 知乎 )

5.1 插值方法

5.1.1 分段线性插值

分段线性插值把每两个相邻的节点用直线连接起来,由此形成的折线即分段线性插值函数,记作

的表达式为
,其中

分段线性插值的计算量小,节点数

越大,分段越多,插值误差越小。

5.1.2 拉格朗日插值多项式

拉格朗日插值函数的基本表达式与分段线性函数一致,

其基函数为:

即满足,

5.1.3 样条插值

样条插值函数

由每两个相邻数据点之间的样条函数
组成。

(1) 每两个相邻数据点之间的样条函数

均为
m次多项式,称组合成的样条插值函数为 m次样条插值函数

(2) 样条插值函数

在插值区间上有m-1阶连续导数。(即连接点处光滑可导)

所以,注意到,分段线性函数是一次样条插值函数。

以三次样条插值函数为例,

且需满足:

5.1.4 插值工具箱

  1. 一维插值函数

Matlab中现成的一维插值函数interp1,命令为

y 

其中:x0,y0是已知数据点;x是插值点;y是插值点的函数值。'method'指插值的方法,默认为线性插值:

'nearest'最近邻插值

'linear'线性插值

'spline'立方样条插值

'cubic'立方插值

所有插值方法要求x0单调,当x0等距时可使用快速插值,例如'*nearest'。

2.三次样条插值

Matlab中三次样条插值有如下函数:

y 

其中:x0,y0是已知数据点;x是插值点;y是插值点的函数值。

提倡使用csape函数,且csape函数返回值为pp,需要调用fnval()函数来求取插值点的函数值

详情查看"帮助"文档,doc csape。

3. 二维插值

所谓二维插值,则插值函数是二元函数,插值节点为二维变量,即曲面。

1)插值节点为网格节点

已知

个节点:
,
;
。求点
处的插值

Matlab中计算二维插值的命令为:

z 

其中:x0,y0分别为

维和
维向量,表示节点;z0为
矩阵,表示节点值;x和y为一维数组,表示插值点,x与y应是方向不同的向量,即一个是行向量,一个是列向量;z是矩阵,它的行数为y的维数,列数为x的维数,表示得到的插值;'method'的用法同上面的一维插值。

三次样条插值的二维插值命令为:

pp 

5.2 最小二乘法曲线拟合

5.2.1 线性最小二乘法

曲线拟合与插值不同,其要求寻求一个函数曲线

,使
在某种准则下与所有数据点最为接近,即曲线拟合得最好。

线性最小二乘法是解决曲线拟合最常用的方法,其设拟合曲线函数为

式中:

为事先选定的一组线性无关的函数;
为待定系数
,且

已设定了拟合函数的形式,我们需要指定某种拟合准则,来衡量该函数与所有数据点的距离。

最小二乘法的拟合准则为使

的距离
的平方和最小。

则线性最小二乘法的数学模型表示为:

式(7)的优化问题可以很容易地通过极值的必要条件

,得到关于待定系数
的方程组求解。

关于拟合函数中的

函数的选取,通常为以下几类:

1)直线

2)多项式

3)双曲线(一支)

4)指数曲线

5.2.2 最小二乘法的Matlab实现

Matlab自带了

次多项式拟合的命令,其中

Matlab命令为:

a 

5.3 最小二乘优化

最小二乘优化问题的数学模型:

对于最小二乘优化问题,Matlab提供了多种函数供使用:lsqlin、lsqcurvefit、lsqnonlin、lsqnonneg。

5.3.1 lsqlin函数

求解

Matlab命令为:

x 

5.3.2 lsqcurvefit函数

给定输入输出数列xdata, ydata,求参量x,使得

Matlab中的函数为:

x 

其中:fun为定义函数

的M文件。

5.3.3 lsqnonlin函数

已知函数向量

,求
使得

Matlab中的函数为

x 

其中:fun是定义向量函数

的M文件。

5.3.4 lsqnonneg函数

求解非负的

,使得

Matlab中的命令为

x 

八、时间序列

将预测对象按时间顺序排列起来,构成所谓的时间序列,从这一组时间序列过去的变化规律中,推断今后变化的可能性及变化趋势、变化规律,就是时间序列预测法。

时间序列预测法:优点简单易行,精度较好,易组合;缺点不能反映事物的内在联系,不能分析两个因素的相关关系,只适用于短期预测

8.1 确定性时间序列分析方法

一个时间序列往往是以下几种基本变化形式的叠加或耦合:

(1)长期趋势变动。指时间序列朝着一定的方向持续上升或下降,或停留在某一水平上的倾向,反映了客观事物的主要变化趋势。

(2)季节变动。

(3)循环变动。通常是指周期为一年以上,由非季节因素引起的涨落起伏波形相似的波动。

(4)不规则变动。通常分为突然变动和随机变动。

表示
长期趋势项
表示
季节变动趋势项
表示
循环变动趋势项
表示
随机干扰项。常见的确定性时间序列模型有以下几种组合类型:

(1)加法模型

(2)乘法模型

(3)混合模型

式中:

为观测目标的观测记录,均值
,方差

若预测时间内无突然变动,且随机变动的方差较小,则有理由认为,过去和现在的演变趋势将延续到未来

下面介绍几种经验方法,来预测时间序列。

8.1.1 移动平均法

一次移动平均计算公式:

二次移动平均计算公式:

一次移动平均法的预测模型为:

趋势移动平均法的预测模型:

式中:

移动平均法只适合做近期预测,而且是预测目标的发展趋势变化不大的情况。

8.1.2 指数平滑法

指数平滑法可对各期观测值依照时间顺序进行加权平均作为预测值,且具有简单的递推形式。

指数平滑法根据平滑次数的不同,又分为一次指数平滑法、二次指数平滑法和三次指数平滑法等。

1.一次指数平滑法

预测模型为:

直观上看,下一时刻的预测值为上一时刻预测值加上

倍上一时刻的预测误差。

展开来看:

式(18)表明,

为过去全部历史数据的加权平均,加权系数分别为
,等,且显然有:

由于该加权系数符合指数规律,且具有平滑数据的功能,故称之为指数平滑。

2.二次指数平滑法

二次指数平滑法即在一次平滑的基础上,把一次平滑的结果再作为新数据进行第二次指数平滑。

计算公式为

当时间序列从某时期开始具有直线趋势时,可用直线趋势模型

进行预测。

你可能感兴趣的:(数学建模最小二乘法拟合)