使用LSTM进行时间序列预测:使时间序列平稳的重要性


21

关于平稳性和差分的链接中,已经提到诸如ARIMA之类的模型需要平稳的时间序列进行预测,因为其统计特性(例如均值,方差,自相关等)随时间是恒定的。由于RNN具有更好的学习非线性关系的能力(如此处给出:用于时间序列预测的递归神经网络),并且在数据量较大时,其性能要优于传统的时间序列模型,因此了解平稳性至关重要数据会影响其结果。我需要知道答案的问题如下:

  1. 对于传统的时间序列预测模型,时间序列数据的平稳性使其更易于预测,原因和方式如何?

  2. 在使用LSTM建立时间序列预测模型的同时,使时间序列数据平稳是否重要?如果是这样,那为什么呢?

Answers:


29

通常,时间序列与其他机器学习问题并没有真正的不同-您希望您的测试集“看起来像”您的训练集,因为您希望在训练集上学习的模型仍然适合您的测试集。这是关于平稳性的重要基础概念。时间序列具有额外的复杂性,即数据中可能存在长期结构,因此模型可能不够复杂以至于无法学习。例如,当使用N的自回归滞后时,我们无法学习比N更长的时间间隔的依存关系。因此,当使用ARIMA之类的简单模型时,我们希望数据也保持局部平稳。

  1. 如您所说,平稳只是意味着模型的统计信息不会随时间变化(“本地”平稳)。ARIMA模型本质上是回归模型,您可以使用过去的N个值作为线性回归的输入来预测N + 1个值。(至少,这是AR部分的工作)。学习模型时,您正在学习回归系数。如果您有一个时间序列,在其中学习过去的N个点与下一个点之间的关系,然后将其应用于另一组N个点以预测下一个值,则隐含地假设在两个点之间存在相同的关系。您要预测的N个预测点和接下来的N + 1个点。那是平稳的。如果您将训练集分为两个间隔并分别对其进行训练,并得到了两种截然不同的模型-您从中得出什么结论?您是否认为您有信心运用这些模型进行预测数据?您会使用哪一个?如果数据“不稳定”,则会出现这些问题。

  2. 我对RNN的看法是-您仍在从时间序列的一个片段中学习一种模式,并且您仍想将其应用于时间序列的另一部分以进行预测。该模型将学习时间序列的简化表示-如果该表示适用于训练集而不适用于测试集,则其效果将不佳。但是,与ARIMA不同,RNN具有学习非线性的能力,而像LSTM节点这样的专用节点在这方面甚至更好。特别是,LSTM和GRU非常擅长学习长期依赖关系。例如,请参阅此博客文章。有效地,这意味着“平稳性”对于RNN的脆性较小,因此,它不必担心。为了学习长期依赖关系,您需要大量数据进行训练。

最终证明在布丁里。也就是说,像在其他任何机器学习项目中一样进行模型验证。如果您的模型可以很好地预测保留数据,则可以对使用它充满信心。但是,就像任何其他ML项目一样,如果您的测试数据与训练数据有显着差异,则您的模型将无法正常运行。


2
这个答案很好。精心考虑和彻底。
StatsSorceress

1
有一阵子了。有没有人测试过这个假设?
compguy24
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.