我正在使用LSTM模型学习时间序列预测。我找到了不错的教程https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/ 我正在尝试使用LSTM堆叠解决“多路并行输入和多步输出”部分中的问题。
数据集如下:
[[10 15 25]
[20 25 45]
[30 35 65]
[40 45 85]
[50 55 105]
[60 65 125]
[70 75 145]
[80 85 165]
[90 95 185]]
任务是使用三个时间序列中每个序列的最后三个时间步作为模型的输入,并预测三个时间序列中每个序列的下一个时间步作为输出。
例如,这是X输入:
[[10 15 25]
[20 25 45]
[30 35 65]]
这是y输出:
[[40 45 85]
[50 55 105]]
本教程使用Encoder-Decoder
结构,但是我想应用Stacked LSTM结构,类似于下面的Stacked LSTM示例。但是我的输出是序列的序列,我不知道如何为密集层选择n_steps_out。
model = Sequential()
model.add(LSTM(100, activation='relu', return_sequences=True, input_shape=(n_steps_in, n_features)))
model.add(LSTM(100, activation='relu'))
model.add(Dense(n_steps_out))
model.compile(optimizer='adam', loss='mse')
# fit model
model.fit(X, y, epochs=200, verbose=0)
答案 0 :(得分:0)
因为我看到您使用过机器学习知识,所以我将您引导到具有不同代码的同一个位置,也许您找不到它。 https://machinelearningmastery.com/multivariate-time-series-forecasting-lstms-keras/ 从代码开始,基本上可以帮助您的是“ series_to_supervised”函数。它会创建滞后的数据集,您可以将自己想要的滞后时间计算在内。 要么就是这个,https://github.com/llSourcell/How-to-Predict-Stock-Prices-Easily-Demo/blob/master/lstm.py 在这里,您有一个输出序列的示例。 希望对您有所帮助。