赶上最新的AI论文

深度学习正在改变我们预测未来的方式

调查

三个要点
✔️ 深度学习如何应用于预测时间序列数据的概述
✔️ 解释混合模式是一种新的趋势
✔️ 将讨论与可解释性、事实性和非事实性预测有关的进一步方法为

Time Series Forecasting With Deep Learning: A Survey
written by Bryan LimStefan Zohren
(Submitted on 28 Apr 2020 (v1), last revised 27 Sep 2020 (this version, v2))
Comments: Accepted by Philosophical Transactions of the Royal Society A 2020

Subjects: Machine Learning (stat.ML); Machine Learning (cs.LG)

code:  

首先

预测是时间序列数据处理中异常检测的孪生兄弟。在这篇调查报告中,我们回顾了使用深度学习来预测时间序列数据的代表性论文。人们普遍认为传统方法更有效,我们澄清了为什么会这样,并解释了新出现的趋势。

时间序列建模历来是学术研究的一个主要领域。它已经在天气、生物科学、制药以及零售和融资的决策等主题中形成了不可或缺的应用。与传统方法(自回归、指数平滑、结构性时间序列模型)相比,这些方法是根据领域专家的研究结果建立参数化模型。 现代机器学习模型采取了一种纯粹的数据驱动的方法来学习时间动态。[10] 随着数据的丰富和计算能力的提高,机器学习已经成为下一代时间序列预测模型的一个组成部分。

SOTA技术

不同领域的时间序列问题的多样性导致了众多神经网络设计方案的出现。在本文中,我们总结了使用深度学习进行时间序列预测的常见方法。由于所讨论的大多数方法都是众所周知的,我们将重点关注关于它们的特点、局限性以及在应用于时间序列预测时与其他方法的对比的文章,而不是数学公式。

首先,我们将讨论 "一步到位",这是一种基于过去数据预测下一个时间点的单变量方法,但它可以很容易地扩展到多变量。稍后将介绍对多跨度预测的扩展。

深度学习的概述包括自动模型参数选择,传统的机器学习,如核回归支持向量回归,此外高斯过程经常被用于时间序列预测它已被扩展到深度高斯过程。较早的神经网络模型在历史上也被用于时间序列的应用。

基本构件

在最简单的情况下,一步到位的预测模型有以下形式

其中$ \hat{y}_{i, t+1} $ 是模型的预测值,$y_{i,t-k;t}={ y_{i,t-k},\cdots , y_{i,t}}$,$x_{i,t-k;t}={ x_{i,t-k},\cdots , x_{i,t}}$是目标和外在的输入样子。 在回视窗口(lookback window)k上的观测值,而$ s_i $是与实体(如传感器位置)相关的静态元数据。而f()是模型学到的预测函数。深度学习,当应用于时间序列时,可以被看作是将过去的相关信息编码到潜变量$ Z_t $中。

$g_{enc}, g_{dec} $分别是编码器和解码器函数,构成深度学习架构的基本构件。编码器可以具有图1中(a)、(b)和(c)的结构。

卷积神经网络(CNN)CNN (卷积神经网络)

当把CNN应用于时间序列数据时,我们采取多层因果卷积的结构[32, 33, 34]。这是因为只使用了过去的信息。隐蔽层的中间特征值如下。

从一维的情况来看,它类似于有限脉冲响应(FIR)。这有两个含义。首先,该关系是不变的。第二,时间窗口的宽度是恒定的。这个回溯窗口或接收域的大小必须仔细设置,以便能够捕获所有相关的历史数据单层因果CNN与线性活动函数相结合,相当于一个AR(自动回归)模型。

扩张卷积层[32, 33]被用来减少纳入长期数据的计算负担。以减少纳入长期数据的计算负担。

[]是截断函数,$ d_l $是每层的扩张率。它可以被看作是低层的低采样率的卷积。使用过去的数据,比正常的因果卷积更有效率。

