Time Series Forecasting Using GRU Neural Network with Multi-lag After Decomposition

Time Series Forecasting Using GRU Neural Network with Multi-lag After Decomposition

Abstract

  1. 本文提出的方法针对短期预测问题。
  2. 网络分为两部分:(1)分解原始时间序列:FCD(Filtering Cycle Decomposition);(2)预测子序列:GRU(Gated Recurrent Unit NN),采用多时间间隔(multi-time-lag)以减少对时间间隔的依赖性。
    Keywords:时间序列预测,门循环单元网络,时间序列分解

1 Introduction

  1. 时间序列的预测问题可总结为:建立可以捕捉到历史时间序列规律的模型以预测未来时间的值。即:
    x t + n , … … , x t + 2 , x t + 1 = f ( x t , x t − 1 , x t + − w ) x_{t+n},……,x_{t+2,}x_{t+1}=f(x_{t},x_{t-1},x_{t+-w}) xt+n,,xt+2,xt+1=f(xt,xt1,xt+w)
    其中 f f f为预测模型, x t x_t xt为t时刻时间序列值,n为预测范围,w为用来预测的历史数据窗口大小,即time lag。
  2. 典型预测模型:
    (1)非深度:Exponential Smoothing, Trend Extrapolation, Moving Average Model(MA), Autoregressive Integrated Moving Average Model(ARIMA)等等。
    问题:都是线性模型,拟合效果并不好。
    (2)深度:ANN(Artificial NN),CDBN(将CNN与LSTM结合)。
    问题:time-lag固定;对噪声敏感。

2 Proposed Method

  1. 时间序列的分解。
    基于传统的时间季节性分解模型X-11,我们提出了一种简化模型,即FCD。
  2. 在分解后采用GRU神经网络训练。(1)其中周期子序列在周期内不变,不需要训练;(2)因为GRU在RNN中的不变性,他可以处理变长序列。
  3. 最后一步将子序列的预测结果加和以得到最终预测结果。
    在这里插入图片描述

2.1 时间序列分解

时间序列可以看做由很多子成分组成,所以可分解为: X ( t ) = T ( t ) + C ( t ) + R ( t ) X(t)=T(t)+C(t)+R(t) X(t)=T(t)+C(t)+R(t),其中 T ( t ) T(t) T(t)为趋势时间序列, C ( t ) C(t) C(t)为循环时间序列, R ( t ) R(t) R(t)为剩余时间序列。
另一种序列分解形式为多层模型,本文中我们没有采用。

FCD模型如下:

  1. 选取一个固定的循环周期m,由m确定窗口尺寸。
    w i n d o w s   s i z e = { 2 m m为奇数 m m为偶数 windows \ size= \begin{cases} 2m& \text{m为奇数}\\ m& \text{m为偶数} \end{cases} windows size={ 2mmm为奇数m为偶数
    采用该windows size做滑动平均(Moving Average)来预测趋势子序列T。
  2. 删除趋势信息。
  3. 计算循环周期m的每一时刻的平均值C。
  4. 得到残差信息 R = y − T − C R=y-T-C R=yTC

这是一个简单的季节性分解版本。不同于传统季节性分解模型,这种方法可以设定时间间隔为4天、8天而非传统分解方式的以自然时间为周期的1天、7天。

FCD等效于一个可以提取周期特征和残差特征的滑动滤波器。下面的实验表示,如果将很大的数据做很小的时间间隔划分(比如分钟),残差子序列的量级会比趋势时间序列的量级大得多。而残差时间序列很难找到其规律性对其进行预测,趋势序列信息会淹没在残差时间信息中。所以这种分解方式对于预测的准确性提高并非十分有效,有时甚至会导致准确率降低。

2.2 GRU(门递归单元)

GRU作为基本回归器,是RNN的一个变种,其中更近的时间步长对神经网络的影响更大。
GRU使每个递归单元自适应地捕获不同时间尺度的依赖关系。其优势为:(1)由于门的引入,GRU减少了梯度消失的问题,对于依赖关系的捕获距离更长。(2)比起也是由RNN变化而来的LSTM,其结构更加简单,而性能并未降低,甚至有时还要细微的提升。
GRU中有两个门:
z t = t a n h ( W z ⋅ [ h t − 1 , x t ] ) r t = t a n h ( W r ⋅ [ h t − 1 , x t ] ) z_t=tanh(W_z \cdot [h_{t-1},x_t]) \\ r_t=tanh(W_r \cdot [h_{t-1},x_t]) z

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值