НАУКА О ДАННЫХ - COVID-19 - ВИЗУАЛИЗАЦИЯ - ПРОГРАММИРОВАНИЕ

Сравнение данных о COVID-19 из разных мест: нормализация - демонстрация - программирование

Сколько инфицированных людей все еще находится в нашем ближайшем окружении, в нашей стране и дальше в соседние страны?

Примечание редакции: Towards Data Science - это издание Medium, в основном основанное на изучении науки о данных и машинного обучения. Мы не являемся специалистами в области здравоохранения или эпидемиологами, и мнения, изложенные в этой статье, не следует интерпретировать как профессиональные советы. Чтобы узнать больше о пандемии коронавируса, нажмите здесь.

Пандемия COVID-19 выглядит как мировая война, распространившаяся на 213 стран и регионов по всему миру [worldometer.info], принося в мир смерти, болезни, страх, печаль, бедствия и хаос. Огромный объем данных о COVID-19 ежедневно поступает к нам в виде сообщений с фронта битвы с нашим невидимым врагом, вирусом SARS-CoV-2. Из этого объема данных я задал себе вопрос:

«Сколько инфицированных людей все еще находится в нашем ближайшем окружении, в нашей стране и за пределами соседних стран?»

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

В этой статье я хочу поделиться с вами своим методом «Нормализация накопленных активных случаев» для анализа данных из нескольких стран.

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

Я представил здесь несколько примеров, чтобы продемонстрировать свой метод разработки. Это не профессиональные отчеты (как в ВОЗ, CDC, RKI), но они могут быть полезны, чтобы помочь нам понять, что происходит в связи с пандемией COVID-19, помимо огромного объема данных.

Какие данные о COVID-19 важно сравнивать?

Прежде чем мы приступим к разработке сравнения данных, я хотел бы представить различные типы данных COVID-19. Они есть:

  • Количество ежедневно подтвержденных случаев заражения, «новых случаев».
  • Количество инфицированных на данный момент Пациентов, активные случаи (см. Здесь)
  • Количество предполагаемых активных кейсов, к которым относятся неоткрытые кейсы, можно было оценить с помощью моего Vuong-алгоритма или другого.
  • Количество выздоровевших / выписанных пациентов.
  • Случаи смерти.
  • и Т. Д.

Эти данные будут визуализированы в виде графика:

Ежедневные числа

Накопленные числа

Ежедневные числа y (t) представляют собой дискретные значения, поэтому функция y (t) представляет собой временной ряд. Я использовал здесь y [x] вместо y (t), поэтому x - это дата-время (см. Документ Python: Модуль DateTime). Это упрощает программирование и построение графиков в дальнейшем.

{y [x] / x = x0, x1,…, xn,… xN; xn - это дата и время}

Накопленные числа s [k], - это сумма k чисел y {x].

Таблица 1 показывает пример с y [x], количеством новых случаев за день и их накопленным числом.

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

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

  • Цифры были собраны непосредственно из отчетов профессиональных учреждений, например, испытательных центров, медицинских центров, CDC.
  • Цифры могут быть оценены косвенно по случаям заражения с использованием SIR-модели (например, Брайан Коллинз, Динамическое моделирование Covid-19) или с использованием моего симулятора с алгоритмом Vuong для оценки зараженных случаев по количеству ежедневно подтвержденных новых случаев и смертей.

Как сравнить данные из разных стран?

Рассмотрим диаграмму на рис.1!

На нем показаны графики активных накопленных случаев из разных стран. Если вы хотите сравнить их вместе, возникают следующие проблемы:

  • Похоже, вы сравниваете слона (числа в мире) с медведем (числа в США) или кролика (числа в Германии). Это основная проблема сравнения.
  • Амплитуда сигнала неизвестна. Общее количество случаев инфицирования увеличивалось до 1 миллиона в 04–02–2020, 2 миллиона в 04–15–2020, 4 миллиона в 05–09–2020 и 8 миллионов на 06–15–2020!
  • Производство инфекционных больных - это нелинейная система.
  • Передача COVID-инфекции отличается от каждого округа.

Поэтому я предлагаю метод анализа Corvid-Data: Нормализация данных накопленных активных обращений.

Нормализация данных накопленных активных дел

Концепция состоит из следующих этапов:

Шаг 1:

Серии данных должны относиться к одному и тому же периоду для каждой страны, например с января 2020 года по 30 июня 2020 года.

Шаг 2 :

Для каждой страны мы делаем:

- Сохраняем накопленные данные в поле s [].

- Мы ищем локальный максимум A для s [k]

A = max (s [k], k = 0,… N), N = количество элементов поля s [k], диапазон (s [])

- Затем мы рассчитываем необработанные нормализованные данные

sn[k] = s[k] /A

- Мы могли бы использовать необработанный расчет sn [k], но я хотел бы предложить использовать процентное вычисление sp {n], которое проще для понимания.

sp[n] = 100* s[k] /A

Таблица 2 представляет собой пример, который показывает расчет нормализации S [k] для двух стран, таким образом, максимальное значение s [k] для страны A равно 10, а для страны B - 500.

Анализ данных с помощью симулятора COVID19-VuongSimulator

Для удобства общения я хотел бы позвонить

«График нормализованных данных активных обращений» на «нормализованные активные обращения»,

«График нормализованных данных оценочных активных случаев с алгоритмом Vuong» на «нормализованные V-активные случаи»,

Чтобы интерпретировать графики нормализованных данных, я сгенерировал две демонстрации с помощью VuongSimulator, используя многострановый режим (s. VuongSimulator Command).

  • Витрина 1: нормализованные активные обращения из одной страны
  • Витрина 2: нормализованные активные случаи из разных стран: Германии, Италии, Швеции, США и всего мира.

