小编Yon*_*ang的帖子

如何处理keras中多变量LSTM的多步时间序列预测

我正在尝试使用Keras中的多变量LSTM进行多步时间序列预测.具体来说,我最初每个时间步有两个变量(var1和var2).在这里遵循在线教程后,我决定在时间(t-2)和(t-1)使用数据来预测时间步t的var2的值.如示例数据表所示,我使用前4列作为输入,Y作为输出.我可以在这里看到我开发的代码,但我有三个问题.

   var1(t-2)  var2(t-2)  var1(t-1)  var2(t-1)  var2(t)
2        1.5       -0.8        0.9       -0.5     -0.2
3        0.9       -0.5       -0.1       -0.2      0.2
4       -0.1       -0.2       -0.3        0.2      0.4
5       -0.3        0.2       -0.7        0.4      0.6
6       -0.7        0.4        0.2        0.6      0.7
Run Code Online (Sandbox Code Playgroud)
  1. 问题1:我已经使用上述数据训练了LSTM模型.该模型在预测时间步t的var2值方面表现良好.但是,如果我想在时间步t + 1预测var2,该怎么办?我觉得很难,因为模型不能告诉我var1在时间步t的值.如果我想这样做,我应该如何修改代码来构建模型?
  2. Q2:我已经看到这个问题了很多,但我仍然感到困惑.在我的例子中,[样本,时间步长,特征] 1或2中的正确时间步长应该是多少?
  3. Q3:我刚开始学习LSTM.我在这里读到LSTM最大的优点之一就是它自己学习了时间依赖性/滑动窗口大小,为什么我们必须总是将时间序列数据转换成如上表所示的格式?

更新:LSTM结果(蓝线是训练序列,橙线是基础事实,绿色是预测) 在此输入图像描述

time-series deep-learning lstm keras tensorflow

3
推荐指数
1
解决办法
7118
查看次数

标签 统计

deep-learning ×1

keras ×1

lstm ×1

tensorflow ×1

time-series ×1