Advertisement

论文阅读:Recurrent Neural Networks for Time Series Forecasting Current Status and Future Directions

阅读量:

typora-copy-images-to: ./

循环神经网络在时间序列预测中的应用现状及其未来研究方向分析


Abstract

递归神经网络(RNN)现已成为一种竞争性预测方法。现有的统计模型(如ETS和ARIMA)因其准确性和高效性而广受欢迎;此外,这些模型因其稳健、高效且自动化的能力也适合非专业人士使用。我们得出结论:当数据集中存在一致性的季节模式时,在这种情况下;否则建议您先进行去季节化处理。与ETS和ARIMA相比:半自动化的RNN模型并非万能工具;但在许多情况下它们仍具竞争力选择。


Introduction

过去,在神经网络(NN)方面存在诸多性能不佳的原因中一种显著的因素是各个时间序列通常较短难以容纳复杂建模方法所需的数据。此外其特征可能随时间发生变化导致即使较长的时间序列也可能缺乏足够的相关数据以适应复杂模型的需求。因此对于使用复杂方法进行序列建模而言至关重要必须具备足够长度并且生成自相对稳定系统才能有效支持这一过程。此外神经网络因其不可解释性受到批评因此预测从业人员传统上倾向于采用更为直接可靠的统计技术。

在同一领域的多条相关的时间序列数据通常被视为一个大的数据集。然而这并不一定意味着单个时间序列包含大量数据而是指这些来自同一领域的多个相关联的时间序列共同构成了一个大的系统或数据库在这种情况下孤立地处理各个时间序列的数据特性可能会导致难以获得准确可靠的预测结果

该预测程序包在R语言环境中提供了多种用于预测的统计方法。这些方法包括ARIMA模型和指数平滑法ETS。通过应用季节性与趋势分解STL方法,在同一个集成软件包中。

该软件包是通过Python开发的,并旨在利用Tensorflow概率库来进行结构时间序列建模。

GluonTS是最近引入的基于Python的开源预测库。

我们开发了一个标准化软件架构,并将其重点放在递归神经网络(RNN)上;这一框架得到了文献综述、实施细节和技术实现的支持。通过对主流RNN结构进行了系统性评估,在纯粹的一元公开数据集上实现了多步 ahead 预测(即未引入外生变量)。随后将模型性能与最新的统计基准系统性对比(来自ets 和 arima 模型实现 hyndman 和 khandakar, 2008),并采用优化改进现有算法作为研究思路

我们首先在第2节中对所有相关概念进行了深入的研究工作,在现有研究的基础上涵盖了传统的单变量预测技术和文献中提及的各种神经网络体系结构。随后,在第3节系统地阐述了所采用的方法框架及其核心原理,在方法实现过程中重点介绍了基于RNN模型的具体架构设计及相应的数据预处理技术。接着,在第4节部分详细描述了整个实验过程中的关键环节包括实验数据的选择与获取、训练过程的具体实现以及模型评估时所需的各种性能指标测定方法等信息。随后,在第5节部分通过对实验结果的数据统计与计算进一步深入分析了各候选模型之间的性能差异并得出了若干具有参考价值的结论性观点。最后,在第6节总结了主要发现并在最后一小结部分展望了未来可能的研究方向和发展趋势


Background Study

系统地探讨了涉及单变量预测领域的各个方面,并详细分析了经典的单变量预测方法、人工神经网络(ANN)及其在时间序列预测中的应用。

Univariate (单变量的)Forecasting

纯粹的单变量预测问题是指根据其自身过去的值预测时间序列的未来值。也就是说,只有一个时间相关变量。

该模型旨在针对具有变量X的问题进行设计和构建,并通过近似技术实现对目标函数F的模拟。该函数的主要作用在于预测从时间段T+1到T+H内的连续时间步长序列值,在此过程中假设H为预期的时间范围长度。在这一过程中产生的误差项\epsilon 代表了与函数逼近F相关的情况。

Traditional Univariate Forecasting Techniques

传统的单变量方法具有显著优点,在数据规模最小的情况下仍能有效运行(Bandara等人, 2020)。与之相比,在参数数量方面具有显著优势。然而, 目前引入的传统单变量技术未能充分满足复杂预测任务所需的关键需求. 因为每个时间序列都需要独立建模, 所以必须频繁重新训练模型. 尤其是在计算资源和数据规模较大时, 计算负担更为明显. 此外, 这些单变量技术并未考虑利用全局模型来整合不同序列的信息, 因为它们仅关注单一时间序列内部固有的特征和模式. 如果一个时间序列足够长且包含大量数据点, 这一点不会成为问题. 然而, 在实际应用中, 这种情况并不常见.

Artificial Neural Network

在数据可用性持续提升的背景下,近年来人工神经网络已成为推动机器学习领域发展的重要主导技术。与循环神经网络不同,在结构上具有单向连接特征的前馈神经网络(FFNN)构成了人工神经网络体系中最为基础的核心模型类型。相比之下,在结构上仅存在单向信息传递路径的FFNN完全摒弃了回环连接机制,并且已广泛应用于各类复杂系统建模任务中。就预测任务而言,在现有研究中已有多项工作致力于探索其应用潜力,并对基于人工神经网络的方法进行了系统性总结。

首先, 人工神经网络能够应用最小先验假设表示各种潜在的关系模式. 其次, 该模型能够总结这些关联并应用于隐藏的数据集. 最后, 人工神经网络是一种万能逼近模型, 它能够处理任何类型的关系模式, 特别是复杂的非线性关系模式(Hornik等, 1989).

设定最优网络架构以及针对特定问题的训练阶段对于优化人工神经网络模型以达到最高准确率具有重要意义。同样关键的因素是模型中选择输入变量(Zhang and Kline, 2007)。

