1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ZTZTZT123-Competition_fit_days_infection_number_function

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
5 лет назад
5 лет назад
3 месяцев назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
5 лет назад
Loading...
README.md

Модель резервного копирования для прогнозирования эпидемий

Принцип

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

Формально это можно выразить следующим образом: пусть 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). В этой ситуации координатное и масштабное преобразования могут хорошо работать, и модель может быть использована. Но если вы хотите включить медицинские ресурсы (которые меняются со временем) в качестве дополнительной переменной, чтобы предсказать будущие показатели инфицирования, это не даст хороших результатов.

Почему?

  • В первом случае, если известно распределение значений x и y в сетке 30×30, мы можем понять общую картину, используя 900 точек данных.
  • Во втором случае медицинские ресурсы являются временной переменной, связанной с временем, и после включения данных остаётся только 30 точек, потому что нас интересует только значение времени, когда медицинские ресурсы находятся в правильном состоянии, а не все возможные состояния медицинских ресурсов в этот момент времени. То есть мы интересуемся только одной поверхностью y=g(x), представляющей изменение медицинских ресурсов со временем, которая пересекает базовую функцию f(x,y), а не всей базовой функцией.

Хотя, зная распределение базовой функции f(x,y), мы можем получить информацию о любом её сечении. Однако имеющиеся данные сосредоточены только на одном сечении (30 точек), а не равномерно распределены по всему двумерному диапазону (900 точек). Естественно, у нас недостаточно информации для точного моделирования базовой функции. Поскольку невозможно гарантировать точность базовой функции, координатное и масштабное преобразования теряют смысл.

Возможные решения для включения временных переменных

Если необходимо включить временные переменные, как можно улучшить эту модель?

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

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

Заключение

Подходящие сценарии

  • Прогнозирование автокорреляционных последовательностей

Наши преимущества

  • Класс One-shot Learning, эффективное использование доступной информации
  • Теоретически обоснованная стабильность обучения
  • Решение сложных задач путём разделения
  • (По сравнению с дифференциальными моделями) лучшее использование доступных временных данных

Недостатки

  • Сильная зависимость от базовой функции. Особенно при включении других временных переменных, неправильная базовая функция может привести к сбою в работе.

Исследователи

Один не меньше другого

  • zmk отвечал за дизайн и анализ всего алгоритма
  • Чжоу То отвечал за реализацию программы, отладку и экспериментальную работу всего алгоритма
  • Гао Цзянь отвечал за попытки реализации других подходов (после попыток выяснилось, что это базовый уровень)

Публикация работы

  • Liu T , Zhou T , Gao J , et al. Autocorrelation Sequence Prediction Model Based On Reference Function Transformation: Taking Epidemic Prediction As An Example[C]// 2020 Chinese Automation Congress (CAC). 2020. doi:https://doi.org/10.6084/m9.figshare.14140931.v2

Каталог программ

  • check.py: рисует изображение для указанного города
  • to_submission.py: объединяет результаты всех городов в виде таблицы для отправки
  • 通用版本.py: на основе микронастройки базовой функции генерирует модель для каждого региона указанного города
  • 通用版本v2.py: корректировка структуры функций h и g, решение некоторых проблем, вызванных несоответствием между известными данными и формой базовой функции (основано на практических улучшениях)
  • 一号网络.py: обучение базовой функциональной модели (нейронная сеть) на основе полных данных процесса
  • toy_v5_s.h5: базовая функциональная модель (нейронная сеть)
  • toy_v5_xr.h5: подходит для больших регионов
  • toy_v5_zt.h5: подходит для небольших регионов

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

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

Обновления

Пока нет обновлений

Участники (3)

все

Недавние действия

Создан репозиторий 3 месяца назад
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/ZTZTZT123-Competition_fit_days_infection_number_function.git
git@gitlife.ru:oschina-mirror/ZTZTZT123-Competition_fit_days_infection_number_function.git
oschina-mirror
ZTZTZT123-Competition_fit_days_infection_number_function
ZTZTZT123-Competition_fit_days_infection_number_function
master