tensorflow-有状态LTSM预测常量值-需要帮助
发布时间:2022-06-12 23:34:38 177
相关标签: # 数据# 技术
我正在尝试使用LTSM,它可以预测股票第二天的价格变化,给出一组技术指标作为特征,以及我试图预测的股票的情绪数据。
我已经取得了一些不错的进展,但一旦模型安装好,我仍停留在实际预测上。
我正在用85%
用于培训和15%
用于测试
当前型号为:
def _build_model(self, neurons=50):
self.model = Sequential()
self.model.add(LSTM(neurons, return_sequences = True, batch_input_shape=(self.batch_size, self.X_train.shape[1], self.X_train.shape[2]), stateful=True))
self.model.add(Dropout(0.2))
self.model.add(LSTM(neurons, return_sequences=True, stateful=True))
self.model.add(Dropout(0.2))
self.model.add(LSTM(neurons, return_sequences=True, stateful=True))
self.model.add(Dropout(0.2))
self.model.add(LSTM(neurons, stateful=True))
self.model.add(Dropout(0.2))
self.model.add(Dense(units=1, activation="tanh"))
self.model.compile(optimizer = 'adam',
loss = 'mean_squared_error',
metrics=[MeanAbsoluteError()])
我正在这样训练模特:
def _train_model(self, num_epochs=10):
for _ in range(num_epochs):
self.model.fit(self.X_train, self.Y_train, epochs=1, batch_size=self.batch_size)
self.model.reset_states()
self.batch_size
是训练集和测试集之间的最高公因数。
的形状self.X_train
是(1124, 7, 4)
,模型使用前7天的数据,每个数据具有4个特征,预测未来几天的价格变化。我使用了一个范围为(0,1)的MinMaxScaler来规范化这些数据以及测试数据。
的形状self.Y_train
是(1124,)
我使用范围为(-1,1)的MinMaxScaler来规范化这些数据以及测试数据。
我对深度学习/ML比较陌生,所以如果有什么错误的方法,请告诉我。
然而,真正的问题是在训练模型之后。
如您所见,该模型要么不是在学习,要么其学习方法是预测平均值。这是不是就是糟糕的特征工程、错误的模型(可能不是LSTM)或其他什么?
如果有人能帮忙,我将不胜感激。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报