基于Yan(2012)的研究成果,该领域学者提出了一个新的神经网络架构——广义回归神经网络(GRNN),其被称为一种特殊的径向基函数网络体系。这种新型体系只需确定一个影响径向基函数宽度的关键参数——扩展因子,并因此决定了有多少训练样本会对输出产生影响。

张(2003)提出了基于混合模型的时间序列预测方法。ARIMA模型被用来建模时间序列中的线性部分;之后能够建模对应非线性的残差部分。该混合预测方法与增强理论密切相关,并且多被采用为集成技术以降低预测偏差。

将时间序列数据输入ANN(特别是前馈神经网络)时所采用的最普遍方法是将整个序列划分为一系列连续的小块输入窗口,并利用前馈神经网络模型分别对每个输入窗口内的数据点以及紧随其后的单个后续数据点进行预测。

Recurrent Neural Networks for Forecasting

每一个RNN都是由多个RNN单元组成的系统。在序列建模任务中被广泛采用的主流RNN单元包括Elman型、长短期记忆型(LSTM)以及门控循环型(GRU)。经过选定的数据集评估后发现,在某些情况下难以明确判断哪种模型表现更为优异。值得注意的是,在性能上ERANN与传统的门控型RNN单元相媲美,并且其训练效率显著高于后者。进一步指出,在使用梯度下降方法进行优化时发现,在所选数据集上的表现中等偏下。这归因于反向传播过程中对时间步长进行计算所带来的计算开销。基于梯度的方法通常会面临较高的计算资源消耗问题。

堆叠体系结构可以说是RNN预测最常用的体系结构。

在神经机器翻译任务中流行的一类RNN架构是Sutskever等人的Sequence to Sequence(S2S)架构。基于GRU的变体在两项测试数据集上均优于其他现有模型。近期研究表明,在进行时间序列特征提取后又可进一步推演实际结果方面,S2S架构展现出显著优势。值得注意的是,该方法不仅限于直接预测,还可以通过提取中间特征后再完成最终预测任务

因为时间序列包含季节性组件,在预测领域中可以利用前述提到的关注机制进行建模。例如,在某些情况下(如某个月份的时间序列呈现 yearly seasonality),该模型在预测下一个月时将特别依赖于前一年同一月份的数据点。这相当于将过去12个月的数据给予更高的重视以提高预测准确性。

基础学习者的多样性越高,最终合奏的准确性就越高。

Leveraging Cross-Series Information利用跨系列信息

不采用单独为每个时间序列建立单独的建模方案。相反,在综合考虑了各时间段内信息的情况后进行建模。常被研究者称为全球建模方法的一种是那些能够同时处理多条时序数据的方法(Januschowski等, 2020)。然而,在实际应用中发现这种整体性的存在并不足以揭示各时间段间的相互影响关系。相反地,在这种情况下参数估计则采用了统一的方法(Januschowski等, 2020)。

现代预测问题中的常规做法通常是基于多个具有相似模式的时间序列进行整体预测而非单一时间序列的单独预测。零售领域中的典型应用便是对多个高度相似产品的需求进行预判。相比于局部方法而言,在这种情况下采用全局模型能够通过跨系列学习机制获取更多相关信息从而展现更大的潜力。Trapero等。(2015年)在他们的研究中也采用了类似的方法用于库存单位(SKU)的预估工作。特别地,在分析那些促销记录有限或者与其他产品之间缺乏关联性的SKU时 通过整合多组SKU的数据进而计算回归模型的参数系数 然而这些回归模型仅局限于捕捉线性关系并且无法维持每个时间序列独有的特定状态信息

在深度神经网络框架下,研究人员已采用开发全球模型的方法。针对RNN而言,在其运行过程中其权重被全局计算,并且每个时间序列的状态得以维持不变。


Methodology

Recurrent Neural Network

Recurrent Units

选择以下三种类型的递归单元来构成我们实验中的RNN层。

•Elman循环单元
•门控循环单元
•具有窥孔连接的长短期记忆

基本ERNN细胞的结构

在等式2a和2b中,ht∈Rd表示RNN单元的隐藏状态(d是单元尺寸)。这是ERNN单元中唯一的内存形式。 xt∈Rm(m是输入的大小),zt∈Rd表示在时间步长t时单元的输入和输出。 Wi∈Rd×d和Vi∈Rd×d表示权重矩阵,而bi∈Rd表示隐藏状态的偏差矢量。同样,Wo∈Rd×d和bo∈Rd表示单元输出的权重矩阵和偏差向量。当前隐藏状态取决于上一个时间步长的隐藏状态以及当前输入。 RNN单元中的反馈回路将其当前状态连接到下一个状态,从而支持这一点。这些连接对于在更新当前单元状态时考虑过去的信息至关重要。在实验中,我们使用S型函数(用σ表示)激活隐藏状态,并使用双曲正切函数(用tanh表示)激活输出。

ERNN结构在面对长度过长的序列时会面临众所周知的消失梯度与爆炸性增长的问题。这些挑战表明即使最基础的RNN单元也无法有效地传递长期依赖关系到未来的状态。具体而言,在处理过长序列时,如果出现异常大的步长(即发生爆炸性增长),这会导致权重矩阵趋向于不稳定性;与此同时,在处理过长序列时如果出现异常小的趋势(即发生消失性衰减),这也会导致权重更新受到限制从而影响模型性能

多年来,针对此基本循环单元引入了其他几种变体,以解决其缺点。Hochreiter和Schmidhuber(1997)引入的LSTM单元可能是自然语言处理任务中最受欢迎的单元,因为它能够捕获序列中的长期依存关系,同时缓解了梯度消失的问题。 LSTM Cell的结构如图2所示。

与基本RNN单元相比,在LSTM架构中包含两个关键组成部分:一个是隐藏状态(short-term information storage mechanism),另一个是内部单元状态(long-term information storage capability)。这种设计使得LSTM能够有效抑制由于CEC(恒定误差Carrousel)机制所带来的梯度消失与爆炸现象。此外,在LSTM网络中引入了完整的门控机制体系(gate structure),其中包括输入门(input gate)、遗忘门(forget gate)以及输出门(output gate)。根据等式3a至3g所示,在时间步t时刻:

  • ht∈Rd表示当前细胞的状态向量
  • Ct∈Rd代表当前的状态信息
  • 〜Ct∈Rd则表示候选的状态信息
    其中:
  • xt∈Rd与基本RNN中的输入向量意义一致
  • Wi, Wo, Wf, Wc均为权重矩阵集合
  • Vi, Vo, Vf, Vc分别代表输入相关权重矩阵
  • bi, bo, bf, bc为偏置向量序列

门的激活函数σ表示S型函数,其输出范围为[0,1]的值。等式3e中,输入门和忘记门共同确定了多少过去信息要保留在当前单元状态中,以及多少当前上下文要向前传播到将来的时间步长。
表示元素明智的乘法,被称为哈德玛积。

在LSTM网络架构中,遗忘门ft被设定为0时表明不应继承前一时间步的状态信息;这实际上意味着当前单元必须完全舍弃前一步的状态信息。换句话说,在这种情况下,当前单元必须完全舍弃前一步的状态信息。对于it门和ot门而言,则分别负责控制是否需要保留或遗忘相应的前一步信息;这些机制使得LSTM能够更加灵活地处理长短时记忆问题。值得注意的是,在输入门控制中,其取值范围限定在[0, 1]区间内,并通过融合了来自前一步的状态信息和当前候选细胞的信息来实现对当前细胞状态的精确调控;此外激活函数的选择也至关重要:该模型采用双曲正切函数作为激活函数(tanh),其输出范围限定在[-1, 1]区间内;相较于基本RNN模型,在这种结构下每一层的输出ht不仅反映了自身输入信号的影响,并且直接对应于上一层的隐藏状态ht;这一特性使得LSTM网络在处理序列数据时展现出更强的记忆能力和计算效率

带窥孔连接的LSTM细胞。在此LSTM单元中,状态根据以下方程式更新。

其主要区别在于,在更新前的上一时刻单元格状态Ct-1之前先查看了遗忘门与输入门的状态信息。根据公式4a至4g所示,在这里Pi、Po和Pf均属于Rd×d空间中的矩阵,并分别代表输入层、输出层以及遗忘层的权重参数。而输出层则能够依据当前细胞的状态来生成相应的输出信号。本研究采用的是TensorFlow框架内默认实现的那种窥孔连接设计。

GRU是Cho等人引入的另一种变体,它比LSTM单位更简单,计算速度也更快。这是由于LSTM单元在内部门控机制内具有三个门,而GRU仅具有两个门,即更新门和复位门。本单元中的更新门起着忘记门和输入门相结合的作用。此外,类似于普通的RNN单元,GRU单元也仅具有状态的一个分量,即隐藏状态。

ut和rt属于Rd,在这里分别代表更新门和重置门。~ht ∈ R 表示候选隐层状态,在时间步 t 时的状态 ht 则属于 Rd 类别。\权重参数及偏差项均遵循之前所述的一致符号系统。\重置门则决定了有多少先前的状态能够参与到当前时刻候选态~ht 的生成过程中。\只有当忘记~ft 不存在时~ft=1, 才会使用 (1 - ut) 作为替代方案来计算新的隐层状态值。\与 LSTM 单元相比而言, GRU 的结构相对简单(参数数量较少)因而受到了广泛的关注, 同时其训练效率也非常高效.

接下来就要用这些单元去构造RNN递归神经网络架构

Recurrent Neural Network Architectures
stacked Architecture

堆叠体系结构,图4显示了RNN的折叠版本,而图5显示了随时间的展开版本。想法是,相同的RNN单元在每个时间步重复一次,在每个时间步之间共享相同的权重和偏差。单元的反馈回路帮助网络将状态ht传播到未来的时间步长。为了概括起见,图中仅显示了状态ht;但是,对于LSTM单元,应伴有单元状态Ct。

堆叠意味着可以将多个LSTM层彼此堆叠。在最基本的设置中,模型只有一个LSTM层。图5用于这种基本情况,而图6用于多层方案。对于许多隐藏层,将与图5相同的结构相互叠放重复多次,其中,将每个层的输出直接作为输入馈送到上方的下一个直接层,并从中检索最终预测最后一层。

如图5所示,在时间步t处输入变量\bm{X}_t代表了来自该时间段的信息。而\bm{\hat{Y}}_t则对应于该时间段的目标输出。为了构建层次结构中的\bm{X}_t\bm{\hat{Y}}_t关系网络(即所谓的层次结构),我们采用了滑动窗口方案来处理数据流。在每个时间步骤t上,在线运算器将利用当前时刻的所有权重参数计算出与下一时刻目标信息相关的即时特征向量\bm{z}_t。同时,在最后一个时间步\hat{Y}_T对应的RNN单元实例能够生成与特定时间序列预期预测相一致的结果。然而,在实际运行过程中发现,在最后一个循环单元中得到的结果无法达到预期预测范围(即预测长度H)。由于循环神经元的数量d是一个可调节的关键超参数,在实际应用中可以选择合适的数值来满足需求。为了使输出能够映射到所需的预测范围,在循环网络顶部附加一个仿射全连接层,并将其参数融入统一训练过程。需要注意的是,在图5中省略了这一完全连接层的具体实现细节,并且输出空间\bm{\hat{Y}}_t\in\mathbb{R}^H实际上是由组合后的RNN元胞以及后续密集层共同产生的综合结果

