神经网络时间序列预测

20

最近我一直在从事各种神经网络的工作,已经在数字识别、异或运算和其他一些简单/入门级应用方面取得了巨大成功。

我希望能够处理时间序列估计领域。目前我没有大学账户可以免费阅读有关该主题的IEEE/ACM论文,也很难找到详细介绍如何使用人工神经网络进行时间序列预测的资源。

我想知道是否有人有任何建议或推荐有关使用人工神经网络通过时间序列数据进行预测的资源?

我认为,要训练神经网络,您需要插入几个立即时间步,并且期望输出将是下一个时间步(例如:输入n-5、n-4、n-3、n-2、n-1应具有timestep N的结果输出...然后向下滑动一些时间步并再次进行相同的操作。

是否有人能够确认或评论这一点?我会非常感激!

3个回答

22
我认为你已经有了基本的想法:采用“滑动窗口”方法,训练网络使用系列(Tn-k ... Tn-1)的最后k个值来预测当前值(Tn)。
然而,你可以用很多种方法来做到这一点。例如:
  • 窗口大小应该是多少?
  • 数据是否需要进行任何预处理(例如去除异常值)?
  • 应该使用什么网络配置(例如隐藏节点数量,层数)和算法?
  • 通常人们通过试错来找出从他们特定的数据中学习的最佳方法。
    关于这方面有相当数量的公开论文。从以下论文开始,并通过Google Scholar查看它们的引文和引用它们的论文,你应该有足够的阅读材料:

    2
    有一种神经网络叫做循环神经网络(RNNs)。使用这些模型的一个优点是,您不必为输入示例定义滑动窗口。RNN的一个变体称为长短时记忆(LSTM),可以潜在地考虑前面时间戳中的许多实例,并使用“遗忘门”来允许或禁止记住先前时间戳的结果。

    1

    从技术上讲,这与您的数字识别相同-它正在识别某些内容并返回其内容...

    现在,您的输入是先前的步骤(T-5 ... T-1),而您的输出或输出是预测的步骤(T0,T1...)。

    ANN本身的机制是相同的-您将不得不教每个层进行特征检测,纠正其对事物的重建,以使其看起来像实际发生的情况。

    (有关我的更多信息:技术讨论


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接