У меня есть набор данных последовательностей, которые выглядят как в следующем примере.Они имеют переменную длину, но одинаковое количество столбцов.Я заинтересован в прогнозировании a(t+1)
с использованием функций b(t), c(t), d(t), e(t) ...
t a(t) b(t) c(t) d(t) e(t) ...
1 290.0 653.1 1.0 -0.2 -0.2 ...
2 289.9 653.2 1.0 -0.2 -0.2 ...
3 289.9 653.2 1.0 -0.2 -0.2 ...
4 289.8 653.2 0.9 -0.2 -0.3 ...
5 289.8 653.3 0.9 -0.2 -0.3 ...
6 289.8 653.3 0.9 -0.2 -0.3 ...
...
Я смог подготовить одну последовательность для обучения под наблюдением и установить простую модель LSTM, следуя учебному пособию , найденному здесь используя код ниже.Где train_X
включает каждую функцию (b,c,d,e,...)
в момент времени t
, а train_y
- это a(t+1)
Как обучить модель нескольким последовательностям?В конечном счете, моя цель: учитывая особенности (b,c,d,e,...)
при t=0, t=1, t=2, t=k-1
, предсказать вывод a(k+T)
для следующих T
временных шагов.
model = Sequential()
model.add(LSTM(50, input_shape=(train_X.shape[1], train_X.shape[2])))
model.add(Dense(1))
model.compile(loss='mae', optimizer='adam')
model.fit(train_X, train_y, epochs=1000, batch_size=1, validation_data=(test_X, test_y), verbose=1, shuffle=False)