bagging和时间序列预测_时间序列预测与指数平滑法

时间序列预测是将过去一段时间的数据和趋势作为基础,去预估未来一段时间内的数据值。应用场景比较多,例如商场根据过去的销量数据对未来的销量进行预测,以便备货;股民根据过去的股票走势来预测未来股票的涨跌情况,以便做出有利的决策。

对时间序列的预测主要有两种方法:长短记忆LSTM指数平滑法。长短记忆LSTM非常适合处理时间间隔比较长的任务,不过它适用于数据量比较大的场景。而本文介绍的指数平滑法在较小的数据场景也能预测比较准确,它是通过对整个时间序列分别给予不同的权重进行加权平均的一种方法。

一次指数平滑法

对于一组时间序列x1,x2,...,xi来说,可以将连续的n个时期的观测值的平均值作为下一时期的预测值,公式如下

fbd397a19407bbd23647553cc821a6a6.png

这种方法叫做移动平均法,但这个方法缺点也明显,所有观测值的权重都一样。一次指数平滑法可以看成是由移动平均法演变而来的,根据上述公式,有

127f34db4da505abc03acc71212092ec.png

从近似意义角度来说,序列中的任何一个数都可以用平均数来表示,若将x_{i-n}替换为s_{i-1},并设α=1/n,那么得到

a83c8d49e07121f0a0cb23a64325c82b.png

这就是一次指数平滑法,那么为什么叫指数平滑呢? 先看如下推导

3920d363c77ef8f8cee63a634a7229d9.png

可以看出x_i的系数都是指数形式的,并且所有权值之和为1。

很遗憾,一次指数平滑法只适用于水平型历史数据预测,而不适用于斜坡型线性历史数据预测的任务。因为对于斜坡型历史数据,即使α再大,也仍然会产生较大的系统误差。

二次指数平滑法

二次指数平滑法可以预测斜坡型数据,通过添加一个新的变量t来表示平滑后的趋势,递推公式如下

59108771bc99a9bd35a1b9994cda1947.png

其最终预测值表示如下

32cb45228ec87585147b41b33d4fdae9.png

一般初始化条件为

84f7adfffbfecdfbf041fdd96500af4d.png

二次指数平滑法相对一次指数平滑法解决了两个重要的问题

  1. 解决了不能用于有明显趋势的时间序列
  2. 解决了只能向未来预测一期的不足问题

三次指数平滑法

三次指数平滑在二次指数平滑的基础上增加了周期性信息,使其可以预测带有周期性的时间序列。三次指数平滑新增了新的参数p来表示平滑后的趋势,有累加和累乘两种方法,公式如下

1.累加

26f39bd7968558571cc19adf7eee6913.png

2.累乘

96ab1483ad287bcebdc2a0703e7e875e.png

上述变量中,s_i,t_i,p_i分别表示水平趋势斜率趋势周期信息

R语言实战

在R语言中HoltWinters()函数就是用来做时间序列预测的,句法如下

HoltWinters(x, alpha = NULL, beta = NULL, gamma = NULL, seasonal = c("additive
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值