基于神经网络的时间序列预测

时间:2010-11-20 02:16:15

标签: neural-network time-series artificial-intelligence recurrent-neural-network

我最近一直致力于神经网络的各种用途。我在数字识别,XOR和其他各种简单/ hello世界的应用程序方面取得了巨大的成功。

我想解决时间序列估计的领域。目前我没有大学帐户阅读有关该主题的所有IEEE / ACM论文(免费),也无法找到许多详细介绍使用ANN进行时间序列预测的资源。

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

我认为要训练NN,你会立即插入几个时间步,预期输出将是下一个时间步(例如:输入n-5,n-4,n-3,n-2, n-1应该在时间步长N处输出结果... ...然后向下滑动一些时间步长并再次完成。

任何人都可以对此进行确认或评论吗?我会很感激!

3 个答案:

答案 0 :(得分:21)

我认为你有一个基本的想法:一个“滑动窗口”的方法,网络被训练使用系列的最后k值(T nk .. .T n-1 )预测当前值(T n )。

但是,有很多方法可以做到这一点。例如:

  • 那个窗口应该有多大?
  • 是否应以任何方式对数据进行预处理(例如删除异常值)?
  • 应该使用哪种网络配置(例如,隐藏节点数,#层数)和算法?

人们通常会通过反复试验找出最好的方法来学习他们的特定数据。

有很多关于这些内容的公开访问的论文。从这些开始,看看他们通过Google学术搜索引用它们的引文和论文,你应该有很多东西可以阅读:

答案 1 :(得分:2)

有一种名为 recurrent neural networks (RNNs 的神经网络。使用这些模型的一个优点是您不必为输入示例定义滑动窗口。被称为 Long-Short Term Memory (LSTM) 的RNN变体可能会考虑到之前时间戳中的许多实例以及“忘记门”#34;用于允许或禁止记住先前时间戳的先前结果。

答案 2 :(得分:1)

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

嗯 - 现在您的输入是前面的步骤(T -5 ... T -1 ) - 您的输出或输出是预测的步骤(T < sub> 0 ,T 1 ...)。

人工神经网络本身的机制是相同的 - 你必须教会每一层进行特征检测,纠正它对事物的重建,以便它看起来像实际发生的那样。

(更多关于我的意思的信息:tech talk

相关问题