我正在学习使用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结构,但我希望应用与下面的堆叠LSTM示例类似的堆叠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)发布于 2019-04-20 07:07:24
因为我看到你用的是机器学习精通,所以我用不同的代码引导你到相同的tise,也许你找不到它。基本上,对你有帮助的是代码开头的"series_to_supervised“函数。它创建滞后的数据集,你可以根据你想要的滞后数来决定。要么这样,要么这样:https://github.com/llSourcell/How-to-Predict-Stock-Prices-Easily-Demo/blob/master/lstm.py这里,您有一个输出序列的示例。希望能有所帮助。
https://stackoverflow.com/questions/54538702
复制相似问题