时序论文20|ICLR20 可解释时间序列预测N-BEATS
论文标题:N-BEATS N EURAL BASIS EXPANSION ANALYSIS FOR INTERPRETABLE TIME SERIES FORECASTING
论文链接:https://arxiv.org/pdf/1905.10437.pdf
前言
为什么时间序列可解释很重要?时间序列的可解释性是确保模型预测结果可靠、透明且易于理解的关键因素。它帮助增强用户信任,促进更明智的决策,同时便于调试和风险管理,特别是在特定领域,例如风险投资、医疗诊断等领域,理解模型背后的逻辑非常重要,毕竟谁也不敢把决策权交给一个黑盒模型。
本文设计了一种深度神经网络架构N-BEATS,它以残差连接前后向链接和深层全连接层堆叠为核心。这一架构不仅具备高度的可解释性,而且能够广泛适用于多个领域,模型的配置完全没有依赖于特定于时间序列的特性,却能在多样化的数据集上展现出卓越的性能(与2020年的模型相比),证明了深度学习的基本构件,比如残差块,本身就具有解决广泛预测问题的能力。此外,本文还展示了如何通过增强架构,实现在不牺牲准确性的前提下,提供可解释的输出。
本文模型
本文的目的是构造一个简单、可解释性强的深度学习时间序列预测模型,问题的场景是一维、单变量时序预测。
上图是所提出的架构,以多层全连接(FC)网络为基础构建block,该网络采用ReLU激活函数来引入非线性特性。每个block负责预测正向(预测)和反向(反预测)的基础扩展系数,分别用θf和θb表示。这些block通过一种创新的双重残差堆叠方法进行组织,允许在堆叠中的不同层共享预测和反预测的函数。预测结果通过一种分层聚合的方式进行整合,这不仅促进了网络深度的增加,还确保了模型输出的可解释性,使模型能够构建出一个既深入又易于理解的深度神经网络。
模型要点1: DOUBLY RESIDUAL STACKING
经典残差网络架构在将结果传递给下一个堆叠之前,将堆叠层的输入加到其输出上,这类方法在提高深度架构的可训练性方面提供了明显优势。缺点是导致网络结构难以解释。本文作者提出了一种分层双重残差拓扑结构,如图(中间和右侧)所示。所提出的架构有两个残差分支,一个在每层的反预测上运行,另一个在每层的预测分支上运行。
第一个block特殊,它的输入是模型级别的输入x。对于所有其他block,每个block有两个输入:backcast和forecast,分别理解为过去和未来的信息。也就是说经过上一个block后,下一个block的输入是上一个block的输入减去上一个block的backcast输出,由于前一个block移除了它能够很好地近似的信号部分,使得下游block的预测工作变得更容易。每个块输出一个部分预测y^(θ),该预测首先在堆叠层面上聚合,然后在整体网络层面上聚合,是一种分层分解架构。最终预测Y是所有部分预测的总和,通过聚合有意义的部分预测来实现可解释性的关键重要性。具体技术细节可阅读原文。
模型要点2: Interpretablity
论文中提到了基(basis)这个概念,可以理解为将基根据系数来加权组合,就可以从系数的权重对应出哪个基与输出结果的相关性更强。例如:趋势的典型特征是,大部分时间它是一个单调函数,或者至少是一个变化缓慢的函数。季节性的典型特征是它是规律的、循环的、周期性变化。
这样的话,将正弦曲线设置为基就可以表示一些季节性的分量,将多项式设置为基就可以表示一些趋势性的分量。把基加权线性相加,即可得到预测Forecast或者是Backcast。
结论
提出一种单变量时间序列(TS)预测架构,并通过实证验证了其有效性。验证了两个重要假设:(i)通用的深度学习方法在不使用时间序列领域知识的情况下,在异构单变量时间序列预测问题上表现出色,(ii)可以额外约束深度学习模型,迫使其将预测分解为不同的、人类可解释的输出。