在模型训练过程中,将按每个时间步长计算误差,并累积误差直到时间序列结束为止。令每个时间步长t的误差为et。

其中Yt是在时间步t处的实际输出矢量,也根据移动窗口策略进行了预处理。对于所有时间步长,累积误差E可以定义如下

在每一个时间序列的末端位置上,在整个序列范围内计算得到累计误差E后将会被用于执行时间反向传播(BPTT)这一过程。随后,在运用所选择的具体优化程序算法时会根据计算出的梯度值对RNN单元中的权重参数以及偏差参数进行系统性地更新调整以实现模型性能的有效提升。

Sequence to Sequence Architecture序列到序列架构

在本研究中所采用的序列到序列架构如图7所示。相较于堆栈式架构而言,S2S网络的主要区别较为有限。其中之一就是其输入结构有所不同——该网络中的每个单元实例接收单个数据点作为输入,而非向量形式。未采用基于移动窗口的数据预处理方案。而RNN单元则持续接收来自各个时间步的信息流以便于形成一个动态的状态描述——这一组件被称作编码器组件。值得注意的是,在编码器阶段仅关注最后一个时间段内生成的预测结果

在此处,在预测范围内每个 yt 对应于单个数据点。通过这种方式产生的组件被称为解码器。解码器包含一组 RNN 单元实例,在每个预测范围内的每一步中都有对应的单元实例。解码器的初始状态是从编码器构建的最终状态导出的,并称为上下文向量。解码器的一个独特功能在于其内部存在从前一个时间步输出到下一个时间步单元实例的输入回环连接。在训练过程中,默认会忽略这些连接,并将每个先前时间步长的实际外部输出用于强制指导。这有助于评估和改进解码器组件对先前输出预测准确性以及调整策略的有效性。

在测试期间,由于实际目标不可用,因此使用自回归连接将其替换为生成的预测。这被称为计划采样,其中决定从解码器的输出或外部输入中采样。解码器还可以接受外部输入来支持外生变量,这些外生变量的值对于将来的时间步长是已知的。由于隐藏状态的大小可能不等于1,这是解码器每个单元的预期输出大小,因此仿射神经层将应用到解码器的每个单元实例的顶部,类似于堆栈式体系结构。在S2S架构中为反向传播计算的误差与堆叠架构的误差不同,因为在编码器的时间步长上没有发生误差累积。对于优化器的损失函数,仅考虑解码器上的错误。

如图8所示,网络不再包含解码器。每个时间步仅存在编码器以接受输入。

论文用到的算法

体系结构 输出组件 输入格式 错误计算
堆积 致密层 移动窗口 累积误差
S2S 解码器 没有移动窗口 最后一步错误
S2S 致密层 没有移动窗口 最后一步错误
S2S 致密层 移动窗口 最后一步错误

Learning Algorithms

在我们的框架中进行了三种不同学习算法的评估;包括Adam优化方法、Adagrad优化方案以及CO COB(COCOB)优化系统。其中Adam和Adagrad都集成有基于Tensorflow的内置实现,并为研究提供了完整的技术支持;而CO COB(COCOB)优化系统则提供了基于开源Tensorflow框架的支持

Adam优化器与Adagrad优化器在设计上都依赖于超参数设置。Adagrad引入了自适应学习率的概念,在对目标函数进行逐个变量求导的基础上实现了自适应调整机制。与之相似的是Adam算法,在每一步迭代中都分别维护每个待更新参数的一阶矩和二阶矩估计量。然而为了克服传统自适应算法中逐渐降低的学习速率问题,在更新规则中采用了一种新的策略即利用梯度矩的一阶矩和二阶矩的衰减平均值来进行迭代更新操作。经过大量实验研究通常认为Adam在大多数场景下表现优于其他常见的一阶矩和二阶矩优化方法。

COCOB优化器旨在通过自适应学习率调整来优化损失函数。这种设计在一定程度上降低了用户对超参数设置的负担,并且实现了完全自动化神经网络建模过程中的重大突破。然而,在实际应用中发现该方法的学习算法对其收敛速度存在高度依赖性。为了实现最优模型性能,在选择合适的最优 learning rate 方面必须格外谨慎。

COCOB算法遵循硬币下注方案,在每次迭代期间投入固定金额的资金用于掷硬币的结果预测,并以此实现资金的最大化积累。Orabona和Tommasi(2017)将这一思路成功应用于函数优化问题中的应用,并将其命名为自适应学习率优化器。具体而言,在每局游戏中掷硬币的结果与所获总财富分别对应于该函数的最佳极值点及其在此处的负梯度方向。在设计投注策略时, 我们必须确保无论何时系统都不会出现资金亏损的情况, 并且随着每局游戏的进行投入的比例逐步提高, 直到连续几局游戏后目标函数的变化方向一致为止。这种特性使得COCOB算法能够持续增大步长系数, 从而显著加快了收敛速度, 其收敛速率表现优于采用固定或衰减学习率策略的传统梯度下降方法。与Adagrad优化器类似,COCOB算法同样为模型参数维护独立的学习率参数, 即所谓的"学习率".


Experimental Framework

为构建该模型,我们采用基于Abadi等人提出的TensorFlow开源深度学习框架的1.12版本

Datasets

用于实验的数据集取自过去几年举行的以下预测竞赛。

CIF-2016 预测比赛数据分析集合
NN5 预测比赛数据分析集合
M3 预测比赛数据分析集合
M4 预测比赛数据分析集合
Wikipedia 网络流量时间序列分析与建模比赛数据分析集合
旅游领域与需求分析相关比赛数据分析集合

