Прогнозирование с использованием простой модели LSTM
После выполнения подготовки простой LSTM-модели, выполним несколько прогнозов.
for x, y in val_univariate.take(3):
plot = show_plot([x[0].numpy(), y[0].numpy(),
simple_lstm_model.predict(x)[0]], 0, 'Simple LSTM model')
plot.show()
Выглядит лучше, чем базовый уровень.
Теперь, когда вы ознакомились с основами, давайте перейдем ко второй части, в которой описывается работа с многомерным временным рядом.
Часть 2: Прогнозирование на основе многомерного временного ряда
Как было сказано, исходный набор данных содержит 14 различных метеорологических показателей. Для простоты и удобства во второй части рассматриваются только три из них — температура воздуха, атмосферное давление и плотность воздуха.
Чтобы использовать больше признаков, их названия нужно добавить в список feature_considered.
features_considered = ['p (mbar)', 'T (degC)', 'rho (g/m**3)']
features = df[features_considered]
features.index = df['Date Time']
features.head()
Посмотрим, как эти показатели изменяются во времени.
features.plot(subplots=True)
Как и ранее, первым шагом будет выполнение стандартизации набора данных с вычислением среднего значения и стандартного отклонения обучающих данных.
dataset = features.values
data_mean = dataset[:TRAIN_SPLIT].mean(axis=0)
data_std = dataset[:TRAIN_SPLIT].std(axis=0)
dataset = (dataset-data_mean)/data_std
Дополнение:
Далее в руководстве будет рассказано о точечном и интервальном прогнозировании.
Суть в следующем. Если вам нужно, чтобы модель прогнозировала одно значение в будущем (например, значение температуры через 12 часов) (one-step/single step model), то и обучить модель вы должны таким образом, чтобы она прогнозировала только одно значение в будущем. Если задача состоит в прогнозировании интервала значений в будущем (например, ежечасные значения температуры в течение следующих 12 часов) (multi-step model), то и модель должна быть обучена прогнозировать интервал значений в будущем.
Do'stlaringiz bilan baham: |