我可以使用 LSTM 模型来评估多个独立的时间序列吗?

数据挖掘 机器学习 喀拉斯 r lstm
2021-10-05 18:30:13

假设我想预测明天的温度。我可以使用基于从单个位置收集的时间序列数据集训练模型的方法(例如,请参阅此出色的演练:https ://blogs.rstudio.com/tensorflow/posts/2017-12 -20-time-series-forecasting-with-recurrent-neural-networks/)。

但是,假设我想训练一个模型,该模型包含来自多个天气记录站点的时间序列。在这种情况下,让我们说来自不同站点的记录观察在时间上是不重叠的。理想情况下,有一种方法可以使用非连续观察(例如从不同站点收集的观察)来训练模型,这也使我们能够量化“站点”对我们的预测的影响。

这仅仅是为每个站点训练独立 LSTM 模型的情况吗?或者是否有其他方法可以使总训练数据集来自多个观察集(例如站点、非连续观察块等)?

2个回答

如果您希望预测多个时间序列(这在本质上是相似的,因为该地区的每个气象站都会记录相似的温度,即使它们不相同),为每个时间序列使用单独的 LSTM 模型可能会非常耗时.

您可以采取的一种方法是在Cross Validated上的另一个问题的出色答案中提出的一种方法。本质上,作者描述了一种使用 LSTM 预测销售的方法,其中模型在一个系列的小批量(或子集)上进行训练,然后选择一个新系列。在这种情况下,我会理解这意味着从气象站 1 合并数据子集,然后从气象站 2 合并另一批数据,等等。

这将具有本质上创建一个统一系列的优势,该系列考虑了所有气象站的特征 - 这允许最大限度地利用数据,并允许网络从所有站学习模式 - 而不仅仅是一个或一个选择很少。

一种选择是首先使用选定气象站的数据子集尝试此方法,然后将预测准确性与每个使用单独 LSTM 模型的预测准确性进行比较。如果您发现前一种方法的预测更准确,那么采用这种方法是有意义的。

如果您使用的是 R,那么还可以选择使用像forecastML这样的包来执行此操作 - 如果您不依赖于使用 LSTM 模型,那么这也可能是另一个考虑因素。

您可以通过将图卷积网络与 LSTM 模型相结合来使用时空数据进行预测!

这个想法来自赵等人的一篇论文。称为“ T-GCN:用于交通预测的时间图卷积网络”(https://ieeexplore.ieee.org/document/8809901),并在 Python 中的StellarGraph模块中实现(https://stellargraph.readthedocs.io /en/stable/demos/time-series/gcn-lstm-time-series.html)。

上面的 StellarGraph 链接带你看一个演示,让实现相对简单