如前所述,在单一季节的时间序列上进行单变量多步预测的研究局限于特定情况下以确保能够直接与现有的自动基准方法进行对比。对于NN5数据集及Wikipedia网络流量等具有每日观测值少于两年的数据集而言,则我们仅考虑每周级别的季节性特征。基于来自M3和M4的数据集,则我们只采用包含单一年度季节性的月度时间序列作为研究对象。这些包括非负数序列的数据集如NN5、维基百科网络流量数据以及旅游业相关数据。

数据集名称 时间序列号 预测范围 频率 最大值长度 最小长度
CIF 2016 72 6, 12 Monthly 108 22
NN5 111 56 Daily 735 735
M3 1428 18 Monthly 126 48
M4 48000 18 Monthly 2794 42
Wikipedia Web Traffic 997 59 Daily 550 550
Tourism 366 24 Monthly 309 67

该数据集每月包含72条时间序列,在这些数据中约有57条的时间序列具有较长的12天预测跨度。剩余约有15条时间序列通常具有较短的6天预测周期,在这些系列中某些长度不足两个完整的周期从而不被认为是具有季节性的现象。而其余的时间序列表现为人工生成的数据

NN5竞赛在2008年举行。其中包含了总共111个每日时间序列,这些时间序列代表了英国ATM机在过去两年内的日常现金提取数据。每个时间序列的预测区间长度均为56。此外,该数据集还包括缺失值的情况。

自20世纪以来,M3竞赛已举办了多项活动. 每期比赛中,时间序列的预测范围固定在18个数据点. 该数据集整合了来自不同领域的样本信息: 微观经济指标、宏观经济变量、工业生产指数、金融市场指标以及人口统计数据等. 每个子类别的样本数量平均约有1428条. 相较于前一届,M4竞赛的一个显著变化是预测可用数据量的大幅增加. 因此,经过此次竞赛的数据收集和整理工作后发现: 整体数据库规模达到1\times 1e^{5}条记录; 单月某个细分领域的子类总量已经达到4.8\times 1e^{4}条记录

基于一个拥有约14.5\times 10^4篇文章的日志记录。

该竞赛的数据集涵盖月度、年度和季度性时间序列特征。此外,在我们的实验中我们选择了月度类别作为研究对象。本竞赛中对月度类别的要求是预测每个系列未来24个月的数据表现。然而这些数据通常被描述为与旅游相关的特点,并未提供具体数值信息。值得注意的是这些数据通常被描述为与旅游业相关的特定特征,并未提供具体数值信息。该竞赛的主要目标在于鼓励研究人员使用相同的旅游数据集进行研究和建模工作,并提出超越初始发布结果的新模型框架以提高预测准确性。

图9显示了不同数据集的季节性强度的小提琴图。为了提取季节性优势,我们使用tsfeatures R包

如图9所示:展示了各时间序列的季节性强度分布情况。与多数基准数据集相比,在NN5系列和旅游业这两个子序列中发现其表现出显著的高波动性。两组对应的小提琴图显示其分位数区间沿y轴方向较为靠上。对比而言,在NN5系列内部各时间序列表现出较为一致的波动幅度。对于Wikipedia Web Traffic这一基准数据集,则其分位数区间不仅更为紧凑,在y轴方向上的位置也显著偏低。进一步分析表明,在所有评估基准中Wikipedia Web Traffic时间序列呈现出最弱的季节性特征。

Data Pre-processing

Dataset Split

与Suilin和Bandara等人提出的想法类似,训练和验证数据集是分开的。在每个时间序列中,我们从末端保留一部分用于验证,其长度等于预测范围。这是为了使用第4.3.1节中介绍的自动技术找到超参数的最佳值。时间序列的其余部分构成训练数据。图10中说明了这种方法。由于要复制通常的竞争设置,因此我们使用这种固定来源机制进行验证,而不是滚动来源方案。此外,鉴于我们已经在6个数据集中实施并测试了36个RNN模型,并涉及数千个时间序列,以进行训练和评估,因此即使在固定原点评估的情况下,我们也认为我们的结果具有代表性,而执行滚动原点在计算上极具挑战性评价。

但是,在Suilin的研究中指出

Addressing Missing Values

大量机器学习技术难以处理缺失的数据,并且必须使用适当的方法来填补这些缺失值。可用的技术包括均值填充、中位数填充以及基于线性插补的方法。其中两种常见的填补方法是均值填充和中位数填充。另外两种常用的方法是基于线性插补和用零填充。在实验所涉及的数据集中,在针对NN5数据集时我们采用了中位数值作为填补策略。对于NN5数据集而言,在其每日观测的时间序列分析过程中,默认情况下会将同一周对应日期的所有缺省观测替换成该系列一周内各相应日期位置的中间数值(即中间日志)。例如,在某一周二出现缺省观测的情况下,则将该时间序列所有星期二对应位置的数值取其中间数值作为替代观察点。这种方法似乎优于仅依赖现有观测的数据情况下的中间数值计算方式(因为NN5系列每周都具有很强的日周期特征)。相比之下,在Kaggle网络流量数据集中缺失观测的比例更高,并且该数据源并未对缺失标记与实际零数值进行区分。因此,在这种情况下我们需要对所有的缺省标记执行简单的零填充操作以完成填补过程

Modelling Seasonality季节性建模

我们致力于探讨神经网络(NN)是否能够独立模拟季节性变化这一核心问题。为此,我们设计并进行了无季节性变化实验。在下文中,我们详细阐述了在去除季节性影响下的反季节化处理程序及其应用效果。理论上确定性季节性不会对建模过程产生显著影响,并因此提前确定其特性可有效减轻NN的计算负担。通过引入一系列Loess平滑器配合STL分解方法,在建模中可更精准地分离时间序列中的趋势、季节性和剩余波动部分。值得注意的是STL分解方法具备捕捉时间序列中动态变化潜力的能力然而在本研究中我们采用了确定性的STL处理方式假设所有时间序列的季节性特征在整个研究时间段内保持恒定

