НАУКА О ДАННЫХ - 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 апреля,
- Дата вспышки заражения в стране - это дата и время, когда графики достигли максимального значения в 100% (см. Рис. 2).
- В последний раз вы могли прочитать процент инфицированных в настоящее время пациентов, которые все еще существуют в стране, 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) вы можете получить следующую информацию:
- Активные случаи из разных стран теперь нормализованы. Каждый график имеет одинаковый максимум при 100%.
- Процент активных дел в каждой стране не превышает 100%.
- Мы могли сравнивать в любой момент времени «статус» каждой страны по сравнению с другими, конечно, только в процентах.
- Мы могли бы изучить дату прорыва в каждой стране, где графики достигли максимума 100%.
- Мы могли обнаружить тенденцию к сокращению на 14% по Германии и 34% по Италии. Числа в процентах легче понять как абсолютные значения.
- Мы смогли обнаружить тенденцию ожидания, в состоянии плато, 74% по США.
- Мы смогли найти начало прорыва в Швеции, потому что графики достигли максимума в 100% в последний раз.
- Мы видим, что на мировом графике был локальный максимум в середине апреля, а график растет вверх и достиг 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.
Развлекайся!
Выражение признательности за обзор: проф. Д-р Кин Фам.
Благодарности за поддержку и мотивацию кофейного торта: моей жене Тхи Чунг Вуонг