一、 移动平均(Moving Average)
是一种最简单的数据平滑方法,用于平滑时间序列数据。它通过计算一定窗口内数据点的平均值来减少噪音,同时保留数据的趋势。移动平均包括简单移动平均(SMA)或指数加权移动平均(EMA)。
plt.rcParams['font.sans-serif'] = ['SimHei'],在整篇文章的代码中绘制图的时候加入此句代码,可以解决下图中文字标题显示不出的问题。
1.1 简单移动平均(SMA):
是一种通过计算数据点在一个固定窗口内的平均值来平滑数据的方法。窗口的大小决定了平滑程度。较大的窗口将导致更平滑的曲线,但会减缓对趋势的反应,而较小的窗口将更敏感地跟随数据的波动。
对上述代码的理解:蓝色的折线图表示的就是代码中生成的数组。简单移动平均的计算方法:
窗口的变化将改变平滑后的效果,及红色的先的平滑程度。当窗口尺寸为3的时候,可见,难以平滑的部分已经不见,大致的曲线变得平滑,但是当持续加大窗口尺寸后,最后得到一个一小部直线。红色的曲线也就是预测曲线。
需要注意的是,在安装seaborn与matplotlib包的时候,使用>python -m pip install matplotlib或者pip install matplotlib https://pypi.tuna.tsinghua.edu.cn/simple或者pin install matplotlib都难以安装,在终端出现这样的提示:
Cannot unpack file C:\Users\HONOR\AppData\Local\Temp\pip-unpack-4qkfflip\simple.html (downloaded from C:\Users\HONOR\AppData\Local\Temp\pip-req-build-s6_3j05c, content-type: text/html); cannot detect archive format
ERROR: Cannot determine archive format of C:\Users\HONOR\AppData\Local\Temp\pip-req-build-s6_3j05c
使用下述语句可以安装成功:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn matplotlib
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn seaborn
1.2 指数加权移动平均-Exponential Weighted Moving Average,EWMA:
指数加权移动平均是一种通过对数据点应用指数权重来平滑数据的方法。它对最近的数据点给予较高的权重,而对较早的数据点给予较低的权重。这使得EMA更适合用于追踪快速变化的数据。
对指数加权移动平均代码的理解:导入对应的包,生成相应的数组(即蓝色折线),定义平滑因子,当平滑因子较小时,平滑效果越强。反之亦然。那么指数加权移动平均的算法为何?
t期加权移动平均数作为t+1期的预测值。
二、指数平滑Exponential Smoothing
指数平滑(Exponential Smoothing)是一种常用的时间序列数据平滑和预测方法,用于处理具有趋势和季节性的数据。它通过分配不同权重给历史数据点,将较高权重分配给较新的数据,以捕获数据的变化趋势。指数平滑通常用于生成预测,特别是在需要对未来时间点进行预测的情况下。
指数平滑的主要特点包括:
-
加权平滑:指数平滑使用指数权重来平滑数据。较新的数据点获得更高的权重,而较旧的数据点获得较低的权重。这意味着它对最近的数据更为敏感,从而更好地捕获了数据的最新趋势。
-
三种主要形式:指数平滑有三种主要形式:简单指数平滑、双指数平滑和三重指数平滑。每种形式用于不同类型的数据和模式。
-
简单指数平滑(Simple Exponential Smoothing)用于平滑具有趋势和季节性的数据。
-
双指数平滑(Double Exponential Smoothing)用于平滑具有趋势但无季节性的数据。
-
三重指数平滑(Triple Exponential Smoothing)用于平滑同时具有趋势和季节性的数据。
-
-
递归更新:指数平滑是一种递归方法,它将先前的平滑结果与新数据点相结合,以生成下一个时间点的平滑结果。
-
预测能力:指数平滑不仅用于平滑数据,还可以用于生成未来时间点的预测。这使得它在需求预测、股票价格预测和销售预测等领域非常有用。
-
适用性:指数平滑适用于平稳或非平稳的时间序列数据,它能够很好地处理趋势、季节性和噪声。
-
案列:
结果展示:
三、多项式拟合
多项式拟合(Polynomial Fitting)是一种数据平滑和曲线拟合的方法,它通过使用多项式函数来逼近或拟合原始数据,以便更好地描述数据的趋势或模式。多项式拟合的目标是找到一个多项式函数,它在给定的数据点上经过并能够很好地拟合这些点。
多项式拟合的一般形式如下:
其中,是自变量,是依赖于的因变量, 是多项式系数。通过调整这些系数,可以使多项式函数更好地拟合数据。
多项式拟合常用于以下情况:
-
数据平滑:多项式拟合可以用来消除数据中的噪声或波动,从而获得平滑的曲线。
-
趋势分析:多项式拟合可用于识别数据中的趋势,例如线性趋势(一阶多项式)、二次趋势(二阶多项式)或更高阶的趋势。
-
曲线拟合:多项式拟合可用于拟合实验数据,以获得与理论模型或理论曲线的最佳拟合。
-
数据插值:多项式插值是多项式拟合的特殊情况,它通过已知数据点之间的多项式来估计中间值。
多项式拟合的一般原则是选择合适的多项式阶数。阶数过低可能无法很好地拟合数据,而阶数过高可能会导致过度拟合,对新数据的波动非常敏感。因此,选择适当的多项式阶数是关键。三项式案列: