Прогнозирование временных рядов с несколькими параллельными входами и многошаговыми выходами - PullRequest
0 голосов
/ 05 февраля 2019

Я изучаю прогнозирование временных рядов с использованием модели LSTM.Я нашел хороший учебник https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/ Я пытаюсь использовать Stacked LSTM для проблемы в части «Многократный параллельный ввод и многошаговый выход».

Набор данных выглядит следующим образом:

[[10 15 25]

[20 25 45]

[30 35 65]

[40 45 85]

[50 55 105]

[60 65 125]

[70 75 145]

[80 85 165]

[90 95 185]]

Задача состоит в том, чтобы использовать последние три временных шага из каждого из трех временных рядов в качестве входных данных для модели и прогнозировать следующие временные шаги каждого из трех временных рядов в качестве выходных.

Например, вотX-вход:

[[10 15 25]

[20 25 45]

[30 35 65]]

И это у-выход:

[[40 45 85]

[50 55 105]]

В учебнике используется структура Encoder-Decoder, но я хочу применить структуру Stacked LSTM, аналогичную следующей StackedПример LSTM.Но мой вывод - это последовательность последовательности, и я не знаю, как выбрать n_steps_out для плотного слоя.

model = Sequential()
model.add(LSTM(100, activation='relu', return_sequences=True,    input_shape=(n_steps_in, n_features)))
model.add(LSTM(100, activation='relu'))
model.add(Dense(n_steps_out))
model.compile(optimizer='adam', loss='mse')
# fit model
model.fit(X, y, epochs=200, verbose=0)

1 Ответ

0 голосов
/ 20 апреля 2019

Поскольку я вижу, что вы использовали машинное обучение, я направляю вас к тому же самому, с другим кодом, возможно, вы его не нашли.https://machinelearningmastery.com/multivariate-time-series-forecasting-lstms-keras/ В основном вам поможет функция "series_to_supervised" с начала кода.Он создает лаговые наборы данных, и вы можете играть с тем количеством лагов, которое вы хотите иметь.Или то, или это: https://github.com/llSourcell/How-to-Predict-Stock-Prices-Easily-Demo/blob/master/lstm.py Здесь у вас есть пример вывода последовательности.Надеюсь, это поможет.

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