Я делаю прогноз для данных временных рядов, используя lstm keras.Поезд не содержит отрицательных чисел.
Проблема в том, что, когда ошибка обучения уменьшается до определенного уровня, выводимый прогноз иногда бывает отрицательным, что не имеет смысла в моем приложении.
Ниже мой RNN:
model.add(LSTM(100,return_sequences=True,stateful=False,activation='relu', input_shape=(1, look_back)))
model.add(Dropout(0.1))
model.add(Flatten())
model.add(Dense(50, activation='relu'))
model.add(Dense(1, activation='linear', W_constraint=nonneg()))
model.compile(loss='mean_absolute_error', optimizer= 'adam')
model.fit(trainX, trainY, epochs=100, validation_split = 0.20, batch_size=1, verbose=0)
Это происходит, главным образом, когда данные поезда имеют много нулей.Как я могу предотвратить это.