我已经阅读了几篇关于 RNN(特别是 LSTM)以及我们如何使用它们进行时间序列预测的论文、文章和博客文章。在我发现的几乎所有示例和代码中,问题都被定义为x根据以前的数据查找时间序列的下一个值。我要解决的问题如下:
- 假设我们有
t一个时间序列的值,它在 time 的值是t+1多少?
因此,使用现有的不同 LSTM 包(deeplearning4j、keras、...),这就是我现在正在做的事情:
创建一个 LSTM 网络并将其拟合到
t样本中。我的网络有一个输入和一个输出。因此,对于输入,我将有以下模式,我称它们为训练数据:t_1,t_2
t_2,t_3
t_3,t_4
下一步是使用例如
t_4作为输入和期望t_5作为输出然后使用t_5作为输入和期望t_6作为输出等等。完成预测后,我会使用它
t_5,t_6来更新我的模型。
我的问题:这是正确的做法吗?如果是,那么我不知道它是什么batch_size意思以及它为什么有用。
注意:我想到的另一种选择类似于生成一系列字符的示例,一次一个字符。在这种情况下,batch_size将是一系列数字,我期待下一个具有相同大小的系列,而我正在寻找的一个值将是该系列中的最后一个数字。我不确定上述哪种方法是正确的,并且非常感谢这方面的任何帮助。
谢谢