Holt Winter时间序列模型

原创
2017/10/13 11:52
阅读数 1.5W

指数平滑

一次指数平滑

一次指数平滑法是一种特殊的加权平均法,对本期观察值和本期预测值赋予不同的权重,求得下一期预测值的方法。这种方法既不需要存储全部历史数据,也不需要存储一组数据,从而可以大大减少数据存储问题。其通式为:

Ft+1为t+1期的预测值,xt为t期实际观测值,α为权值(也称为平滑系数),α越小,参考之前的时间点越多,α越大,参考之前的时间点越少。

根据通式,迭代计算得到:

由于(1−α)的取值在0到1之间,所以(1−α)^n的值会越来越小,即离t+1期越久远的观测值,对t+1期的预测值的影响越小。式子中最后一项的F1就是第一期的预测值(初始值),通常可以取第一期的实际值为初值或者取最初几期的平均值为初值(一般分为两种情况:当样本为大样本时(n>42),F1一般以第一期的观察值代替;当样本为小样本时(n<42),F1一般取前几期的平均值代替)。当t很大时(1−α)^tF1非常接近0,所以F1在式子中的影响并不大。用文字描述该通式就是:

对离预测期较近的观察值赋予较大的权数,对离预测值较远的观察值赋予较小的权数,权数由近到远按指数规律递减,所以叫做指数平滑法

新预测值是根据预测误差对原预测值进行修正得到的。α的大小表明了修正的幅度。α值愈大,修正的幅度愈大,α值愈小,修正的幅度愈小。 因此,α值既代表了预测模型对时间序列数据变化的反应速度,又体现了预测模型修匀误差的能力。

在实际应用中,α值是根据时间序列的变化特性来选取的。 若时间序列的波动不大,比较平稳,则α应取小一些,如0.1 ~ 0.3 ;若时间序列具有迅速且明显的变动倾向, 则α应取大一些,如0.6 ~ 0.9。实质上,α是一个经验数据,通过多个值进行试算比较而定,哪个α值引起的预测误差小,就采用哪个。

一次指数平滑法比较简单,但也有问题。问题之一便是力图找到最佳的α值,以使均方差最小,这需要通过反复试验确定。预测的时间序列为一条直线,不能反映时间序列的趋势和季节性。

二次指数平滑

给定平滑系数α,那么二次指数平滑的计算公式为:

预测未来期的值的计算公式为:

其中:

从公式可知,二次指数平滑,将一次平滑的结果作为实际值再次平滑,这样做保留了趋势的信息,使得预测的时间序列可以包含之前数据的趋势,二次指数平滑的预测结果是一条斜的直线,但是效果会比一次指数平滑好很多,也就相当于加强版的一次指数平滑。

三次指数平滑

三次指数平滑在二次指数平滑的基础上保留了季节性的信息,使得其可以预测带有季节性的时间序列。

 给定平滑系数,那么三次指数平滑的计算公式为:

 

预测未来期的值的计算公式为:

 

其中:

三次指数平滑可以应用于抛物线型的数据,因为数据在二次平滑过后还是具有斜率,那么可以继续使用三次指数平滑。

应用时间序列平滑法的前提条件是:

(1)所预测的客观事物发展属于渐进式,无跳跃性的变化;

(2)过去和目前影响客观事物发展的因素也决定着客观事物未来的发展。由于客观事物的发展变动受多种因素的影响,而各种影响因素又可能是不断发展或不断变动的,因此,时间序列平滑法在一般情况下仅适用于短期的与近期的预测。当预测如果需要延伸至较远未来,时间序列平滑法则存在较大的局限性。时间序列平滑法在客观影响因素发生较大变化可能产生较大的预测误差。为降低这些可能的预测误差,必须充分研究客观影响因素可能的发展与变动,将定性分析和定量研究结合起来,这样才能提高预测的精度。 

Holt Winter线性和季节性指数平滑法

Holt Winter线性指数平滑法

Holt Winter线性指数平滑法本质上就是二次指数平滑法,可以预测具有趋势的时间序列。

通过添加一个新的变量t来表示平滑后的趋势:

t_i代表平滑后的趋势,当前趋势的未平滑值是当前平滑值s_i和上一个平滑值s_{i-1}的差。s_i为当前平滑值,是在一次指数平滑基础上加入了上一步的趋势信息t_{i-1}。利用这种方法做预测,就取最后的平滑值,然后每增加一个时间步长,就在该平滑值上增加一个t_{i}:

Holt Winter季节性指数平滑法

Holt Winter季节性指数平滑本质上就是三次指数平滑法,添加了一个新的参数p来表示平滑后的趋势。

Holt Winter季节性指数平滑有累加和累乘两种方法,下面是累加的三次指数平滑

累加模型适用于具有线性趋势且季节效应不随时间变化的序列

 

累乘式季节性对应的等式为:

累乘模型适用于具有线性趋势且季节效应随序列量级发生变化的序列

其中p_i为周期性的分量,代表周期的长度。x_{i+h}为模型预测的等式。

s,t,p代表着水平、趋势和季节,初始值的选取对于算法整体的影响不是特别大,通常的取值为s0=x0,t0=x1-x0,累加时p=0,累乘时p=1.

α,ß,γ的值都位于[0,1]之间,Google给出了这三个平滑参数的初始值计算方法:

累加模型:

上图中的Yt表示t时刻的实际值

累乘模型:

Reference:

1. http://www.cnblogs.com/21207-iHome/p/6673573.html

2. http://wiki.mbalib.com/wiki/%E4%B8%80%E6%AC%A1%E6%8C%87%E6%95%B0%E5%B9%B3%E6%BB%91%E6%B3%95

3. http://www.cnblogs.com/TTyb/p/5716125.html

4. http://www.jianshu.com/p/6fb0408b3f54

5. http://www.cnblogs.com/xuanlvshu/p/5451974.html

6. https://www.ibm.com/support/knowledgecenter/zh/SS3RA7_18.0.0/modeler_mainhelp_client_ddita/clementine/streamingts_exponentialsmoothing_criteria.html

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部