Модель резервного копирования для прогнозирования эпидемий
Принцип
Данная модель основана на координатном преобразовании. Основная предпосылка заключается в том, что общий процесс эпидемии в разных регионах имеет схожую форму, но отличается амплитудой и продолжительностью. Поэтому мы используем кривую из региона, который уже прошёл через весь процесс эпидемии, чтобы сопоставить её с другими регионами.
Формально это можно выразить следующим образом: пусть f(x) — полная кривая процесса эпидемии (далее базовая функция), а g и h — функции преобразования координат и масштаба соответственно. Тогда новая кривая будет иметь вид h(f(g(x′))), где x′ — независимая переменная для нового региона (в нашем примере — количество дней).
В настоящее время известна базовая функция, и необходимо определить параметры функций g и h. Здесь мы используем алгоритм обратного распространения, чтобы базовая функция соответствовала кривой известного процесса в целевом регионе с минимальными изменениями. Эти изменения выполняются функциями g и h, и их оптимальные параметры соответствуют минимальным затратам. Таким образом, кривая соответствует кривой известного процесса в текущем регионе, а также позволяет оценить значения вне выборки на основе базовой формы.
Реализация
Поскольку используется алгоритм обратного распространения, необходимо получить дифференцируемые представления функций f, g и h. Базовую функцию f(x) можно получить с помощью любого метода аппроксимации, например, трёхкратной интерполяции сплайнами. Функции g и h требуют корректировки в процессе обратного распространения, поэтому здесь используются две простые нейронные сети. Базовая функция также представлена нейронной сетью для удобства программирования. Если вы используете другой метод аппроксимации для получения базовой функции, можно использовать пользовательские слои Keras для замены представления базовой функции в нашей модели.
Наша модель представлена схематически:
[|备胎模型.png|]
Следует обратить внимание на функции g и h. Функция h представляет собой преобразование масштаба базовой функции, поэтому важно контролировать её выразительную способность. Мы использовали простой линейный слой. Если сделать функцию h слишком сложной, обратное распространение будет пытаться подогнать её под форму известного процесса в целевом регионе вместо того, чтобы изменять базовую функцию (это было бы более затратно). Форма функции g зависит от желаемого типа координатного преобразования. В нашем примере это простая одномерная функция «время-количество людей», которая выполняет только сдвиг влево-вправо и масштабирование на оси x, то есть одномерное аффинное преобразование. Поэтому при разработке мы использовали несколько линейных слоёв с смещениями (позже они были заменены на некоторые ReLU из-за неудовлетворительных результатов). Если требуется более сложное отображение, его можно изменить по мере необходимости. Однако стоит отметить, что даже если g относительно глубокая, она не оказывает такого же влияния на результаты, как h, поскольку g определяет только независимую переменную базовой функции, а окончательные значения кривой всё ещё рассчитываются базовой функцией.
Анализ проблем с многомерными данными
Наш пример рассматривает только одномерные функции, но применима ли эта модель к многомерным функциям? Например, если добавить несколько временных переменных, связанных с распространением болезни. Во-первых, координатные и масштабные преобразования применимы к многомерным данным, но следует учитывать, что оба они относятся ко всему многомерному графику. Если ваша цель — изучить взаимосвязь между определёнными измерениями (например, координаты и значения функции) и предсказать значения за пределами выборки, эта модель не может быть применена напрямую.
Например, предположим, что вы хотите исследовать взаимосвязь между координатами x и y и значениями функции (то есть количеством инфицированных людей в зависимости от региона) и хотите предсказать значения функции за пределами выборки для определённых диапазонов x и y. В этом случае вы будете интересоваться всей трёхмерной формой базовой функции f(x,y). В этой ситуации координатное и масштабное преобразования могут хорошо работать, и модель может быть использована. Но если вы хотите включить медицинские ресурсы (которые меняются со временем) в качестве дополнительной переменной, чтобы предсказать будущие показатели инфицирования, это не даст хороших результатов.
Почему?
Хотя, зная распределение базовой функции f(x,y), мы можем получить информацию о любом её сечении. Однако имеющиеся данные сосредоточены только на одном сечении (30 точек), а не равномерно распределены по всему двумерному диапазону (900 точек). Естественно, у нас недостаточно информации для точного моделирования базовой функции. Поскольку невозможно гарантировать точность базовой функции, координатное и масштабное преобразования теряют смысл.
Возможные решения для включения временных переменных
Если необходимо включить временные переменные, как можно улучшить эту модель?
Во-первых, мы считаем, что влияние других временных переменных заключается в изменении формы кривой при различных значениях этих переменных. Анализируя данные о вспышках заболеваний, мы обнаружили, что кривые имеют несколько типичных форм, и большинство процессов вспышек заболеваний можно отнести к этим формам.
Поэтому мы рассматриваем следующий подход: разделить временную переменную и другие временные переменные. Сначала классифицировать данные на основе известных временных переменных и определить соответствующую форму кривой, а затем применить соответствующий метод для обучения и прогнозирования. Это позволяет преобразовать многомерную регрессионную задачу в небольшие задачи классификации и простой регрессии, эффективно используя доступную информацию и повышая стабильность обучения.
Заключение
Один не меньше другого
check.py
: рисует изображение для указанного городаto_submission.py
: объединяет результаты всех городов в виде таблицы для отправки通用版本.py
: на основе микронастройки базовой функции генерирует модель для каждого региона указанного города通用版本v2.py
: корректировка структуры функций h
и g
, решение некоторых проблем, вызванных несоответствием между известными данными и формой базовой функции (основано на практических улучшениях)一号网络.py
: обучение базовой функциональной модели (нейронная сеть) на основе полных данных процессаtoy_v5_s.h5
: базовая функциональная модель (нейронная сеть)toy_v5_xr.h5
: подходит для больших регионовtoy_v5_zt.h5
: подходит для небольших регионовВы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )