Лихорадка денге является трансмиссивным заболеванием, которое распространяется в основном комарами и представляет собой глобальную проблему общественного здравоохранения и эпидемиологии. В настоящее время более половины населения мира подвержено риску эпидемии денге, ежегодно заражается более 390 миллионов человек [1]. В частности, Сингапур — это тропический мегаполис с густонаселенной городской средой. Небольшое островное государство находится недалеко от экватора, где круглый год тепло и влажно. Таким образом, небольшой город-остров является идеальной средой для размножения городских комаров и очагом вспышек лихорадки денге.
Смертность от лихорадки денге в настоящее время оценивается в 2,5% и, по прогнозам, будет расти с наступлением глобального потепления [2]. Случаи денге можно предотвратить, и такие меры, как общественные кампании и меры по борьбе с вредителями, могут быть приняты до начала вспышек денге. Можно уменьшить количество инфекций денге и, следовательно, уровень смертности, если мы сможем заранее предсказать вспышки денге. В этой статье мы показываем, что методология дерева решений, известная как XGBoost, способна прогнозировать вспышки комаров на 8 недель вперед, используя текущие и прошлые данные об осадках, температуре и случаях денге в регионе. Сначала мы будем обучать стандартную модель машинного обучения с использованием простой нейронной сети, а затем углубимся в нашу конкретную методологию (XGBoost), а затем в наши результаты и обсуждение.
Прогноз машинного обучения
Простая нейронная сеть (НС) — это биологический алгоритм машинного обучения, который принимает входной вектор и обрабатывает его через ряд тесно связанных узлов. Каждый узел соединен с другими узлами на следующем уровне, и сила каждого соединения определяется взвешенными значениями. На последнем выходном слое значения всех узлов объединяются со взвешенными значениями и определяется окончательный результат. Обучение NN определяет веса в скрытых слоях. Успешная модель может выводить как мультиклассовые, так и вероятностные значения и может использоваться для многих приложений, включая регрессию и классификацию. Действительно, нейронные сети успешно применяются во многих приложениях, включая диагностику заболеваний, беспилотные автомобили и прогнозирование погоды.
Однако ключевое ограничение NN заключается в том, что они могут быть ограничены в своих прогнозирующих возможностях и, как правило, не имеют надлежащего понимания для создания прогнозируемого результата. На рисунке 3 ниже мы показываем, что модели прогнозирования NN для прогнозирования временных рядов обычно приводят к значительному запаздыванию, что ограничивает прогностическую способность модели.
Наша цель: предсказать за 8 недель возможность вспышки денге.
Наш метод. Обучите модель XGBoost, чтобы предсказать разницу в количестве случаев денге между сегодняшним днем и 8 неделями позже.
XGBoost
XGBoost, или eXtreme Gradient Boosting, — это еще одна форма машинного обучения, но в ее алгоритме используются деревья решений. Модель XGBoost включает в себя обучение ансамбля деревьев решений, в котором окончательный прогноз прогнозируется на основе суммы индивидуальных прогнозов каждого дерева.
Повышение градиента относится к тому, как каждое дерево обучается последовательно, а последующие деревья обучаются прогнозировать остатки между суммой прогнозов предыдущих деревьев и данными обучения; Проще говоря, новые деревья обучаются исправлять ошибки своих предшественников. Каждое дерево придумано как «слабый ученик», и их прогнозы объединяются, чтобы сформировать «сильного ученика».
Данные и предварительная обработка
Данные для обучения случаев прогнозирования были получены от Терра-ИИ (СГ). Короче говоря, данные содержат 3 основные функции:
Перед выполнением этапа обучения и тестирования мы сначала рассмотрим предварительную обработку данных, чтобы максимально оптимизировать обучение. Предварительная обработка выполняется в 5 основных этапов:
- Обобщение дат
Мы рассмотрим предоставленные данные, чтобы определить, соответствуют ли формат и заданные значения нашему обучению. Данные об осадках и температуре отличаются от данных о лихорадке денге датой начала и окончания. Поскольку нам нужен полный набор всех трех чисел для обучения и тестирования, мы сначала извлечем данные только для тех дат, когда были доступны все 3 показания.
Как показано на рис. 6, самой поздней датой начала было 3 марта 2012 г. (как по осадкам, так и по температуре), но самой ранней датой окончания данных было 23 ноября 2019 г. (по данным о лихорадке денге). Мы смогли извлечь все еженедельные данные только за период с 3 марта 2012 года по 23 ноября 2019 года.
2. Регуляризация данных
Следующая проблема, которую необходимо решить, — это разница во временных масштабах между данными о погоде (температуре и осадках) и данными о лихорадке денге. Хотя можно расширить еженедельные случаи денге до ежедневных показаний и максимизировать количество доступных точек данных, усреднение данных о погоде в еженедельных числах поможет уменьшить вычислительную мощность, необходимую для обучения модели LSTM позже.
Для усреднения данных о погоде сначала были получены средние дневные температуры и количество осадков за 7 дней для каждого региона. Затем еженедельные данные усреднялись, чтобы соответствовать предоставленным случаям денге (последовательность этого усреднения не должна иметь значения, поскольку это линейные операции). При этом любые значения NaN в данных будут исключены из дальнейшего анализа.
3. Создание функций
Хотя нейронную сеть можно сразу же обучить и протестировать, используя еженедельные данные, мы обнаружили, что простое создание признаков очень помогло модели. В частности, поскольку мы прогнозируем разницу в случаях денге между сегодняшним днем и 8 неделями в будущем, мы сочли логичным сгенерировать разницу в случаях денге между сегодняшним днем (T = 0) и 8-й неделей в прошлом неделя (T = -7 ) в качестве дополнительной функции. Мы называем это данными о разнице денге.
Поскольку данные о разнице лихорадки денге уже содержат информацию о сегодняшних данных лихорадки денге, мы таким образом удалили исходные данные лихорадки денге из входных признаков в модель.
4. Оконный режим
Windowing определяет, сколько прошлых недель учитывается при прогнозировании будущего.
Поскольку определение фактического числа случаев денге через 8 недель — это просто значение прогноза, суммированное с сегодняшними зарегистрированными случаями денге, для большей ясности мы называем этот прогноз просто «прогнозом на будущее».
Мы использовали данные с недели -4 по неделю 0, где каждая неделя имеет свою собственную национальную температуру, количество осадков и данные о разнице в лихорадке денге, чтобы спрогнозировать количество случаев денге на неделе +8. Рассматривая данные за последние 4 недели, чтобы предсказать количество случаев денге через 8 недель, мы получаем 4 x 3 = 12-мерный вектор в качестве единственного входа в нейронную сеть.
Результат предварительно обработанных данных показан на рисунке 8. Каждая точка обучения состоит из 4 недель исторических данных (от недели -3 до недели 0). Каждая неделя состоит из средних по стране осадков, температуры и разницы между количеством случаев денге за эту неделю и за 8 недель в прошлом (например, неделя -2 имеет разностные данные C-2 — C-9). Прогнозное значение, относящееся к каждой неделе, представляет собой разницу в количестве обращений с этой недели на 8 недель в будущем (например, неделя 2 имеет правильные выходные данные C9 — C2).
5. Разделение и масштабирование
После завершения предварительной обработки мы выполняем разделение поезд-тест. В нашем случае мы произвольно выбрали первые 270 недель для обучения, оставшиеся 80 недель для проверки и 33 недели для тестирования. Это соответствует примерно 70–20–10% разделения между обучающими, проверочными и тестовыми наборами. Затем наборы данных нормализуются к значению с плавающей запятой от 0 до 1.
Обучение модели XGBoost с помощью Autocaffe
Мы вводим вектор данных за последние 4 недели (12-мерный вектор), а затем выходные данные модели XGBoost сравниваем с количеством случаев денге через 8 недель в будущем. Эта потеря затем передается в модель, которая затем создает новые деревья, которые корректируют остатки. После нескольких прогонов для тонкой настройки параметров XGB мы получили наиболее оптимальные настройки, как описано ниже:
- Скорость обучения: 0,25
- Количество деревьев: 50
- Максимальная глубина: 2
- Подвыборка: 0,95
Затем мы запускаем модель с указанными выше настройками для 450 испытаний, чтобы максимизировать шансы на получение наиболее оптимизированной модели. Полученные результаты показаны ниже.
Результаты
Мы реализуем обученную модель, чтобы делать прогнозы на тестовом наборе. Результаты показаны ниже.
График корреляции с запаздыванием, показанный на рис. 12, представляет собой меру временного лага между прогнозируемыми и фактическими значениями разницы лихорадки денге. Пик наблюдается, когда достигается лучшая взаимная корреляция Пирсона. Таким образом, пик на уровне 2 предполагает, что прогнозы отстают на период времени в 2 недели.
Избиение настойчивости
Для нашей модели постоянства (AR) полученная потеря при тестировании составляет 107,08 (sqrt (11466)). Учитывая, что наши результаты получили тестовую потерю 92, что ниже, чем в модели постоянства, мы можем сказать, что мы победили постоянство.
Сравнение с другими моделями
Мы тестировали XGBoost вместе с простыми нейронными сетями, а также с сетями глубокого обучения (LSTM и TCN). XGBoost показал самые высокие результаты с точки зрения точности, а также предоставил наилучшее представление о прогнозировании вспышки лихорадки денге, превзойдя постоянство.
Ограничения и будущие улучшения
Наша обученная модель основана исключительно на данных об осадках и температуре с 2012 по 2019 год. Таким образом, модель может не дать точного прогноза, когда спорадические изменения, вызванные другими факторами (такими как изменение серотипов DENV и статистика населения), могут сыграть решающую роль. роль в неспособности нынешней модели предсказывать внезапные вспышки денге.
Мы считаем, что долгосрочные прогнозы можно было бы сделать лучше, если бы можно было включить другие соответствующие параметры. Дополнительные параметры могут быть получены напрямую по запросу от Национального агентства по окружающей среде или в свободном доступе через API Gov.sg.
использованная литература
[1] Ryan SJ, Carlson CJ, Mordecai EA, Johnson LR (2019) Глобальное расширение и перераспределение риска передачи вируса, переносимого Aedes, с изменением климата. PLoS Negl Trop Dis 13(3): e0007213. https://doi.org/10.1371/journal.pntd.0007213Ryan SJ, Carlson CJ, Mordecai EA, Johnson LR (2019) Глобальное распространение и перераспределение риска передачи вируса, переносимого Aedes, с изменением климата изменять. PLoS Negl Trop Dis 13(3): e0007213. https://doi.org/10.1371/journal.pntd.0007213
[2] Национальное агентство по окружающей среде, Сингапур, Aedes Mosquito, получено 7 января 2020 г. с https://www.nea.gov.sg/dengue-zika/prevent-aedes-mosquito-breeding/aedes-mosquito.
[3] Bonanomi M (2019), Почасовое прогнозирование цен на электроэнергию с использованием нейронных сетей с долговременной кратковременной памятью нейронные сети с долговременной кратковременной памятью-814ceac517b0»