时间序列之一次移动平均

Posted 大数据专家傅一航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间序列之一次移动平均相关的知识,希望对你有一定的参考价值。


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

本篇先介绍移动平均。


基本原理



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

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

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



移动平均的种类

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

1)  一次移动平均

SimpleMoving AverageSMA)。

2)  二次移动平均

DoubleMoving AverageDMA)。

3)  加权移动平均

WeightedMovingAverageWMA)。

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



 

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


一次移动平均

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

 

计算公式

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

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

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

时间序列之一次移动平均


 

适用场景

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

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

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

 

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


时间序列之一次移动平均

 


期数N的选择


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

期数大小的影响

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

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

时间序列之一次移动平均

时间序列之一次移动平均



移正平均

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


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

时间序列之一次移动平均



期数选择原则

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

详情可参见实战小节。


 

操作实战


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

操作步骤如下:

1)  N=234,分别在DEF列计算每期的预测值。

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

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

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

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

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

7)  判断各项的MAPE的大小,显然有<,应该选择N=2为最佳期数值。

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

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

 

时间序列之一次移动平均

3一次移动平均计算


 

移动平均的缺点


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

缺点一:反转滞后性

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

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

 

时间序列之一次移动平均

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

 

缺点二:滞后偏差

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

 

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

 

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

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




 

▽ 戳此看往期文章

上一篇: 


  事物发展都是有规律的

 数据解读能力培养

探索事物规律和特征

 

 选择-训练-评估-优化-应用

 好模型是优化出来的

 系统类+应用类

 大数据职位的发展通道

 探索客观事物的工具

 认知事物的新思维

 尊重事实的数据文化

 尊重事实的数据文化


作者简介:

傅一航,大数据专家。

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


以上是关于时间序列之一次移动平均的主要内容,如果未能解决你的问题,请参考以下文章

时间序列之二次移动平均

深入详解 二次移动平均法python

时间序列之加权移动平均

时间序列预测之移动平均法(MA)

在 Python 中从数据点中查找移动平均值

怎么用excel做滑动平均