指数预测模型

指数预测模型

指数模型是用来预测时序未来值的最常用模型。这类模型相对比较简单,但是实践证明它们的短期预测能力较好。不同指数模型建模时选用的因子可能不同。比如单指数模型(simple/single exponential model)拟合的是只有常数水平项和时间点i处随机项的时间序列,这时认为时间序列不存在趋势项和季节效应;双指数模型(double exponential model;也叫Holt指数平滑,Holt exponential smoothing)拟合的是有水平项和趋势项的时序;三指数模型(triple exponential model;也叫Holt-Winters指数平滑,Holt-Winters exponential smoothing)拟合的是有水平项、趋势项以及季节效应的时序。

R中自带的HoltWinters()函数或者forecast包中的ets()函数可以拟合指数模型。ets()函数的备选参数更多,因此更实用。ets()函数如下:

ets(ts, model="ZZZ")

其中ts是要分析的时序,限定模型的字母有三个。第一个字母代表误差项,第二个字母代表趋势项,第三个字母则代表季节项。可选的字母包括:相加模型(A)、相乘模型(M)、无(N)、自动选择(Z

用于拟合三种指数模型的函数

 

ses()holt()、和hw()函数都是ets()函数的便捷包装(convenience wrapper),函数中有事先默认设定的参数值。

1.1 单指数平滑

单指数平滑根据现有的时序值的加权平均对未来值做短期预测,其中权数选择的宗旨是使得距离现在越远的观测值对平均数的影响越小。

nhtemp时序中有康涅狄格州纽黑文市从1912年到1971年每一年的平均华氏温度。下图给出了时序的折线图。

plot(nhtemp)

 

结果分析:从图中可以看到,时序中不存在某种明显的趋势,而且无法从年度数据看出季节性因素,因此我们可以先选择拟合一个单指数模型。

1.2 Holt 指数平滑和 Holt-Winters 指数平滑

Holt指数平滑可以对有水平项和趋势项(斜率)的时序进行拟合,平滑参数α(alpha)控制水平项的指数型下降,beta控制斜率的指数型下降。同样,两个参数的有效范围都是[0,1],参数取值越大意味着越近的观测值的权重越大。

Holt-Winters指数光滑可用来拟合有水平项、趋势项以及季节项的时间序列。除alphabeta参数外,gamma光滑参数控制季节项的指数下降。gamma参数的取值范围同样是[0,1]gamma值越大,意味着越近的观测值的季节效应权重越大。

posted @ 2021-08-13 16:41  zhang-X  阅读(2162)  评论(0编辑  收藏  举报