Модель RRN выводит меньше ожидаемых данных. Как я могу улучшить его, чтобы он был ближе к настоящему? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь реализовать модель для прогнозирования временного ряда на основе других показателей c, отличных от ожидаемого результата.

Я загрузил свою модель массивом (X), состоящим из 200 временных шагов и я пытаюсь предсказать другой массив (Y) всего на один шаг в будущем, что должно быть довольно простой проблемой. Train_X.shape = (61463, 200, 1), Train_y.shape = (61463,)

Моя модель с использованием API Sequential KERAS:

model.add(tf.keras.layers.Conv1D(filters=30,kernel_size=4,
                                  strides=2,padding='valid',
                                  input_shape=(n_steps,n_features)))
model.add(tf.keras.layers.LSTM(100,return_sequences=True,dropout=0.5))
model.add(tf.keras.layers.LSTM(100,return_sequences=True,dropout=0.5))
model.add(tf.keras.layers.TimeDistributed(Dense(50,activation='exponential')))
model.add(tf.keras.layers.TimeDistributed(Dense(1)))

Модель предсказывает форму волны массива Y неплохие. Хотя значения меньше реальных. Вот почему я добавляю и экспоненциальный плотный слой, потому что я прочитал, это полезно, когда выход и вход имеют разные масштабы.

Я прилагаю полученный прогноз, фактические значения и входные данные модели

Результат модели

Я также сравниваю полученные и фактические значения, чтобы увидеть, какая у меня проблема.

Фактическое и прогнозируемое

Помогите, пожалуйста, решить эту проблему. Я пробовал сотни различных решений, но ни одно из них не работает.

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