时间序列之一次移动平均
2018-05-20 19:45:17
  • 0
  • 0
  • 15

在时间序列中,最简单的两种算法就是移动平均和指数平滑。

本篇先介绍移动平均。


基本原理

移动平均(Moving Average),就是使用前N期的历史数据进行序列的预测, 即把前N期的历史数据的平均值作为下一期的预测值。

移动平均和指数平滑的实质是一种平滑技术,其基本原理,是通过消除时间序列中的周期变动和不规则波动的影响,以便呈现出时间序列的总体发展趋势(即趋势线),然后根据趋势线分析序列的长期趋势。

比如,当产品的需求既不快速增长也不快速下降,且不存在季节性因素时,移动平均法能够有效地消除预测中的随机波动,非常有用。


移动平均的种类

常见的移动平均法,可以有如下几种形式:

一次移动平均(Simple Moving Average,SMA)。

二次移动平均(Double Moving Average,DMA)。

加权移动平均(Weighted Moving Average,WMA)。

移动平均比率法,适用于季节性变化的序列。

下面先介绍一次移动平均。


一次移动平均

一次移动平均,也叫简单移动平均,计算前N期的算术平均值作为下一时期的预测值,即前几期数据的权重都相等(均为1/n)。

计算公式

一次移动平均的计算公式如下:

即,预测值等于前N期数据的平均值。

如下图所示,假定已经收集到前5个月的产品销量,现要预测第6个月的产品销量。假定取期数N=3,则计算前3期的平均值作为第6个序列值的预测值。

适用场景

因此,简单移动平均只能适用于呈水平趋势(有的书上叫无趋势)的序列。当序列的变化不大(即方差比较小),没有明显的升降趋势和循环变动,就可以使用一次移动平均。

如果事物呈现某种上升或下降的趋势,不宜采用这种方法(参考移动平均的缺点)。

一次移动平均一般只能够预测下一期的序列值,更多期的预测将会产生更大的误差。

另外,移动平均经常用来修匀(或平滑)序列的波动。如下图所示,当使用移动平均后,序列就变得更加平滑,期数N越大,平滑效果就越好。当对序列进行平滑后,就容易看出序列的整体变化趋势,方便进一步采用其它合适的方法来拟合序列的长期趋势线。

期数N的选择

在移动平均中,关键在于期数N的选择。不同的期数N,其预测效果也不一样。

期数大小的影响

一般情况,N越大,则平滑效果越好,但会对序列的变动不敏感;N越小,越能够反映序列的波动,但无法有效呈现长期的变化趋势。所以,期数N的选择要适当。

当N为奇数时,只需要一次移动平均,就可以作为中间一期的趋势代表值。如下所示,当N=2k+1时,移动平均后的序列值就能够对齐时期K。所以,在大多数应用中,我们都选取N为奇数进行移动平均。

移正平均

但如果N为偶数的话,则移动平均值代表的是这偶数项的中间位置的水平,无法对正到具体的某一时期。如下所示,MA(4)的前两项分别对应的时期数为2.5和3.5,要对齐时期数,则必须要进行再次移动平均MA(2),就可以对齐到时期数3。这样经过两次移动平均,才能使平均值对正到某一时期,也叫做中心化的移动平均(Centered MA),有时简称移正平均。

所以,如果序列存在季节性变化,而且季节周期为偶数(比如一年4个季度和12个月份的周期),此时在移动平均时需要移正平均。即当序列包含季节变动时,则期数N应该与季节变动周期一致,才能消除其季节波动;


 期数选择原则

在实际的应用中,要选择最合适的期数N,我们经常用平均误差率MAPE来作为选取最佳参数N的准则,即使得MAPE最小的N值,就是最佳的期数取值。

详情可参见实战小节。

操作实战

如下,某销售公司收集了每周的平板电脑的销售量数据,请预测一下第18周的销量。

操作步骤如下:

取N=2,3,4,分别在D、E、F列计算每期的预测值。

计算MA(2)值。在D7单元格输入公式”=Average(B5:B6)”,公式向下拉。

计算MA(3)值。在E8单元格输入公式”=Average(B5:B7)”,公式向下拉。

计算MA(4)值。在F9单元格输入公式“=Average(B5:B8)”,公式向下拉。

计算每期的误差率。在H7单元格输入“=abs(D7-B7)/B7”,并设置为百分比的数字格式;其余I、J列类似操作。

计算平均误差率MAPE。在H2单元格输入“=Average(H7:H21)”,其余类似。

判断各项的MAPE的大小,显然有〖MAPE〗_2<〖MAPE〗_3<〖MAPE〗_4,应该选择N=2为最佳期数值。

可以预测,第18周的平板电脑的销量为60.50(单位:K)。

预测值的准确度或误差率约为MAPE=23.63%。


移动平均的缺点

移动平均最大的缺点是滞后性,所以一般预测不太准确。

缺点一:反转滞后性

即当原有序列发生反转时,但移动平均趋势仍然不变。

下图画出平板电脑的真实销量和移动平均值的折线图,可以看得出移动平均的滞后性。如下所示,在第7周的时候,真实的销量已经开始反转下降,但预测值却仍然在上升。

图 4一次移动平均的反转滞后性

缺点二:滞后偏差

即,如果序列呈单调上升或下降时,一次移动平均的预测值会产生明显的滞后偏差,即预测值比实际值偏低(或偏高)。

图 5一次移动平均的滞后偏差


所以,如果事物呈现某种明显地上升或下降的趋势,不宜采用一次移动平均。

为了解决滞后偏差的问题,可以使用二次移动平均。


作者简介:

傅一航,大数据专家。

专注于大数据分析、大数据挖掘等应用技术,及大数据系统解决方案。致力于将大数据技术应用于政府、通信、金融、航空、电商、互联网等领域。

联系作者: 2509626286@qq.com。

 
最新文章
相关阅读