时间序列分析(⼆)--指数平滑
本系列⽂章翻译⾃NIST(美国国家标准与技术研究院)的(⼯程统计⼿册) 的第6章第4节关于时间序列分析的内容。本⽂的翻译会先使⽤翻译软件进⾏初步翻译,笔者在对不恰当之处进⾏修正。由于笔者⽔平有限,翻译过程难免有疏漏之处,欢迎⼤家评论区指出。本站所有⽂章均为原创,转载请注明出处。
3. 什么是指数平滑guilty是什么意思
这是⼀种⾮常流⾏的产⽣平滑时间序列的⽅案。在单⼀移动平均(Single Moving Averages)中,过去的观测值的权重是相等的,⽽指数平滑则随着观测值的变久赋予指数递减的权重。
换句话说,最近的观测结果在预测⽅⾯⽐过去的观测结果具有相对更⼤的权重。
在移动平均的情况下,分配给观察值的权重是相同的,等于1/N。然⽽,在指数平滑中,有⼀个或多个平滑参数需要确定(或估计),这些选择决定了分配给观察的权重。
本节将介绍单指数平滑、双指数平滑和三指数平滑。
3.1 单指数平滑(Single Exponential Smoothing)
该平滑⽅案⾸先设置\(S_2\)为\(y_1\),其中\(S_i\)为平滑观测值或EWMA, \(y\)为原始观测值,下标表⽰时间段,1,2,...n。第3期\(S_3 = αy_2 + (1-α)S_2\),等等。没有\(S_1\),平滑序列从第2个观察值的平滑版本开始。
对于任意时刻\(t\),通过计算得到平滑后的值\(S_t\)
\[S_t = αy_{t-1} + (1-α)S_{t-1} \qquad 0< α \leq 1 \quad t \geq 3 \]
这是指数平滑的基本⽅程,常数或参数\(α\)称为平滑常数。
注意:有⼀种指数平滑的替代⽅法,⽤当前观察值\(y_t\)替换基本⽅程中的\(y_{t-1}\)。这个公式,由Roberts(1959)提出,在EWMA控制图⼀节中有描述。这⾥的公式遵循了Hunter(1986)。
设置第⼀个EWMA
初始EWMA在后续所有EWMA的计算中起着重要的作⽤。将\(S_2\)设置为\(y_1\)是⼀种初始化⽅法。另⼀种⽅法是将其设置为处理的⽬标。
还有⼀种可能性是对前四五个观测值进⾏平均。
\(α\)值越⼩,初始EWMA的选择越重要。在完成设置之前,⽤户最好尝试⼀些⽅法(假设软件有这些⽅法)。
为什么叫“指数”?
让我们把基本⽅程展开,先把\(S_{t-1}\)代⼊基本⽅程,得到:
再代⼊\(S_{t-2}\),再代⼊\(S_{t-3}\),以此类推,直到\(S_2\)(即\(y_1\)),可以表明展开⽅程可以写成:
例如,平滑值\(S_5\)的展开⽅程为:
这说明了指数⾏为。权值\(α(1−α)^t\)呈⼏何递减,它们的和是统⼀的,如下图所⽰,利⽤⼏何级数的⼀个性质:
从上⼀个公式中我们可以看到,求和项表明,在每个连续的时间段内,对平滑值\(S_t\)的贡献变⼩了。
α= 0.3。观察值权重\(α(1−α)^t\)随时间呈指数(⼏何)递减。
Value weight
last y10.2100
y20.1470
y30.1029
y40.0720
α的最佳值是多少?
较久的响应被抑制(平滑)的速度是α值的函数。当α接近1时,衰减迅速,当α接近0时,衰减缓慢。下表说明了这⼀点。
--------------->过去2011年北京高考分数线
观测值
α\((1−α)\)\((1−α)^2\)\((1−α)^3\)\((1−α)^4\)
0.90.10.010.0010.0001
0.50.50.250.1250.0625
0.10.90.810.7290.6561
我们选择α的最佳值,从⽽得到最⼩的均⽅误差。
让我们⽤⼀个例⼦来说明这个原则。考虑以下由12个观察结果组成的数据集:
Time yt S(α=0.1)Error Error squared
171
27071-1.001.00
36970.9-1.903.61
46870.71-2.717.34
56470.44-6.4441.47
66569.80-4.8023.04
77269.32 2.687.18
87869.588.4270.90
97570.43 4.5720.88
107570.88 4.1216.97
117571.29 3.7113.76
127071.67-1.672.79
误差平⽅和(SSE) = 208.94。平⽅误差的均值(MSE)是SSE /11 = 19.0。
MSE再次计算α=0.5,结果是16.29,所以在这种情况下,我们更偏向α=0.5。我们能做得更好吗?我们可以采⽤经过验证的试错法。这是⼀个迭代过程,从0.1到0.9之间的α范围开始。我们确定α的最佳初始选择,然后在α-Δ和α+Δ之间进⾏搜索。我们可以再重复⼀次找出最好的α到⼩数点后3位。
但是有更好的搜索⽅法,⽐如Marquardt⽅法。这是⼀个⾮线性优化器,使残差平⽅和最⼩化。⼀般来说,⼤多数设计良好的统计软件程序应该能够找到使平均误差最⼩的α值。
3.2 单指数平滑预测
预测公式
预测公式是基本⽅程:
可以写成这样:
其中\(ϵ_t\)为\(t\)时期的预测误差(实际预测)。
换句话说,新的预测是旧的预测加上对上次预测中出现的误差的调整。
预测引导(Bootstrapping of Forecasts)
如果您希望从某个来源(通常是最后的数据点)进⾏预测,⽽⼜没有实际的观测结果,会发⽣什么?在这种情况下,我们必须修改公式使之成为:
\(y_{orgin}\)保持不变。这种技术被称为引导(bootstrapping)。
Bootstrapping例⼦
在前⾯的例⼦中,最后⼀个数据点是70,它的预测(平滑值S)是71.7。由于我们确实有数据点和可⽤的预测,我们可以使⽤α=0.1的普通公式计算下⼀个预测值:
但对于下⼀个预测,我们没有数据点(观测)。现在我们计算:
引导预测与常规预测的⽐较
citroen两种⽅法的⽐较如下表所⽰:
Period Bootstrap forecast Data Single Smoothing Forecast
985和211大学名单
1371.507571.5
1471.357571.9
1571.217472.2
1671.097872.4
1770.988673.0
先天下之忧而忧后天下之乐而乐翻译
单指数平滑和趋势
单平滑(简称单指数平滑)在有趋势时不是很好。单系数α是不够的。
让我们⽤α = 0.3平滑的数据集来证明这⼀点:
Data Fit
6.4
5.6
6.4
7.8 6.2
8.8 6.7
11.07.3
11.68.4
16.79.4
15.311.6
21.612.7
22.415.4
manholeData Fit
当存在趋势时,单指数平滑是不充分的,结果图如下:
3.3 双指数平滑(Double Exponential Smoothing)
正如前⾯所观察到的,单平滑在有趋势时不能很好地跟踪数据。这种情况可以通过引⼊第⼆个⽅程和第⼆个常数γ得到改善,它必须与α相结合选择。这是与双指数平滑相关的两个⽅程。
注意,在双指数平滑中,使⽤该序列的当前值来计算其平滑值。
初始值
与单次平滑的情况⼀样,双次平滑中\(S_t\)和\(b_t\)的初始值设置也有多种⽅案。 \(S_1\)通常被设为\(y_1\)。下⾯是对\(b_1\)的三个建议值。
注解
第⼀个平滑⽅程直接调整\(S_t\)为,前⼀时期的趋势值\(b_{t−1}\) 加上最后⼀个平滑值\(S_{t−1}\)。这有助于消除延迟,并将\(S_t\)带到当前值的合适基数。poetry
然后第⼆个平滑⽅程更新趋势,其表⽰为后两个值的差值。该⽅程的基本形式与单次平滑相似,但在这⾥应⽤于趋势的更新。
α和γ的值可以通过⾮线性优化技术获得,如马夸特(Marquardt)算法。
3.4 双指数平滑预测(LASP)
下⼀阶段预测值的公式:
\(F_{t+1}=S_t + b_t\)
未来m个阶段的预测值公式:
\(F_{t+m}=S_t + mb_t\)
例⼦
再次考虑下数据集:
6.4, 5.6,
7.8,
8.8, 11, 11.6, 16.7, 15.3, 21.6, 22.4.
英语六级总分
现在我们拟合α=0.3623和γ=1.0的双平滑模型。这些是最低的均⽅误差的参数估计结果,通过⽐较原始序列和提前⼀步预测的预测序列(因为这个版本的双指数平滑法使⽤当前的系列值来计算⼀个平滑值,平滑系列不能⽤于确定⼀个对应最⼩均⽅误差的α)。所选的起始值为\
eighth怎么读(S_1=y_1=6.4\) 和
为了⽐较起见,我们还拟合了⼀个α=0.977的单指数平滑模型(单指数平滑的对应了最低的MSE)。
双平滑的MSE为3.7024。单次平滑的MSE为8.8867。
这个例⼦的平滑结果是:
Data Double Single
6.4 6.4
5.6
6.6 (Forecast =
7.2) 6.4
7.87.2 (Forecast = 6.8) 5.6
8.88.1 (Forecast = 7.8)7.8
11.09.8 (Forecast = 9.1)8.8
11.611.5 (Forecast = 11.4)10.9
16.714.5 (Forecast = 13.2)11.6
15.316.7 (Forecast = 17.4)16.6
21.619.9 (Forecast = 18.9)15.3
22.422.8 (Forecast = 23.1)21.5
预测⽐较
为了了解每种⽅法是如何预测未来的,我们从最近⼀次观测中计算了前五个预测,如下所⽰:
Period Single Double
1122.425.8
1222.428.7
1322.431.7
hormiga
1422.434.6
1522.437.6
这些结果的绘图(使⽤预测的双重平滑值)是⾮常有启发性的。
从图中可以看出,⼆次平滑⽐⼀次平滑更贴近数据。此外,对于预测来说,单次平滑并不⽐预测直线⽔平线更好,这在现实中是不太可能发⽣的。所以在这种情况下,最好采⽤双重平滑。
最后,让我们⽐较双平滑和线性回归:
这是⼀张有趣的图⽚。这两种技术以相似的⽅式遵循数据,但回归线更为保守。也就是说,采⽤回归线⽐采⽤双平滑时的增长速度要慢。