Stabilizing the Variance in the Data稳定数据中的差异

如果使用了附加的季节性分解技术(如第4.2.3节中的STL分解),则必须进行方差稳定化。对于时间序列预测,可以通过多种方式完成方差稳定化,并且可以说应用对数变换 是最简单的方式。但是,对数的一个缺点是它对于负值和零值输入是不确定的。所有值都必须在对数的正标度上。对于非负数据,可以通过定义等式10中的Log变换作为纯对数变换的稍有改动的版本来轻松解决。

公式10中的y表示整个时间序列。对于计数数据,\epsilon可以定义为等于0,而对于实值数据,\epsilon可以选择一个接近于0的小的正值。对数是一个很强的变换,可能并不总是足够的。还有其他一些类似的尝试试图克服这一缺点。一种这样的变换是Box-Cox变换。定义如下:

如公式11所示,Box-Cox变换是对数变换(当λ= 0时)和功率变换(当λ! = 1时)的组合,用yλ t表示。需要仔细选择参数λ。在λ等于1的情况下,Box-Cox变换的结果为yt-1。因此,数据的形状不会改变,而是将序列简单地向下移动1。幂变换的另一种类似形式是公式12中所示的Yeo-Johnson变换。

该变换中的参数µ被限定于区间[0,2]内,在这种情况下当µ等于1时,则实现恒等式转换。其取值范围涵盖正数、负数以及零值。相较于对数转换而言此方法具有显著优势;然而确定最佳参数µ并非易事。

基于我们实验中使用的全部数据均为非负数值的情况而言,在该研究中我们采用了对数转换法。

Multiple Output Strategy多输出策略

预测问题通常是多步式预测问题,这也是我们在实验中重点关注的问题。

Ben Taieb等对涵盖五种不同技术的研究进行了深入探讨,并致力于多步预测方法的研究与应用。递归策略通过将前一个时间步的预测结果作为后续预测的输入来实现序列化预测过程。而直接策略则采用了分散化的模型架构,在每个时间步上分别部署独立的模型来进行预测工作。DiRec策略结合了上述两种思路,在每个预测阶段都构建特定模型,并将各阶段模型之间的预测结果依次作为输入传递给下一个连续阶段进行建模与更新。值得注意的是,在这些方法中,核心模型始终会输出对应于单个预测步骤的结果值。Ben Taieb等人还引入了一种新的方法——测试另外两种创新性技术:基于直接多步提前预测的方法(Direct Multi-step Prediction)。在这一类别下还有一种称为多输入多输出(MIMO)的技术体系,在该体系中每个时间步都会生成与整个输出窗口相对应的整体性输出向量序列。其中第一个子类的优势在于能够一次性生成完整的输出窗口预测结果,并且能够整合各个时间步之间的相互依赖关系而不必单独处理每一个时间点的问题。为了整合直接技术和MIMO技术的思想精髓,DIRMO方法被提出采用了一种混合式的解决方案:即每个模型都会生成大小为s(s∈{1, …, H})窗口内的预测结果(H为整体预测范围)。当s取1或H值时,DIRMO方法分别退化为传统的Direct或者MIMO方法体系.经过NN5竞争数据集的支持实验表明,多种不同的输出路径均能带来较为理想的性能表现.DIRMO方法则要求我们在实际应用中要根据具体情况谨慎选择合适的窗口大小s.同时Wen等人的研究表明,基于多输入多输出(MIMO)的方法在实际应用中表现稳定可靠,因为它能够有效避免逐层递进式的逐点预测所带来的误差积累问题.

每个循环单元接收一个输入窗口,并生成相应的输出窗口(该窗口随后接收到的输入的时间点)。下一个连续时间步的循环像元实例接收与其前一阶段相同尺寸的输入窗口,并向前推进一格。这一方法也可视为一种有效的数据增强手段。图11展示了这一方案。

其中一种策略是通过略微超出预测结果长度来增强模型稳定性(m = 1.25 × 预测结果长度)。另一种策略则是通过略微超出季节性模式的长度来优化预测效果(m = 1.25 × 季节性周期)。例如,在面对每周呈现规律性的数据时(季节性周期=7),若预期覆盖范围为7天,则采用第一种方法会设定输入窗口宽度为8天(即7×1.14),而第二种方法则会设定为8天(即7×1.14)。这里使用的常数1.25被选中是为了作为一个探索性的基准值。其作用在于确保每个时间步长都能观察到至少一个完整的周期循环,并在此基础上进行随机成分的建模。当时间序列数据较短时,则会选择两个可能值中的一个作为参考指标;如果两个都不适用,则考虑其他可能的设计方案以获得更好的适用效果。

Trend Normalization趋势归一化

RNN单元中使用的激活函数(例如S型或双曲正切函数)具有饱和区,在此之后输出是恒定的。因此,在使用RNN单元时,应确保将馈入的输入进行适当的归一化,以使输出不会处于饱和范围内。为此,我们已经为使用移动窗口方案的RNN体系结构执行了每个窗口局部标准化步骤。从每个经过反季节化的输入和对应的输出窗口对中,减去输入窗口的最后一个时间步的趋势值(通过应用STL分解得出)。这是针对移动窗口策略的所有输入和输出窗口对执行的。图11中红色的时间步长对应于所有输入窗口的最后时间步长。该技术的灵感来自批处理规范化方案,并且还有助于应对时间序列的趋势。对于不使用移动窗口方案的模型,按序列进行归一化,而将整个训练序列最后一点的趋势值用于归一化。

