我来问一个有关LSTM模型的未来预测的问题
我向您解释:
我正在使用LSTM模型预测未来36小时的股价。
我有一个包含10个特征的数据集。
我将这10个功能用作模型中的输入,并具有单个输出(预期价格)。
这是我的整体模型:
model = Sequential()
# input shape == (336, 10), I use 336 hours for my lookback and 10 features
model.add(LSTM(units=50,return_sequences=True,input_shape=(X_train.shape[1], X_train.shape[2])))
model.add(Dropout(0.2))
model.add(LSTM(units=50,return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(units=50,return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(units=50))
model.add(Dropout(0.2))
model.add(Dense(units=1, activation='linear'))
model.compile(optimizer='adam',loss='mean_squared_error')
我可以用测试数据评估模型的性能,但是现在我想用它来预测接下来的36小时,这仍然是目标,不是吗?
我的印象是,互联网上存在一个大黑洞,每个人都介绍了如何构建模型并使用测试数据对其进行测试,但是没有人使用它们...
我发现了两个有趣的示例,其中包括将预测迭代地重新集成到最后一个窗口中。
以下是主题底部的示例:
https://towardsdatascience.com/time-series-forecasting-with-recurrent-neural-networks-74674e289816 https://towardsdatascience.com/using-lstms-to-forecast-time-series-4ab688386b1f
它本身可以工作,但只有一个功能作为输入。
我有10个特征,我的模型只向我返回一个输出值,所以我无法将其重新集成到最后一个需要10个特征形状的窗口中。
您看到问题了吗?
我真的希望你能使我适应这个问题。
Adrien