Statsbot团队发表过一篇关于使用时间序列分析来进行异常检测的文章。文章地址:https://blog.statsbot.co/time-series-anomaly-detection-algorithms-1cef5519aef2
我们想用一个长短期记忆网络模型LSTM来讨论时间序列预测。这篇文章将告诉你如何利用时间序列分析来预测未来的货币汇率,并利用时间序列来进行机器学习。
序列问题
让我们从讨论序列问题开始。涉及序列的最简单的机器学习问题是一个“一对一”问题。
一对一
在这种情况下,我们对模型有一个张量或数据输入,模型用给定的输入生成一个预测。线性回归、分类,甚至是卷积网络的图像分类都属于这一类。我们可以扩展这个构想,使模型能够使用输入和输出的过去值。
它被认为是“一对多”问题。“一对多”问题是从“一对一”问题开始的。 “一对一”问题比如,我们把数据输入到模型,然后模型生成一个输出。但是,模型的输出现在反馈给模型作为一个新的输入。这个模型现在可以生成一个新的输出,我们可以无限地继续下去。现在你就可以知道为什么这些被称为递归神经网络(RNNs)。
一对多
一个递归的神经网络能够处理序列问题,因为它们的连接形成了一个有向的循环(directed cycle)。换句话说,它们可以通过使用自己的输出作为下一个步骤的输入来保持状态从一个迭代到下一个迭代。在编程术语中,这就像运行一个带有特定输入和内部变量的固定程序。如果我们将时间轴展开(unroll),那么最简单的递归神经网络可以被看作是一个完全连接的神经网络。