Ключевые слова: COVID-19, Лондон, город, наука о данных, панды, геопанды, scikit-learn, геопространственные, карты, гонка, matplotlib, моделирование, районы, numpy, селен, питон, машинное обучение, визуализация данных

С конца 2019 года пандемия SARS-CoV-2 наводнила наши новостные ленты и заголовки огромным количеством цифр; мы измеряем местный рост с помощью числа R, сравниваем эффективность мер изоляции в разных странах, используя количество случаев на численность населения, и мы видим количество смертей, которые не попадают в официальные данные о смертельных случаях COVID, из-за избыточных смертей. Еще одним показателем серьезности заболевания, который может выявить, где не оказывается адекватная медицинская помощь, является соотношение смертей от COVID и случаев, диагностированных в данном районе. Это количество, которое я буду исследовать в этом проекте.

Мы знаем, что на уровень смертности от COVID-19 влияет множество факторов здоровья, включая вес, возраст, курение и такие сопутствующие заболевания, как диабет и астма. Однако одна из наиболее шокирующих статистических данных - это сильная положительная корреляция между распространенностью COVID и небелыми людьми. Анализ CDC, опубликованный в августе, показал, что, по сравнению с белыми людьми, у латиноамериканцев или латиноамериканцев вероятность заразиться вирусом в 2,8 раза выше, у коренных жителей Америки или Аляски вероятность госпитализации в 5,3 раза выше, а у чернокожих или Летальность афроамериканцев в 2,1 раза выше. Эти статистические данные являются явным индикатором того, что, несмотря на то, что говорится в недавней рекламе, для многих людей мы определенно не участвуем в этом вместе.

Чтобы изучить это несоответствие в распространенности COVID-19 в разных группах и попытаться в некоторой степени визуализировать его, я решил взглянуть на случаи и смерти от этого заболевания в районах Лондона. Я знал, что Управление национальной статистики (УНС) будет иметь более подробные версии информации, которую я искал для исследования тенденций, и, как большой международный город с множеством разных групп в нем, Лондон предоставит мне ряд данных Я искал, чтобы понять, что влияет на шансы человека выжить после заражения коронавирусом.

Данные

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

Чтобы визуализировать районы Лондона, я использовал файл GeoJSON с веб-сайта Стюарта Грейнджа, постдокторского исследователя из Empa, Швейцария. Этот файл можно найти здесь.

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

Демографические данные Лондона имеют свою собственную страницу в Википедии, и именно на ней я смог соскрести расовый состав каждого района (первоначально по переписи населения Великобритании 2011 года).

В то время как переписи в Великобритании проводятся каждые 10 лет, УНС продолжает оценивать изменения численности населения в каждой из своих административных областей между ними. Это включает возраст, пол, плотность населения и иммиграцию.

Очистка данных

Во-первых, я импортировал файл GeoJSON, и простое построение фрейма данных показывает географические данные.

Данные geoJSON, похоже, соответствуют нашим ожиданиям, поэтому мы продолжим импортировать данные о смертях от COVID для каждого района.

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

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

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

Данные о гонке теперь можно извлечь со страницы Википедии. Это было сделано с использованием библиотек selenium и BeautifulSoup.

Таблица демографических данных рас содержится в таблице класса «wikitable sortable». В этой таблице значения хранятся в тегах ‹td›, а заголовки гонок и районы - в тегах ‹th›. Были определены функции для извлечения значений и районов из каждого из этих тегов. Они были сохранены в массивы с использованием списков, данные были преобразованы, а затем сформированы в фрейм данных.

Извлеченный нами фрейм данных соответствует тому, что мы ожидали.

Все эти источники данных легко объединяются с помощью функции pandas concat, при этом имя района устанавливается в качестве индекса. Отношение смертей к числу случаев можно легко добавить в фрейм данных с помощью панд. Если взглянуть на это в Лондоне, можно увидеть значительный разброс.

Средний возраст для каждого района извлекается из оценок населения, сделанных УНС. Используя площади, указанные в файле geoJSON, можно определить плотность населения для каждого района.

Измерение трендов с помощью линейной регрессии

Для моделирования данных использовалась модель регрессии гребня scikit-learn, чтобы уменьшить вероятность переобучения, что кажется вероятным, учитывая коллинеарность некоторых из выбранных мной переменных. Была использована функция для построения модели и построения графика по известным данным.

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

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

Features : ['White', 'Black', 'Asian', 'Other', 'Median Age', 'Population Density']
Coefficients: [[-0.00021014  0.00180947  0.00084168  0.00486416  0.00339385 -0.00033938]]
RMSE: 0.024022110590386066
Coefficient of determination (r^2): 0.4202066115941455

На основе этих результатов мы можем быстро сделать некоторые выводы. С точки зрения соответствия модели значение R ^ 2 = 0,42 показывает, что, хотя модель далека от идеального соответствия, она, по крайней мере, работает значительно лучше, чем чисто случайная модель, и есть некоторая корреляция между функцией и целью. разновидности. Коэффициенты однозначно интересные. Хотя существует отрицательная корреляция между соотношением смертей от COVID: число случаев заболевания и долей белых людей в районе, модель предполагает, что ожидаемая летальность от вируса увеличивается с долей всех остальных рас в этом районе.

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

Выводы и движение вперед

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

Ряд смертельных случаев, связанных с COVID, по всему Лондону показывает, что доступная помощь распределяется неравномерно и справедливо. Связь расы с COVID-летальностью может быть обусловлена ​​биологическими причинами или, как это было замечено на примере предыдущих стихийных бедствий и кризисов в области здравоохранения, ее взаимосвязью с более низким экономическим статусом, более тесными домохозяйствами и ограниченным доступом к объектам. В Исследовании факторов, связанных со смертью, связанной с COVID-19, был сделан вывод о том, что люди из Южной Азии и чернокожие имели значительно более высокий риск смерти, связанной с COVID-19, чем белые люди, и это лишь частично объяснялось сопутствующими заболеваниями, депривацией или другие факторы , что явно указывает на то, что социально-экономические факторы играют значительную роль.

Очевидно, что этот проект призван стать далеко не завершающим этапом изучения факторов, влияющих на смертность от COVID-19 в Лондоне, и есть несколько заметных ограничений. Во-первых, хорошо задокументировано, что в первой половине 2020 года испытательные центры Великобритании были полностью перегружены, поэтому мы знаем, что количество задокументированных случаев было очень далеко от истинного значения. Кроме того, расовая демография была взята из переписи 2011 года и, возможно, изменилась за последние несколько лет. Простой выбор среднего возраста населения может не дать точного представления о возрасте населения; дом престарелых в относительно молодом районе не будет представлен этой статистикой.

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

Это конец моего проекта. Я надеюсь, вы видите, как небольшой объем веб-скрейпинга, обработки данных и машинного обучения может дать нам некоторое представление о силах, которые меняют наш современный мир. Спасибо за ваше время, мы будем благодарны за любые отзывы!

Не стесняйтесь связаться со мной в LinkedIn, и код, используемый в этом проекте, можно найти по адресу https://github.com/conorhamill36/London_COVID.

Этот проект был написан на ноутбуке jupyter, размещенном на экземпляре AWS EC2. Это можно настроить, следуя инструкциям в этом руководстве Криса Албона. Использование данных geoJSON с GeoPandas было вдохновлено этой статьей от Graciela Carrillo, моделирующей цены Airbnb в Эдинбурге.