Mean Normalization平均归一化

对于未采用STL分解的一组实验,则不能进行第4.2.6节所述的趋势归一化处理。在这些情况下,在实施第4.2.4节中的Log变换之前,请先完成数据的时间序列均值归一化处理。具体而言,在完成每个时间段内的时间序列均值归一化时(即每个时间段的数据点都被其所在时间段的均值相除),会发现采用除法运算(而非减法运算)能够更加有效地将所有时间段的数据缩放到相似范围内。这种做法有利于提升RNN的学习效果。随后会对经处理后的结果数据应用Log转换操作

Training & Validation Scheme验证方案

本节系统阐述了针对训练模型的方法细节。我们采用了第2.4节所述的全局模型概念,并开发了一个适用于所有可获取的时间序列的预测系统。

Hyper-parameter Tuning(超参数调整)

实验需要适当调整与模型训练相关的许多超参数。
1.最小批量大小

在RNN中,每个完整的反向传播过程所涉及的时间序列数量被称为最小批量大小。相较于一次性处理所有时间序列的方式而言,这种分批处理的方法需要较高的内存占用。然而,在极端情况下当每次仅使用单个时间序列进行反向传播时这可以被视为一种更为普遍的情况

2.纪元数

  • 历元相当于完整地经历一次前进与后退的过程。
  • 因此,在完成最优训练时所需的数据量与其数量直接相关。

3.纪元大小

在每个时间段内(即使),数据集也需要遍历其对应的时间段数量(次数)。这一策略对于时间序列数据量有限的情况而言尤其有效(有益),因为它能够提高可用于模型训练的数据样本数量(数据点)。这是因为当可获取的数据量较大时(因为),应当尽可能地对神经网络进行训练(进行训练)。

4.学习率

在实验中采用三个优化器,在实验过程中需要适当调节Adam优化器和Adagrad优化器的学习速率,并且这种调整有助于提高模型的收敛速度

5.高斯噪声的标准偏差

6.L2正则化参数

为了降低模型过拟合的风险, 采用了两项措施. 首先, 通过将高斯噪声加入输入数据, 并在损失函数中引入L2范数作为正则化手段(如第4.3.2节所述). 其次, 这些方法均需调节超参数, 其中包括高斯噪声分布的标准差以及L2正则化的强度.

RNN单元尺寸

隐藏层数

随机法线初始化器的标准偏差

改写后的文本

为了调整超参数时, 可以采用多种不同的方法. 最直接、最基础的方式就是手动调节, 这意味着要进行大量手动测试才能确定最优的参数设置.

网格搜索和随机搜索是自动超参数优化的两种最基本方法

基于名称的命名原则下, 网格搜索通过构建不同超参数组合的空间来进行系统性探索. 具体而言, 当面对两个超参数Γ和Θ时, 我们会分别对每个超参数设定一组离散的值, 如Γ中的(γ₁, γ₂, γ₃,...) 和Θ中的(θ₁, θ₂, θ₃,...). 随后, 网格搜索算法将遍历Γ与Θ所构成的所有可能组合(γ,θ), 并在模型训练过程中利用这些配置在保留集上计算对应的误差指标.

在随机搜索算法中采用超参数的分布而非具体值,在每次迭代中从该分布中随机抽取每个模型评估所需的参数值。设置最大迭代次数作为上限,并在验证集上运行模型评估后选择最优配置。此外还有更为复杂的超参数调节方法。

Bayesian Optimization贝叶斯优化

该方法逐一评估了目标函数(验证损失),这意味着通过重新训练机器学习模型来实现上述过程。然而,这会带来高昂的计算成本。贝叶斯优化的核心理念在于限制这种高代价的目标函数评估次数,并通过高斯先验对所有潜在函数进行建模(Snoek等,2012)。

Sequential Algorithm Configuration based on a Sequence-based Model (SMAC)

用于超参数调整的SMAC方法由Hutter团队首次提出。该实现建立在顺序模型优化(即SMBO)的基础上作为贝叶斯优化的一种方法 SMBO采用了树状结构化的Parzen估计器(TPE)来建模目标函数 而不是传统的高斯先验模型 TPE算法每轮迭代会生成一组候选最优超参数值 与常规贝叶斯优化不同的是 在常规情况下通常只会选择一个候选最优值 树状结构允许我们定义条件依赖关系下的超参数设置 执行该过程 直到达到给定的时间限制或者达到多次迭代为止

Dealing with Model Overfitting处理模型过拟合

当测试数据集的表现远低于训练数据集时,在机器学习中就发生了过拟合现象。这表明该模型在训练阶段表现优异,并且无法有效地推广到 unseen 数据。

在NN模型中,这主要是由于大量参数导致的复杂性而发生的。为了使模型更具通用性并捕获看不见的模式,我们在框架中使用了两种技术。一种方法是将噪声添加到输入中以使其部分失真。此处应用的噪声分布是均值为零且标准偏差被视为另一个超参数的高斯分布。另一种技术是L2权重正则化,它在损失函数中使用Ridge惩罚。权重正则化将权重归并到损失函数中,从而避免了网络的权重过分增长,从而惩罚了网络以增加其复杂性。

在公式13中,E代表网络输出产生的平均绝对误差.wi代表网络中的可训练参数,而p则表示这类参数的总数.由此可见,如公式13所示,L2正则化的机制是将权重平方与其调节参数ψ相乘的结果.ψ的选择具有关键性影响,因为当其值过大时会导致模型欠拟合;相反地,过小的ψ值可能导致模型过拟合.在本研究中,我们将其视为超参数进行优化

Model Testing

Data Post-Processing数据后处理

在计算最终误差指标时, 可以通过对预测结果进行适当的方式反转以恢复原先的预处理效果

