我有一个序列数据集,看起来像下面的示例。它们具有可变的长度,但列数相同。我对使用功能a(t+1)
来预测b(t), c(t), d(t), e(t) ...
感兴趣
t a(t) b(t) c(t) d(t) e(t) ...
1 290.0 653.1 1.0 -0.2 -0.2 ...
2 289.9 653.2 1.0 -0.2 -0.2 ...
3 289.9 653.2 1.0 -0.2 -0.2 ...
4 289.8 653.2 0.9 -0.2 -0.3 ...
5 289.8 653.3 0.9 -0.2 -0.3 ...
6 289.8 653.3 0.9 -0.2 -0.3 ...
...
按照教程found here,我使用下面的代码为监督学习准备了一个序列,并拟合了一个简单的LSTM模型。其中train_X
包含时间(b,c,d,e,...)
的每个功能t
,而train_y
是a(t+1)
如何在多个序列上训练模型?最终,我的目标是:给定(b,c,d,e,...)
处的特征t=0, t=1, t=2, t=k-1
,预测下一个a(k+T)
时间步长的输出T
。
model = Sequential()
model.add(LSTM(50, input_shape=(train_X.shape[1], train_X.shape[2])))
model.add(Dense(1))
model.compile(loss='mae', optimizer='adam')
model.fit(train_X, train_y, epochs=1000, batch_size=1, validation_data=(test_X, test_y), verbose=1, shuffle=False)