一、应用

指数平滑可继续拆分为一次平滑,二次平滑和三次平滑(即Holt-Winters法),一次平滑法为历史数据的加权预测,二次平滑法适用于具有一定线性趋势的数据,三次平滑法在二次平滑法基础上再平滑一次,其适用于具有一定曲线趋势关系时使用,通常情况下使用三次平滑法较多。

无论是那种平滑法,其均涉及初始值S0和平滑系数alpha共两个参数值,初始值是平滑的最初起点值,一般取数据前1期,2期,3期,4期或5期的平均值作为初始值,如果数据序列越少则初始值S0应该取更多前几期的平均值,因为数据序列较少时前期的重要性相对较高。针对alpha值参数,其意识在于新数据的权重,alpha值越大意味着新数据所占的权重越高而原预测值所占权重越低,alpha=0意味着下一期预测值就完全等于当期预测值;alpha=1意味着下期预测值等于当期预测值。如果说数据波动不大,一般alpha值取的较小些比如0.1~0.5之间,如果数据波动较大且alpha值取值相对较大些,比如0.6~0.8之间。

二、操作

SPSSAU操作

(1)点击SPSSAU综合评价里面的‘指数平滑’按钮。如下图

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_算法

SPSSAU仪表盘

(2)拖拽数据后点击开始分析

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据_02

三、分析步骤

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据分析_03

 

四、案例背景

当前有某省1978~1988年全民所有制固定资产投资额数据,共计11年数据,数据如下表,现希望预测出1989和1990年的固定资产投资总额数据:

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据分析_04

五、分析结果

SPSSAU生成的分析结果如下

1. 参数设置情况

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_权重_05

上表格展示出默认的设置情况,3个参数值均让SPSSAU自动进行。最终SPSSAU自动选择出三次平滑法为最优模型,并且初值自动设置为20.05,alpha值自动选定为0.4,基于此种自动选择,最终模型的均方根误差值RMSE为18.8,如下表格

2. 均方根误差值RMSE

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据_06

由于本案例3个参数值包括平滑类型,初始值S0和alpha值,均让SPSSAU自动选择,SPSSAU自动设置初值为20.05,并在此基础上遍历3种情况及11种alpha值共计33种组合时,输出33种组合时对应的RMSE值,找出当初始值为20.05,且alpha值为0.4且进行三次平滑时得到的模型结果最优。上表格中用蓝色标识出最优时的组合。并且进行模型预测结果如下表

3. 模型预测值表格

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据_07

计算公式

一次指数平滑法

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据分析_08

式中 

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据挖掘_09

 为t期的实际观察值, 

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据分析_10

为t期的预测值, 

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_权重_11

为平滑系数(0<

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_权重_11

 <1)

二期预测值

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据挖掘_13

三期预测值

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据分析_14

t期预测值

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据_15

从上表格可以看出:向后1期即1989年的固定资产投资预测为270.8亿,且1990年的固定资产投资预测为321.526。并且得到预测效果拟合图如下。

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_数据挖掘_16

PS:关于三种平滑法,初始值S0和alpha值的说明如下表

Java实现二次指数平滑算法进行数据预测 二次指数平滑法优缺点_算法_17