Performance Measures

对称平均绝对百分比误差(SMAPE)是许多预测比赛中最常用的性能指标。

MASE是一种度量方法,在不依赖于数据尺度的情况下有效。其计算分子与SMAPE一致,并且该方法使用样本内部的一阶自然预测值或基于季节性的预测误差来进行标准化处理。

Benchmarks基准

作为比较基准依据,在R的预测包库中挑选了两类具有强大预测能力的传统单变量ets模型以及auto.arima模型,并构建了性能优越的体系,并采用其默认设置。

Statistical Tests of the Results结果的统计检验


Analysis of Results

Relative Performance of RNN Architectures

Performance of Recurrent Units

Performance of Optimizers

表现度分析:输出模块在序列到序列架构中的性能评估

Comparison of Input Window Sizes for the Stacked Architecture

Analysis of Seasonality Modelling

Performance of RNN Models VS. Traditional Univariate Benchmarks

Experiments Involving the Total Number of Trainable Parameters

Analysis of Computational Efforts in RNN Systems Against Benchmarks

Hyperparameter Configurations


Conclusions

这项研究旨在解决RNN在预测中的一些关键问题,并评估那些对技术知识有限的专业人士能否以及如何采用这些方法来完成他们的预测任务。通过广泛的实验研究不同特征的数据集我们得出了关于数据预处理最佳实践超参数配置最优RNN架构循环单元以及优化器等方面的结论。基于拥有大量相关的时间序列数据库我们可以利用这些数据库中的信息来构建高效的模型。

基于我们进行的一系列实验得出结论可知,在使用带有窥孔连接的LSTM单元与COCOB优化器相结合的方式下构建叠加架构,并采用移动窗口格式处理反向季节性数据时,在多个基准数据集之间均表现出良好的竞争力。特别值得注意的是,在经过重新校正训练参数数量后仍表现出色的情况下,LSTM网络依然被视为最有效的单个时间序列预测模型之一

我们进一步总结发现,在数据集中所有序列呈现统一的趋势周期,并且这些序列都拥有足够的历史信息覆盖相同的时间跨度时,RNN具备捕捉趋势周期的能力,并不需要提前去 seasonalize

RNN本身难以模拟季节性特征,因而必须采取反季节化处理.通过包含回归模型的合并与非合并版本实验,可以看出跨系列信息对于某些数据集类别的帮助.然而,即便是在包含大量异构序列的数据集中,基于RNN的时间序列建模依然可能在预测精度方面占据优势.综合以上分析可知,借助于交叉序列信息的时间序列集合能够发挥独特作用,同时RNN的强大预测能力有助于进一步提升整体准确率.

针对计算成本的研究表明,在现有统计数据基础上而言RNN算法运行时间较长然而随着企业广泛采用云计算基础设施这一处理时长已变得可行此外我们的研究成果经过严格验证证实RNN模型在预测领域具有显著优势无论是在算法实现还是实际应用效果方面都远超前人所知的最佳统计数据方法基于本研究中进行的大规模实验分析,在多数预测场景下复杂的方法显著优于简单的统计基准

在SMAC算法中初始超参数范围的选择是一个半自动的过程,在各个数据集上选取相近的超参数范围。然而最小批量大小根据各数据集规模而定。相比之下,RNN模型相对于ets和auto.arima而言,其拟合效果略显复杂。与此同时,我们开发出了一种新的工具框架,旨在推动这一领域的发展。基于以上分析, 我们认为,RNN模型如今已成为一种值得信赖的选择,能够超越现有的基准模型。


Future Directions

我们的研究结论仅适用于单一时间点的单变量点预测。然而, 近年来, 采用概率方法对神经网络(NN) 预测不确定性进行建模的研究已经引起了社区越来越浓厚的兴趣。同样地, 在考虑到复杂的情况(如零售业)时, 不同产品的销售之间可能存在相互影响的关系, 因此在这种情况下, 销售量的多因素分析比单一因素分析更为必要, 而不是仅仅进行单变量预测即可满足需求。此外, 尽管本研究主要关注于单一时间段内的短期预报, 但在具备足够长度和高频率的数据序列下, 多周期模型的应用对于大数据环境中的建模仍具有显著的优势。

势。

对于SMAC算法初始超参数范围的设计,我们采用了部分自动化流程,在各数据集上设定大致相同的参数区间,而不同数据集可能采用不同的最小批量配置.尽管基于RNN的时间序列模型性能无法与ets和auto.arima等最新方法相媲美,但这一工作及其公开实现代码为探索该领域奠定了重要基础.基于以上分析我们认为,基于RNN的时间序列预测模型是一种值得信赖的选择.


Future Directions

我们的研究局限性在于仅进行单变量的点预测任务。然而,在这一领域之外的研究者们已经取得了显著进展。值得注意的是,在处理复杂的商业情景(如零售业)时,默认假设各商品销量之间相互独立的情况并不成立。因此在这些复杂情境下完成的任务需要采用多因素分析而非单一因素分析法。此外在本研究中虽然我们专注于单一时间段内的销售预测问题(即单一季节)但就具有足够长度的较高频率数据而言在大数据环境下构建多个时间段模型是有益的

根据我们的研究结果表明,在一些特定的时间序列数据上(即那些表现出异常错误的情况),全球神经网络(NN)模型的表现并不理想。这可能源于以下原因:我们揭示出神经网络平均权重不适应于部分特定的时间序列需求。因此有必要开发一种创新性的新模型——一种层次化的框架来整合每个单一时间序列的整体参数以及局部特征,并将其与其他集合结合起来。每个单独的时间序列分别接受来自不同现有数据集的训练处理

全部评论 (0)

还没有任何评论哟~