Я не могу понять, как разделить данные временных рядов для модели seq2seq. Данные выглядят следующим образом -
date count
0 2017-05-31 1
1 2017-06-25 1
2 2017-07-01 1
3 2017-08-29 1
4 2017-09-06 2
Предположим, я хочу сделать прогноз на следующие 4 недели, и мои данные с 2017-01-01 по 2019-10-31.
Я бы хотелзнать, что разделение идет в кодировщик, что идет в декодер, и что будет целью для обучения + проверки. Аналогично, для тестирования.
Предварительная (потому что я не знаю, верна ли она) конфигурация модели -
# Encoder
encoder_inputs = tf.keras.layers.Input(shape=(None, 1))
encoder = tf.keras.layers.LSTM(HIDDEN_UNITS, dropout=0.2, return_state=True)
encoder_outputs, state_h, state_c = encoder(encoder_inputs)
encoder_states = [state_h, state_c]
# Decoder
decoder_inputs = tf.keras.layers.Input(shape=(None, 1))
decoder = tf.keras.layers.LSTM(HIDDEN_UNITS, dropout=0.2, return_sequences=True, return_state=True)
decoder_outputs, _, _ = decoder(decoder_inputs, initial_state=encoder_states)
decoder_dense = tf.keras.layers.Dense(1)
decoder_outputs = decoder_dense(decoder_outputs)
model = tf.keras.models.Model([encoder_inputs, decoder_inputs], decoder_outputs)
model.summary()