Как использовать LSTM для прогнозирования набора данных с несколькими выборками - PullRequest
0 голосов
/ 17 февраля 2020

Я следую за прогнозированием тензорного потока для многоэтапных прогнозов, чтобы применить его к моему набору данных для прогнозирования 2nd column, проблема в том, что мой набор данных содержит только 60 записей. данные в формате

sample data

Я использовал следующие параметры

TRAIN_SPLIT = 40
tf.random.set_seed(0)

past_history = 12  # history records to take into consideration
STEP = 1

BATCH_SIZE = 30
BUFFER_SIZE = 10000

EPOCHS = 200
# steps_per_epoch * batch_size = number_of_rows_in_train_data
steps_per_epoch = math.ceil(TRAIN_SPLIT / BATCH_SIZE)
validation_steps = 1

Затем я использовал MinMaxScaler для масштабирования 4th column

и моя сеть выглядит следующим образом

multi_step_model = tf.keras.models.Sequential()
multi_step_model.add(tf.keras.layers.LSTM(8, input_shape=x_train_multi.shape[-2:]))
multi_step_model.add(tf.keras.layers.Dense(future_target))

multi_step_model.compile(optimizer=tf.keras.optimizers.RMSprop(clipvalue=1.0), loss='mse')

multi_step_history = multi_step_model.fit(train_data_multi,
                                          epochs=EPOCHS,
                                          steps_per_epoch=steps_per_epoch,
                                          validation_data=val_data_multi,
                                          validation_steps=validation_steps)

val_loss не будет go ниже 7.0

enter image description here enter image description here

У меня есть два вопроса,

Q1 : будет ли LSTM хорошим выбором для моделирования этой проблемы?

Q2 : что было бы наилучшей возможностью повысить точность модели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...