Я внедрил двунаправленный LSTM KERAS для прогнозирования временных рядов. Мои данные собираются с 10-секундным интервалом в течение 3 дней. Выход LSTM, похоже, смещен на один период времени.
Мой ввод является одномерным. Выходная переменная прогнозируется при t + 1.
Данные были преобразованы в (trainX.shape [0], 1, trainX.shape [1])
Мы будем благодарны за любую помощь. Заранее спасибо. Редактировать 1: добавленный код
trainX = np.reshape(trainX,(trainX.shape[0], 1, trainX.shape[1]))
testX = np.reshape(testX,(testX.shape[0], 1, testX.shape[1]))
model = Sequential()
model.add(Bidirectional(LSTM(64,input_shape=(trainX.shape[1], trainX.shape[2]),stateful=False)))
model.add(Dropout(0.4))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
Редактировать 2 добавленные данные
Sample Data:
Timestamp X Y Predicted Y
1/01/2019 22:10 0 2 1.712
1/01/2019 22:20 2 0 3.813
1/01/2019 22:30 0 3 1.712
1/01/2019 22:40 3 0 4.829
1/01/2019 22:50 0 0 1.712
1/01/2019 23:00 0 21 1.712
1/01/2019 23:10 21 0 22.71
1/01/2019 23:20 0 0 1.712
1/01/2019 23:30 0 0 1.712
1/01/2019 23:40 0 0 1.712
1/01/2019 23:50 0 0 1.712