Витрина 1: нормализованные V-активные случаи из одной страны

В витрине 1 «Нормализованные V-активные случаи из одной страны» вы могли прочитать следующую информацию (см. Рис. 2):

  1. Процент активных дел по сравнению с максимальным значением на 1 апреля,
  2. Дата вспышки заражения в стране - это дата и время, когда графики достигли максимального значения в 100% (см. Рис. 2).
  3. В последний раз вы могли прочитать процент инфицированных в настоящее время пациентов, которые все еще существуют в стране, 14%.

VuongSimulator comand for showcase 1:
./data/vmodel_testlist.csv
Germany 
$ python ./covid19-VuongSimulator.py -c ‘World’ -o test.png -n ./data/new_cases.csv -d ./data/new_deaths.csv -g 0.98 -r 14 -t 7 -s 76

Витрина 2: нормализованные случаи V-active из разных стран: Германии, Италии, Швеции, США и всего мира.

Из витрины 2 (Рис.3) вы можете получить следующую информацию:

  1. Активные случаи из разных стран теперь нормализованы. Каждый график имеет одинаковый максимум при 100%.
  2. Процент активных дел в каждой стране не превышает 100%.
  3. Мы могли сравнивать в любой момент времени «статус» каждой страны по сравнению с другими, конечно, только в процентах.
  4. Мы могли бы изучить дату прорыва в каждой стране, где графики достигли максимума 100%.
  5. Мы могли обнаружить тенденцию к сокращению на 14% по Германии и 34% по Италии. Числа в процентах легче понять как абсолютные значения.
  6. Мы смогли обнаружить тенденцию ожидания, в состоянии плато, 74% по США.
  7. Мы смогли найти начало прорыва в Швеции, потому что графики достигли максимума в 100% в последний раз.
  8. Мы видим, что на мировом графике был локальный максимум в середине апреля, а график растет вверх и достиг 100% в последнюю дату графика. Мы можем ожидать следующего максимума, второй волны в будущем.

Используя Vuong-Simulator, вы можете сравнивать данные из разных стран в соответствии с вашим желаемым списком стран; есть 212 зараженных стран для сравнения! (см. Установка и запуск в этом документе).

VuongSimulator comand for showcase 2:
./data/vmodel_testlist.csv
World,Germany,Italy,Sweden,United States
$ python ./covid19-VuongSimulator.py -c 'World' -o test.png -n ./data/new_cases.csv -d ./data/new_deaths.csv -g 0.98 -r 14 -t 7 -s 76

Covid19-VuongSimulator с режимом нормализации для нескольких стран

Я реализовал нормализацию накопленных активных случаев из нескольких стран в covid19-VuongSimulator.py. В симуляторе есть только командные строки для уменьшения количества диалогов. Параметры команды описаны в wiki проекта.

VuongSimulator нужен список стран для создания выходных диаграмм с мультиграфами. Этот список представляет собой CSV-файл ./data/vmodel_testlist.csv

Настройки по умолчанию:

./data/vmodel_testlist.csv
World,Germany,France,Belgium,Sweden,United Kingdom,Russia,Brazil,United States

Чтобы выполнить анализ данных из других стран, вам необходимо отредактировать список стран с помощью обычного текстового редактора.

Установить и запустить

VuongSimulator подробно описан в моих сообщениях [1, 2] и wiki проекта tavuong / covid19-datakit, поэтому я бы Я хотел бы написать здесь краткую инсталляцию и быстрое начало демонстрации, как это сделал я, что могло бы послужить вам мотивацией.

$ github clone https://github.com/tavuong/covid19-datakit.git
$ pip install numpy
$ pip install Matplotlib
$ cd ~/covid19-datakit/
$ python ./covid19-VuongSimulator.py [by PC]
$ python3 ./covid19-VuongSimulator.py [by Raspberry PI]

Быстрый старт

Для быстрого запуска после установки вы можете использовать следующую команду. Будет показана витрина с нормализованными накопленными активными случаями из нескольких стран (рис. 4). Чтобы сделать другую демонстрацию, вы редактируете список стран и перезапускаете команду. CSV-файлы (. \ Data \ new_cases и. \ Data \ new_deaths.csv) находятся в папке . \ Data, скачанные из открытых источников (здесь).

VuongSimulator comand for Quick Start:
./data/vmodel_testlist.csv
World,Germany,France,Belgium,Sweden,United Kingdom,Russia,Brazil,United States
$ python ./covid19-VuongSimulator.py -c 'World' -o test.png -n ./data/new_cases.csv -d ./data/new_deaths.csv -g 0.98 -r 14 -t 7 -s 76

Резюме

В соответствии с разработкой алгоритма Vuong для анализа и оценки данных COVID-19, я написал свой программный пакет с функциями новостей для нескольких стран, тем самым способ нормализации данных о накопленных активных случаях заражения , можно было сравнивать данные из разных мест и оценивать географическое распространение вируса. Было бы здорово, если бы предложенный мной метод мог заинтересовать пользователей разных профессий или даже профессиональных организаций.

Не стесняйтесь обращаться ко мне, чтобы проконсультироваться о текущих разработках и, возможно, внести свои модули в мой проект с открытым исходным кодом и лицензированный MIT tavuong / covid19-datakit через Github.

Развлекайся!

Выражение признательности за обзор: проф. Д-р Кин Фам.

Благодарности за поддержку и мотивацию кофейного торта: моей жене Тхи Чунг Вуонг