假设我想预测明天的温度。我可以使用一种方法,根据从单个位置收集的时间序列数据集来训练模型(例如,查看这个优秀的演练:https://blogs.rstudio.com/tensorflow/posts/2017-12-20-time-series-forecasting-with-recurrent-neural-networks/)。
然而,让我们说,我想训练一个模型,包括时间序列从多个气象记录网站。在这个场景中,让我们说,来自不同地点的记录观测在时间上是不重叠的。理想情况下,有一种方法可以使用非连续观测(例如从不同地点收集的观测)来训练模型,这也使我们能够量化“站点”对我们预测的影响。
这仅仅是一个为每个站点培训独立的LSTM模型的案例吗?或者,是否有其他方法可以从多个观测集(例如场址、非连续观测块等)获取全部培训数据集?
发布于 2020-10-13 16:32:04
这个想法来自赵等人的一篇论文。称为“T:一个用于流量预测的时态图卷积网络”(https://ieeexplore.ieee.org/document/8809901),并在Python (https://stellargraph.readthedocs.io/en/stable/demos/time-series/gcn-lstm-time-series.html)的StellarGraph模块中实现。
上面的StellarGraph链接为您提供了一个演示,使实现相对简单。
发布于 2020-01-29 18:13:08
如果你想预测多个时间序列(这在性质上是相似的,因为该地区的每个气象站都会记录相似的温度,即使它们并不相同),对每一个时间使用一个单独的LSTM模型可能会很费时。
您可以采取的一种方法是为交叉验证上的另一个问题提供一个很好的答案。从本质上讲,作者描述了一种用LSTM预测销售的方法,该方法将模型训练在一个系列的一个小批量(或子集)上,然后选择一个新的系列。在这种情况下,我会理解这意味着一个子集的数据是从气象站1,然后另一批从气象站2,等等。
这样做的好处是基本上创建了一个考虑到所有气象站特点的统一系列--它允许最大限度地利用数据,并允许网络从所有气象站学习模式--而不仅仅是一个或几个。
一种方法是首先尝试使用选定气象站的数据子集,然后将预测精度与使用不同的LSTM模型的预测精度进行比较。如果你发现对前一种方法的预测是更准确的,那么这将是有意义的。
如果您正在使用R,那么也可以选择使用像forecastML这样的包来这样做--如果您没有被绑定到使用LSTM模型,那么这也可能是另一个考虑因素。
https://datascience.stackexchange.com/questions/67171
复制相似问题