Этот блог является последним из серии о модели SIRD и машинном обучении. В этом блоге я подробно расскажу о процедурах вводного блога, используя данные из блога анализа разведки.

Коды, которые генерируют результаты в блогах, доступны по адресу https://github.com/zl3311/COVID_prediction_US.

Подгонка модели

После очистки данных, как описано в предыдущем блоге, я построил чистый набор данных за 198 дней с 24 апреля по 7 ноября, который содержит 198 дней. Я установил первые 100 дней как тренировочный набор, а остальные 98 дней как тестовый. В частности, обучающий набор включает 51 состояние × 100 дней = 5100 записей, а тестовый набор включает 51 состояние × 98 дней = 4998 записей. Затем я создаю задачу машинного обучения для прогнозирования подтвержденной вероятности текущего дня с учетом прошлых данных о мобильности и прошлых подтвержденных случаев COVID. В частности, я использую 30-дневное скользящее среднее прошлых данных о мобильности и 7-дневное скользящее среднее прошлых подтвержденных случаев в качестве переменных-предикторов (X) и подтвержденная вероятность текущего дня как зависимая переменная (Y). Для ясности я перечисляю переменные-предикторы следующим образом.

Поскольку Y - это вероятность, которая колеблется от 0 до 1, я установил логистическую регрессию в качестве эталонной модели и применил три популярные модели машинного обучения, а именно случайный лес, градиентное (дерево) бустинг и нейронную сеть (многослойный персептрон). Кроме того, поскольку величина зависимой переменной находится в диапазоне от 0 до 1, а максимальная абсолютная ошибка (MAE) сильнее наказывается на малых масштабах по сравнению со среднеквадратической ошибкой, я использую MAE в качестве функции потерь для всех четырех моделей, учитывая относительно длинный горизонт прогнозирования. . В частности, для нейронных сетей я использую активацию «relu» для всех скрытых слоев и «сигмоид» в качестве выходной активации, поскольку Y - это вероятность.

Поиск по сетке по гиперпараметрам ведется на всех трех моделях, пространство поиска показано в таблице ниже. Обратите внимание, что для случайного повышения леса и градиента я применил 5-кратную перекрестную проверку с использованием фактического обучающего набора, который далее разбивает наш фактический обучающий набор на пять меньших подмножеств, и каждое подмножество служит набором проверки, а остальные последовательно служат обучающим набором. . Следовательно, я записываю среднюю MAE пяти «обучающих наборов» и «проверочных наборов» нашего фактического обучающего набора как ошибку обучения и проверки для каждой комбинации гиперпараметров. Для нейронных сетей я не применял явную процедуру перекрестной проверки. Вместо этого я предсказываю фактический набор тестов в каждую эпоху обучения в качестве процедуры проверки и вычисляю MAE набора тестов, что является более распространенным подходом к проверке для нейронных сетей. В этом смысле «набор проверки» и «набор тестов» в процедуре проверки нейронной сети являются одним и тем же фактическим набором тестов.

Для согласованности я называю среднюю MAE во время перекрестной проверки как в случайном лесу и повышении градиента, так и MAE фактического обучающего набора как в нейронной сети как ошибку обучения. Точно так же как средняя MAE во время перекрестной проверки, как в случайном лесу, так и при повышении градиента, и MAE фактического набора тестов / проверки, как в нейронной сети, называются ошибкой проверки. Я выбираю оптимальный гиперпараметр, используя эти MAE, и MAE для обучения и MAE для проверки строятся с использованием синей и зеленой поверхностей соответственно, как показано на следующих рисунках. Обратите внимание, что более темные цвета соответствуют меньшим МАЭ на одной поверхности.

Для случайного леса производительность модели неизменна в зависимости от количества оценок и «плато», когда максимальная глубина достигает 10. Для повышения градиента наблюдается аналогичная картина, но минимальные значения ошибок проверки, когда максимальная глубина равна 10. Для нейронных сетей производительность модели не является чувствителен к обоим гиперпараметрам. Основываясь на обучающих и проверочных MAE, их пробелах и простоте модели, я выбрал оптимальный набор гиперпараметров для каждой модели и обновил модели, используя оптимальные гиперпараметры. Затем я прогнозирую фактический набор для обучения и тестирования, используя обновленные модели, и суммирую выбранные гиперпараметры и MAE фактического набора для обучения и тестирования, как в следующей таблице.

