LSTM 预测给出负值

问题描述 投票:0回答:1

我正在尝试使用 LSTM 模型预测单变量时间序列的值,但即使时间序列只有正值,预测值有时也会是负值。我注意到当我改变序列大小时会发生这种情况。 我不知道为什么会发生这种情况。下面是 LSTM 模型。

model = Sequential([
    LSTM(units, activation='tanh', return_sequences=True, input_shape=(None, 1)),
    Dropout(0.2),
    LSTM(units, activation='tanh', return_sequences=False),
    Dense(1)
])
model.compile(optimizer='adam', loss='mean_squared_error')

# Early stopping
early_stop = EarlyStopping(monitor='val_loss', patience=20, verbose=1)

model.summary()
history = model.fit(trainX, trainY, epochs=100, batch_size=32, validation_data=(testX, testY), callbacks=[early_stop], verbose=2)

trainPredict = model.predict(trainX)
testPredict = model.predict(testX)

例如,对于每小时时间步长的一个月数据,我设置 seq_size=24 并且模型预测负值。

deep-learning time-series lstm forecasting
1个回答
0
投票

需要澄清一些事情,例如您想要预测什么?预测值的频率是多少?您在代码中的哪个位置使用 seq_size=24?

© www.soinside.com 2019 - 2024. All rights reserved.