指数平滑

下面的讨论中,用$\lbrace x_t\rbrace$表示原始的观察数据,用$ \lbrace s_t \rbrace $表示平滑后的数据。

移动平均法

移动平均(moving average)可以看做是最近k个观察值的均值。

较小的k值,产生的平滑效果不明显,使得最近的数据变化明显的反应到 $s_t$中。而交大的k值,会产生明显的平滑效果,并且在数据序列中有显著地延迟效果。移动平均的缺点是在不借助其他方法的前提下,不能用于数据序列中最开始的前k-1项数据。

权重移动平均法

假设有一个k项的权重序列$\lbrace w_1, w_2, … w_k \rbrace$,满足$\sum_{n=1}^{k} w_n = 1$,那么把该序列应用到数据序列中,可以得到:

在应用权重移动平均方法时,往往会把较大的权重赋值给最近的数据项,这样就可以使得最近的数据项可以较大的反应数据的变化状况。权重移动平均法并没有解决移动平均法所具有的缺点,而且计算过程更加复杂。

一次指数平滑法

简单的一次指数平滑(exponential smoothing)法具有如下的形式

其中$\alpha$为平滑因子,$0 < \alpha <1 $,较大的$\alpha$ 降低平滑效果,使得平滑后的数据具有较近数据更多地性质,而较小的平滑因子,会增大平滑效果,使得平滑后的数据具有较少的最近数据的特征。可以使用最小二乘法来优化 $\alpha $.指数平滑法的命名也是由$(1-\alpha)^n而来,并且由于 0 <(1-\alpha) < 1$,则当n越大时,表明越久远的数据对第t期的数据影响越小。

一次指数平滑预测公式为$x_{i+h}=s_i$,即预测未来的h期的数据为一条直线,不能反应具有趋势和季节性的数据序列。

指数平滑和移动平均的区别在于指数平滑会考虑所有的已有数据,而滑动平均只会考虑k个已有数据。从技术实现上来说,滑动平均需要维护已有的k个数据点,而指数平滑只需要维护最近预测过的一个数据点。

当样本数据量大于42个时,$s_0$可以取第一期的观察值,而当样本数据量小于42时,$s_0$可以取前几期的平均值。并且在使用一次指数平滑法进行预测时,是由滞后作用的。

二次指数平滑法

一次指数平滑不能较好地应用于具有趋势的数据序列上,但二次指数平滑可以较好地应用于具有趋势的数据上。

方法1

定义$\lbrace b_t \rbrace$ 表示数据的趋势序列,则二次指数平滑法可以表示如下

其中$\alpha$为数据平滑因子,$0 < \alpha <1 , \beta$为趋势平滑因子,且$0 < \beta <1 $.则为了预测$x_t$之后的数据,可以通过

其中$m>0,t+m$,为需要预测的项。$F_0$是未定义的,对于第0期,是没有预测值的。$b_0$的选择很重要,一个替代的方案是使用$b_0 = \frac{x_n - x_0}{n},n > 0$

方法2

此方法又称为布朗线性指数平滑(Brown’s linear exponential smoothing (LES))定义如下:

其中$a_t$为在t时刻的预测水平,$b_t$为在t时刻的预测趋势,定义如下:

三次指数平滑法

三次指数平滑法同时考虑到了趋势和季节性变化,又称为Holt Winters指数平滑法.定义$\lbrace b_t \rbrace$ 表示数据的趋势序列,令$\lbrace c_t \rbrace $表示季节修正因子序列。$c_t$表示在时期$ t mode L $中的周期中的趋势比例。其中L表示季节周期长度。则所需的数据量t需要满足$t > L $.三次指数平滑的计算方式可以由下面的公式给出:

设定季节指数$c_i$比较困难,如果N具有完整地季节周期长度,那么

其中$L(j-1)表示第j-1个周期中的数据下标$,则$A_j$表示在第在数据序列中第j个周期中的数据的平均值。

Jeff Lee /
Published under (CC) BY-NC-SA in categories 统计  tagged with 预测