По сравнению с более простым тестом, случайный лес и градиентное усиление слишком сильно переоснащаются при обучении MAE примерно в 7 раз меньше, чем эталонный тест, и плохо обобщаются с аналогичным тестом MAE в качестве эталонного теста, тогда как нейронная сеть превосходит эталон как в тренировочном, так и в тестовом наборе и не превышает эталонный тест. данных столько же, сколько случайного леса и повышения градиента. В целом нейронная сеть превосходит остальные модели как по общности, так и по выразительности.

Соберите машинное обучение с помощью моделирования

Выбрав нейронную сеть в качестве оптимальной модели, я собираю модель прогнозирования во всю структуру моделирования. Здесь я строю наивное детерминированное численное моделирование постепенного распространения COVID и сравниваю прогнозируемую тенденцию с реальной тенденцией. Из-за временной зависимости нашего определения проблемы я установил моделирование, начиная с заданного периода, и предсказал «будущие» периоды в дальнейшем. Естественно, что короткий начальный период прогнозирования зависит от наблюдаемых данных, но для большинства периодов прогнозирования после начального периода в нем будут преобладать прогнозы. Более того, я предполагаю, что данные о мобильности за каждый день точно известны во время прогнозирования. Неудивительно, что я разделил весь временной горизонт на данные и предсказания одинаково с разделением 100-дневной обучающей выборки и 98-дневной тестовой выборки. Затем для каждого дня в прогнозируемом горизонте я последовательно применяю следующие вычисления:

Для каждого состояния я последовательно выполняю это вычисление до последнего дня прогноза и сравниваю предсказанные подтвержденные случаи I_t с фактическим наблюдаемым числом. Для ограничения места я показываю результаты только для США (сумма всех штатов), Калифорнии, округа Колумбия, Флориды, Техаса и Нью-Йорка на следующих рисунках.

В целом, усовершенствованная модель SIRD работает прилично для всей территории США, Флориды, Нью-Йорка, Калифорнии, а также для округа Колумбия и Техас. Есть несколько возможных причин ошибки прогноза. Одна из основных проблем заключается в том, что одной только мобильности недостаточно, чтобы сделать общий прогноз для всех государств. В реальной жизни существует множество других влияющих факторов, таких как гостеприимство, наличие масок, температура, плотность населения или даже сам вирус COVID (например, возможная мутация вируса) и т. Д., Но я их не включил. Другая проблема заключается в том, что я предполагаю однородность по многим аспектам, включая однородную модель вероятности заражения по всем состояниям и временным горизонтам, однородный коэффициент выздоровления и уровень смертности по всем временным горизонтам. Такие предположения об однородности могут не соответствовать действительности. Далее я расскажу о некоторых возможных улучшениях.

Заключение и дальнейшие исследования

Таким образом, для этой серии блогов я проанализировал влияние COVID на различные демографические группы, используя реальные данные эпиднадзора за COVID в сочетании с соответствующей демографической информацией. Результаты показывают, что COVID более опасен для пожилых мужчин и что люди, принадлежащие к разным расам, с большей вероятностью могут заразиться. Я также предложил модель SIRD, управляемую данными и улучшенную машинным обучением, и эта модель неплохо работает для некоторых состояний.

Возможные будущие улучшения заключаются в следующем:

  • Данные, данные и данные! Всегда лучше иметь более актуальные данные. Было бы полезно включить такие данные, как государственная госпитализация, состояние окружающей среды, средний уровень дохода, средний уровень образования или даже политические предпочтения, в анализ, разумеется, в рамках регулирования данных о конфиденциальности.
  • Шаблон заражения может не совпадать на всем временном горизонте, и для достижения максимальной точности было бы лучше применить ту же структуру на более коротком временном горизонте и повторно обучить всю модель, как только у меня появится больше данных. Поскольку наличие статистически достаточных данных для модели одинаково важно, поиск «сладкой точки», дополняющей оба требования, определенно является лучшим вариантом.
  • Что касается текущей модели, я предполагаю, что данные о будущей мобильности хорошо известны при прогнозировании будущих подтвержденных случаев. Дело в том, что данные о мобильности нельзя узнать вовремя. Одна из альтернатив - сначала независимо спрогнозировать данные временных рядов мобильности, а затем использовать их для подтверждения вероятностного предсказания. Другой более сложный вариант - проанализировать модель временных рядов мобильности по сравнению с подтвержденными временными рядами в обратном порядке и предложить связанную модель.
  • Если позволяют вычислительные ресурсы, можно выполнить более точную настройку гиперпараметров.

Пусть COVID скоро закончится.