Модель Кераса плохо предсказывает - PullRequest
1 голос
/ 05 апреля 2020

В настоящее время я участвую в конкурсе Kaggle по прогнозированию случаев COVID-19 (3-я неделя). Цель состоит в том, чтобы предсказать случаи COVID-19 из набора данных с ежедневными случаями для каждой страны. https://www.kaggle.com/c/covid19-global-forecasting-week-3

Мои входные данные для модели выглядят так:

t-10, t-9, t-8, ..., t ====> прогнозировать t + 1
t-9, t-8, t-7, ..., t + 1 =====> прогнозировать t + 2
..... .
Где t - временной шаг

После того, как я подгоняю модель, я пытаюсь предсказать следующие 33 временных шага

Я пытаюсь использовать Сверточные NN и LSTM. Моя модель выглядит следующим образом:

model = Sequential()
model.add(Conv1D(filters=250, kernel_size=3, activation='relu', input_shape=(10,1), padding='same', kernel_initializer='truncated_normal'))
model.add(Dropout(0.2))
model.add(LSTM(64, activation='relu', kernel_initializer='truncated_normal'))
model.add(Dropout(0.2))
model.add(Dense(16, activation='relu', kernel_initializer='truncated_normal'))
model.add(Dropout(0.2))
model.add(Dense(1))
model.compile(loss='mse', optimizer='adam')

Я подгоняю 5 разных моделей и затем усредняю ​​их результаты.
Я пробовал много разных моделей (меняя слои или сколько узлов есть) но этот пока кажется лучшим. Я не уверен, почему, но он либо не подходит, либо подходит. В любом случае, он по-прежнему делает ужасные прогнозы, такие как 79 случаев в одном прогоне и 10 ^ 4 случаев в другом.
Вот несколько сюжетов моей модели (второй - то, чего я пытаюсь достичь):
bad prediction good prediction
Можете ли вы пожалуйста дайте мне совет относительно этой проблемы? Если я буду использовать другую модель, что-то сделать с моими данными, изменить количество эпох и т. Д. c ...

Заранее спасибо!

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