使用序列到序列模型进行长期预测

数据挖掘 时间序列 lstm rnn 预测 序列到序列
2022-02-25 05:24:45

我有一项任务,我想提前 1 年或 2 年在多个地点预测每日观测值——所以提前 365 天或 730 天。我实际上有一个非常好的数据集,这意味着在这些站点上可以追溯到 40 年前的日常观察。所以我有很多数据可以训练。我正在处理气候和地质数据,因此时间序列具有很强的周期性或周期性,并带有一些随机变化。

我试图使用一个序列到序列的 LSTM 网络,并注意开始。我有 365 天的输入并试图预测 365 天的输出。到目前为止,我才刚刚开始收集结果。但我想知道是否有为长期时间序列预测设计的特定模型?我认为序列到序列模型仍然只适用于 20-30 天的产出,但我不确定这方面是否有任何进展。

谢谢。

1个回答

我想知道您为什么首先选择神经网络方法。通常,与 SARIMA 模型相比,循环神经网络需要拟合更多的参数。因此,它们对训练样本中的虚假伪影更敏感。(这是您为在过去和未来价值之间的关系建模方式上更加灵活而付出的代价)。鉴于您提到数据中的强周期性这一事实,我认为使用 SARIMA 模型甚至具有季节性假人的模型对数据进行建模可能会更好地概括样本外,考虑到您拥有的样本量。此外,您可以添加一个周期性趋势组件,以将其他周期性组件合并到数据中。希望这可以帮助。SARIMA 模型和周期性成分的添加通常在计量经济学文献中进行描述。将您当前的模型与 SARIMA 进行比较:{p=0; d=0;q=0;P=1;D=1;Q=1, s=365 和 trend='c'} 可能是一个很好的起点(这些参数指的是可以与 Python “statsmodels.tsa.statespace.sarimax.SARIMAX”一起使用的 statsmodels SARIMA)。