返回

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)或其他什么?

如果有人能帮忙,我将不胜感激。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像