2. 累乘
上述变量中,s_i,t_i,p_i分别表示水平趋势,斜率趋势和周期信息。
R语言实战在R语言中HoltWinters()函数就是用来做时间序列预测的,句法如下
HoltWinters(x, alpha = NULL, beta = NULL, gamma = NULL, seasonal = c("additive", "multiplicative"), start.periods = 3, l.start = NULL, b.start = NULL, s.start = NULL, optim.start = c(alpha = 0.3, beta = 0.1, gamma = 0.1), optim.control = list())
参数详细说明如下
- x代表要处理的时间序列。
- alpha为水平趋势平滑参数。
- beta为斜率趋势平滑参数,如果做简单的指数平滑,那么beta 和gamma 的取值都为FALSE。
- gamma为周期性平滑参数,如果数据中没有周期性,需设置gamma=FALSE。
- seasonal 选择加法模型还是乘法模型,默认是加法模型,当gamma=TRUE才是有效的。
- start.periods 开始自动预测的位置,至少为3。
- l.start level的初始值,即s_0。
- b.start trend的初始值,即t_0。
- s.start season的初始向量,即p_{10},p_{20},...,p_{k0}。
- optim.start 指定三个参数的初始值。
- optim.control 其它可控参数列表。
假设数据源为monthly-milk-production-pounds-p,代码如下
最终运行结果如下图
看起来预测结果还是很靠谱的。以上就是用指数平滑法解决时间序列预测的所有内容。
,