RNN(循环神经网络

长期以来,RNN一直被用来为序列建模。许多模型也被开发用于时间序列预测。[37, 38, 39, 40] 作为一个核心,它有一个内部记忆状态。

请注意,在RNN中,你不必明确地确定回看窗口的长度。

与信号处理相比,它类似于非线性IIR(无限脉冲响应)。在RNN中,有一个梯度爆炸或消失的问题,这可以被看作是记忆状态的共振。LSTM使用 "细胞状态 "来存储长期信息来处理这个问题。

在这篇论文中,LSTM只是轻描淡写地解释了结构,但我想介绍另一篇强烈讨论LSTM优越性的论文。"在另一篇论文"A Comparative Analysis of Forecasting Financial Time Series Using ARIMA, LSTM, and BiLSTM"中,作者表明LSTM具有更好的长期预测精度,比ARIMA或其类似物的误差平均低88%。此外,BiLSTM是一种双向的学习方法。双向学习的BiLSTM与ARIMA相比,误差减少了93%,而且BiLSTM比LSTM需要更多的epochs来减少损失,并提取LSTM无法提取的特征。

在贝叶斯滤波器中,如卡尔曼滤波器,推理是使用状态转换和错误纠正步骤,以及通过更新一系列具有足够统计量的潜伏状态来完成;RNN可以被视为同时接近这两个步骤,因为记忆向量包含预测所需的所有相关信息。[39]

注意

注意机制使用动态生成的权重来汇总时间特征值。它允许你直接关注过去的突出点,无论你追溯到多远的时间。多个注意力层可以同时使用;在一个例子中,注意力聚合了由RNN编码器提取的特征值。[52] 还考虑了一个变压器结构,它有两个优点:第一,任何事件都可以直接提到,第二,通过使用为每一类现象刻画的注意权重模式,可以学到每一类现象特有的时间动态。

损失函数

该神经网络可以处理离散和连续的数值。网络的解码器和输出层与目标值的预期类型相匹配。估计方法包括点估计和概率估计。

点估计

下面是分类和回归的方程式。

概率性输出

使用Softplus函数或其他函数输出每个输出的概率分布。

了解模型的不确定性对不同领域的决策是很有用的。

多重时间预测法

迭代方法迭代方法

通常情况下,自回归深度学习结构被用于多点预测,目标值可以回归到下一个时间点的输入,如图2(a)所示。这种方法很简单,但由于每个时间点的误差累积,有可能产生大的误差。

直接方法

为了解决上述问题,直接法直接使用所有输入。通常情况下,使用Seq2Seq序列。还有一种简单的方法,直接为所需的预测时间点数量生成一个固定长度的向量。然而,你需要设置最大预测范围。

在一个混合模型中捕获领域知识

尽管机器学习很受欢迎,但它对时间序列预测的有效性历来受到质疑。一个例子是预测竞赛,如M-竞赛。普遍的看法是,最先进的方法不能够战胜高精确度的预测,相反,具有简单模型的集合体往往产生更好的结果。[59, 62, 63].

已经确定了两个主要原因来解释机器学习中的不良表现。首先,机器学习方法的灵活性是一把双刃剑,使其容易出现过度拟合。[59] 其次,与统计模型中的静止性要求类似,机器学习模型对输入的预处理方式也很敏感。[26, 37, 59 ] 这确保了在训练和测试期间数据分布是相同的。

最近的一个趋势是混合模式的发展。它们解决了上述两个限制,与纯统计和机器学习方法相比,在各种应用中显示出更好的特性。[38, 64, 65, 66] 混合方法将分析良好的定量时间序列模型与深度学习相结合。在那里,使用了一个深度神经网络,在每个时间步骤中生成模型参数。另一方面,混合模型允许领域专家用已知信息来训练神经网络。这就减少了网络的假设空间,有利于泛化。

非ochastic混合模型

在参数化的时间序列模型中,预测方程通常是分析性的,并输出一个点估计。在非概率混合模型中,这样的预测方程被修改为结合统计和深度学习元素。

ES-RNN(指数平滑RNN)通过将乘数水平和季节性因素与深度学习的输出相结合,更新Hult-Winters指数平滑模型,如下式所示。

随机的混合模型

随机混合模型被用于分布式建模很重要的应用中。随机生成模型被用于时间运动学,如高斯过程和线性状态空间模型。而不是更新预测方程,它我们使用一个神经网络来产生预测每一步分布的参数。

例如,深度状态空间模型对线性状态空间的时变参数进行编码,如下式所示,并通过卡尔曼滤波器推导出这些参数。

 

使用深度学习来促进决策支持

虽然建模者主要关注预测的准确性,但终端用户一般使用预测来指导他们的未来行为。即使在早期阶段,时间序列预测是必不可少的,更好地了解模型预测背后的时间动态和动机可以帮助用户优化他们的决策。

时间序列数据的可解释性

在将神经网络应用于基本应用时,人们越来越需要了解模型预测的 "方式和原因"。 这些天来,终端用户对数据集日益增长的规模和复杂性之间的关系事先没有什么了解。由于标准的神经网络是黑箱式的,因此在解释深度学习模型的方法上出现了一个新的研究领域。

后验解释的技术

这个模型是对所学模型的一种解释。它有助于在不改变原始权重的情况下识别重要的特征值和例子。一种方法是在神经网络的输入和输出之间应用更简单的代用模型,如LIME(Local Interpretable Model-Agnostic Explanation)[71],也被称为XAI,SHAP(沙普利加法解释)[72],等等。

随后,人们提出了基于梯度的方法,如盐度图[73, 74]、影响函数[75]。他们分析了网络的梯度,以找到哪些输入对损失的影响最大。后验可解释性方法揭示了特征值属性,而输入之间的顺序依赖性通常被忽略。

通过注意权重纳入的可解释性

另一种方法是直接使用可解释的元素来设计架构。通常情况下,注意力层被战略性地纳入。对注意力权重的分析揭示了每个时间点上特征值的相对权重。有一些例子,在特定的例子中,注意力权重的大小分析了哪些时间点对预测最重要,[53, 55, 76],注意力向量分布的时间变化显示了一致的时间关系,如季节性。[54]

与事实不符的预测,随时间推移的因果推理

此外,深度学习可以通过进行观察之外的预测或预测非事实的情况来支持决策。预测非事实情况对情景分析应用特别有用。它可以用来预测过去和未来。

虽然有大规模的深度学习方法来估计静态环境下的因果效应,但一个主要的挑战是存在随时间变化的混杂效应。这是因为循环关系,能够影响客观变量的行动也制约着客观变量的观察。一个直接的估计,不调整随时间变化的混杂因素,将产生偏差。[80]

近年来,出现了几种深度学习方法,可以调整随时间变化的混杂因素。一种统计方法扩展了逆向治疗概率加权法(IPTW),以估计流行病学中边际结构模型应用治疗的概率。[81] 在另一种方法中,我们扩展了G-计算框架以获得目标和行动的分布。[82] 此外,还提出了一个采用对抗性学习领域的损失函数。[83]

摘要

随着目前大数据的普及和计算能力的提高,使用深度学习的预测在许多领域被证明是成功的。有必要仔细考虑每个构件的特点。此外,我们还总结了用于决策、可解释和预测未实际发生的案例的扩展。

另一方面,它也有其弱点。深度学习通常要求将时间序列分离到一个固定的时间范围内。对于以随机间隔出现的数据,已经开始调查,如神经普通微分方程。此外,时间序列数据可能具有分层结构。开发一个明确考虑到这种结构的模型也是一个未来的研究课题。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!
友安 昌幸 (Masayuki Tomoyasu) avatar
JDLA G检定2020#2,E资格2021#1 数据科学家协会 DS检定 日本创新融合学会 DX检定专家 联合公司Amico咨询 CEO

如果您对文章内容有任何改进建议等,请通过 "联系我们 "表格与爱学网编辑部联系。
如果您能通过咨询表与我们联系,我们将非常感激。

联系我们