相关疑难解决方法(0)

了解Keras LSTM

我试图调和我对LSTM的理解,并在克里斯托弗·奥拉在克拉拉斯实施的这篇文章中指出.我正在关注Jason Brownlee为Keras教程撰写博客.我主要困惑的是,

  1. 将数据系列重塑为[samples, time steps, features]和,
  2. 有状态的LSTM

让我们参考下面粘贴的代码集中讨论上述两个问题:

# reshape into X=t and Y=t+1
look_back = 3
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test, look_back)

# reshape input to be [samples, time steps, features]
trainX = numpy.reshape(trainX, (trainX.shape[0], look_back, 1))
testX = numpy.reshape(testX, (testX.shape[0], look_back, 1))
########################
# The IMPORTANT BIT
##########################
# create and fit the LSTM network
batch_size = 1
model = Sequential()
model.add(LSTM(4, …
Run Code Online (Sandbox Code Playgroud)

python deep-learning lstm keras

259
推荐指数
4
解决办法
4万
查看次数

如何处理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 ×2

keras ×2

lstm ×2

python ×1

tensorflow ×1

time-series ×1