如何使用LSTM对相关特征建模以进行多元回归

时间:2017-07-11 17:35:01

标签: python regression keras lstm

我有一个MxN时间序列数据矩阵,包括X,Y和Z特征,使X,Y和Z相关。我希望LSTM能够模拟这些特征之间的相关性,而不是简单地将线条单独地拟合到这些特征。

例如,如果X为低,则Y为高。因此,当我测试时,模型不仅应该根据Y的先前值“预测”Y的下一个值,而且如果X的值低,则Y的值应该高。

如何允许我的LSTM不仅模拟数据的时间序列方面,还模拟数据特征之间的相关性?

以下是我目前的Keras LSTM型号。

谢谢!

model = Sequential()
model.add(LSTM(4, batch_input_shape=(batch_size, look_back, 
          dataset.shape[1]), stateful=True, return_sequences=True))
model.add(LSTM(4, batch_input_shape=(batch_size, look_back, 
          dataset.shape[1]), stateful=True))
model.add(Dense(dataset.shape[1]))
model.compile(loss='mean_squared_error', optimizer='adam')
for i in range(10):
    model.fit(trainX, trainY, epochs=1, batch_size=batch_size,
              verbose=2, shuffle=False)
    model.reset_states()

下面的链接显示了我的LSTM模型的当前输出。固体尖刺线是真实的数据。第一条曲线是训练预测,第二条曲线是测试预测。我想知道模型如何找到特征之间的相关性,以期创建更准确的测试预测,而不是简单地将线条拟合到各个特征。

Current Output from my LSTM model

0 个答案:

没有答案