torch 时间序列,第三集:序列到序列预测

在我们对时间序列预测技术的概述中,我们转向序列到序列模型。该系列中的架构通常用于自然语言处理 (NLP) 任务,例如机器翻译。然而,对于 NLP,在进行模型定义和训练之前需要进行大量的预处理。在熟悉的数值序列中,我们可以完全专注于概念。

来源:RStudio AI博客

今天,我们继续使用 torch 探索多步时间序列预测。这篇文章是系列文章的第三篇。

torch
    最初,我们介绍了循环神经网络 (RNN) 的基础知识,并训练了一个模型来预测序列中的下一个值。我们还发现,通过在循环中反馈单个预测,我们可以提前预测相当多的步骤。接下来,我们“原生”构建了一个用于多步预测的模型。使用一个小型多层感知器 (MLP) 将 RNN 输出投射到未来的几个时间点。
  • 最初,我们介绍了循环神经网络 (RNN) 的基础知识,并训练了一个模型来预测序列中的下一个值。我们还发现,通过在循环中反馈单个预测,我们可以提前预测相当多的步骤。
  • 最初,我们介绍了循环神经网络 (RNN) 的基础知识,并训练了一个模型来预测序列中的下一个值。我们还发现,通过在循环中反馈单个预测,我们可以提前预测很多步。

    最初
  • 接下来,我们“原生”构建了一个用于多步预测的模型。使用一个小型多层感知器 (MLP) 将 RNN 输出投射到未来的几个时间点。
  • 接下来,我们“原生”构建了一个用于多步预测的模型。使用一个小型多层感知器 (MLP) 将 RNN 输出投射到未来的几个时间点。

    接下来

    在这两种方法中,后者更为成功。但从概念上讲,它有一个不令人满意的地方:当 MLP 推断并生成连续十个时间点的输出时,它们之间没有因果关系。(想象一下十天的天气预报从未更新过。)

    现在,我们想尝试一些更直观吸引人的东西。输入是一个序列;输出也是一个序列。在自然语言处理 (NLP) 中,这种类型的任务非常常见:这正是我们在机器翻译或摘要中看到的那种情况。

    seq2seq

    数据输入

    我们继续使用 tsibbledata 提供的 vic_elec。

    y