"Углубленный анализ"

Прогнозирование смертности от болезней сердца

В качестве основной причины смерти в США мы используем машинное обучение для выявления состояний высокого риска.

Национальный центр статистики здравоохранения (NCHS) Центра по контролю за заболеваниями (CDC) ведет базу данных с поправками на возрастные коэффициенты смертности и ведет подсчет 10 основных причин смерти в Соединенных Штатах. Сгруппированные по причине, состоянию и году, данные доступны за 1999–2016 годы, при этом 10 основных причин смерти перечислены следующим образом:

  • Болезнь Альцгеймера
  • Рак
  • Хроническая болезнь нижних дыхательных путей (ХБЗД)
  • Сахарный диабет
  • Болезнь сердца
  • Грипп и пневмония
  • Болезнь почек
  • Гладить
  • Самоубийство
  • Непреднамеренные травмы

Доступ к полному набору данных был осуществлен с помощью HTTP-запроса GET с веб-сайта CDC.

Чтобы демографические и демографические данные могли быть правильно учтены, вместо скорректированного по возрасту показателя будет использоваться подсчет смертей. Чтобы рассчитать количество смертей на душу населения, были включены данные из Инструмента отчетности о населении мостовых рас (WONDER) CDC, который группирует подсчеты населения по годам, штатам, возрастным группам и полу. Объединив эти данные с данными о количестве смертей, можно рассчитать количество смертей на душу населения для каждого штата на годовой основе, и мы можем начать задавать некоторые вопросы.

Цель

В конечном итоге цель состоит в том, чтобы определить ведущую причину смерти в Соединенных Штатах с 1999 года, а затем определить штаты, которые следует рассматривать как страны с высоким риском в 2019 году. Чтобы направить анализ, необходимо ответить на четыре конкретных вопроса:

  1. Какая основная причина смерти в Соединенных Штатах?
  2. Какова текущая тенденция в отношении основной причины смерти?
  3. Какие факторы больше всего влияют на эти ставки?
  4. Какие штаты сегодня следует рассматривать как высокорисковые?

Давайте начнем!

Какая основная причина смерти в Соединенных Штатах?

Как можно увидеть ниже, основной причиной смерти в США по данным 1999–2016 гг. Являются болезни сердца, на долю которых приходится 34% всех смертей среди основных причин. За ним следует рак, который составляет еще 30%.

Однако в голову пришел один вопрос: является ли разница между сердечным заболеванием и раком статистически значимой. Скажем по-другому: насколько вероятно, что обычная разница в годовых ставках будет объяснять несоответствие? Для ответа на этот вопрос был проведен двусторонний t-критерий Стьюдента, и результирующее значение p, равное 0,00008, указывает на то, что вероятность получить такой результат случайно составляет менее 1 из 10 000. Имея это в виду, можно безопасно перейти к анализу болезней сердца.

Какова текущая тенденция в отношении основной причины смерти?

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

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

Для этого важно изучить факторы, которые больше всего влияют на сердечные заболевания.

Какие факторы больше всего влияют на эти ставки?

После проведения общего исследования по этой теме было решено сосредоточиться на трех общих областях:

  1. Демографические данные населения (в частности, возраст и пол)
  2. Потребление алкоголя
  3. Курение

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

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

Данные о курении доступны в United Health Foundation, а годовые данные сохраняются в отдельных файлах CSV. Сама скорость курения определяется следующим образом:

Процент взрослых, которые курят (сообщили, что выкурили не менее 100 сигарет за свою жизнь и в настоящее время курят один или несколько дней)

Быстрый просмотр соответствующих лет с помощью API сайта упрощает доступ к этим данным. Остается только сохранить каждый файл локально, объединить данные в единый фрейм данных и выполнить некоторую базовую очистку (удалить агрегированные по стране строки, проверить типы данных и выбрать соответствующие столбцы).

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

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

Потребление этанола на душу населения в Штатах. [Галлонов этанола, для населения в возрасте 14 лет и старше.]

Кроме того, потребление этанола разбито по типу напитка (пиво, вино и крепкие спиртные напитки). Данные распределены по 16-страничной таблице на веб-сайте организации, поэтому потребовалось выполнить парсинг с помощью Beautiful Soup. Ссылка выше указывает на первую страницу данных, чтобы дать представление о структуре, но снимок экрана и образец html также должны помочь.

В верхней строке используется тег strong для определения названия штата, за которым следуют строки с годами с соответствующими данными, идентифицированными с помощью datagray и data классы. Эта конкретная строка будет повторяться 40 раз в течение каждого года, а затем отобразит следующее состояние. Однако вся таблица также обернута и помечена тегом strong, что означает, что для каждой новой страницы также будет имя таблицы вместо имени состояния. Следующий блок кода использовался для анализа всего HTML и сохранения результатов во фрейм данных.

Теперь, когда сложная часть окончена, данные можно объединить с существующими данными о курении, демографическими данными и данными CDC, чтобы начать анализ. На данный момент существует 20 переменных-предикторов: по одной для каждой возрастной группы, пола, уровня курения и уровня потребления алкоголя. Два других предиктора также были включены в качестве любопытства: количество смертей от диабета на душу населения и плотность населения. Значимость этих переменных оказалась минимальной, хотя последние действительно дали по крайней мере одно важное понимание, о котором мы поговорим позже.

Все данные были масштабированы и преобразованы в журнал, что позволило выразить результаты в сбалансированном процентном выражении. Полученные распределения можно найти ниже:

Хотя некоторые параметры действительно демонстрируют некоторую асимметрию, в целом они довольно хорошо сбалансированы и не обнаруживают явных причин для беспокойства при последующей передаче данных в прогнозные модели. Итак, теперь, наконец, появилась возможность ввести данные в регрессионную модель и определить факторы, которые имеют наибольшее влияние на уровень смертности. Все возможные комбинации 4 предикторов использовались в полилинейной регрессии в поисках наивысшего скорректированного значения r-квадрата. В итоге было обнаружено, что 83,4% дисперсии показателей смертности от сердечных заболеваний объясняются четырьмя переменными: уровень курения, возрастная группа 75–79 лет, потребление вина и пол. По крайней мере, один из результатов здесь может вас удивить.

Внизу находятся наименее удивительные моменты: чем больше процент населения достигает возрастной группы 75–79 лет, тем больше вероятность смерти от сердечных заболеваний. С точки зрения поведения курение демонстрирует тот же тип отношений.

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

Несмотря на рост осведомленности за последние десятилетия, только около половины (56%) женщин признают, что болезни сердца - их убийца номер 1.

Итак, считайте это объявлением общественной службы для тех из вас, кто не знал.

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

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

Какие штаты сегодня следует рассматривать как высокорисковые?

Мы почти готовы строить некоторые модели и делать прогнозы, но есть две проблемы, которые необходимо решить. Во-первых, как определяется высокий риск? Для целей этого анализа состояния высокого риска будут определены как состояния, в которых число смертей на душу населения находится в верхних 33% всех показателей по всему диапазону данных. И наоборот, состояния с низким уровнем риска - это те, где ставки находятся в нижних 33%. Для настройки целевой переменной в соответствии с отраслевыми стандартами потребуется дополнительный опыт в предметной области, хотя это не должно отрицательно сказаться на достоверности самих моделей, если они дадут многообещающие результаты.

Вторая проблема, однако, немного сложнее: цель состоит в том, чтобы сделать прогнозы на 2019 год, но данные доступны только до 2016 года. Было бы непрактично пытаться делать прогнозы на основе информации, полученной за тот же год. Хотя может быть полезно оглянуться назад, чтобы понять, но бесполезно смотреть вперед. Итак, какое решение? Время отстает!

С практической точки зрения предполагается, что данные за 2016 год появятся примерно в середине 2017 года, но можно легко внести корректировки, чтобы учесть расхождения в этом отношении. Если модель может делать надежные прогнозы на основе этой информации, у организаций будет полтора года на планирование ожидаемых изменений. Кроме того, при прогнозировании модель не должна просто игнорировать данные за 2015 и 2014 годы. Итак, что необходимо сделать, так это использовать временные лагы данных от 3 до 5 лет и использовать их в качестве предикторов для показателей смертности в текущем году. Результатом будет в 3 раза больше переменных-предикторов, от 22 до 66. Чтобы получить представление о масштабе, приведенная ниже тепловая карта корреляции подчеркивает характер взаимосвязи между каждой переменной. На этом этапе опасения, связанные с мультиколлинеарностью, будут отброшены, и это связано с тем, что следует ожидать значительного количества автокорреляции. Однако следует также фиксировать последовательные изменения в течение трехлетнего окна, и именно эти изменения имеют первостепенное значение для прогнозов модели.

Теперь попытка построить модель с таким количеством переменных-предикторов будет невероятно неэффективной, особенно на ноутбуке с 13 числами. Поэтому был проведен анализ первичных компонентов (PCA), чтобы определить наименьшую группу признаков, которые объясняют 99% дисперсии данных. В результате 66 измерений данных удалось сократить до 19. Осталось только построить модели и делать прогнозы на основе наилучшей из них.

Были построены, обучены и протестированы шесть различных типов моделей, при этом 20% данных не использовались для целей тестирования:

  • Классификация дерева решений
  • Логистическая регрессия
  • Машина опорных векторов
  • Классификация случайных лесов
  • Adaboost
  • XGBoost

Остальные 80% были обучены с использованием 5-кратной перекрестной проверки. Кроме того, для каждой модели был реализован поиск по сетке, чтобы найти наиболее эффективную модель, в результате чего было получено 1413 различных вариантов модели.

За исключением значительного дисбаланса в показателях отзыва класса или точности, F1-Score был выбран в качестве основного показателя точности / результативности. В итоге одна модель явно превзошла остальные по всем параметрам: машина опорных векторов. Как можно увидеть ниже, он обеспечил точность 90% для всех сечений данных испытаний. Однако при прогнозировании на основе тестовых данных, которых никогда раньше не было, модель оказалась еще более эффективной, достигнув уровня точности почти 92%.

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

Сделав все это, теперь можно использовать данные за 2014–2016 годы, чтобы делать прогнозы на 2019 год и иметь чувство надежности этих прогнозов. На карте ниже красный, желтый и зеленый цвета представляют фактические уровни риска в 2016 году на основе фактических показателей смертности. Красный цвет означает высокий риск, а зеленый - низкий риск. Промежуток времени фокусируется на штатах, которые, как ожидается, изменят уровни риска, и покажут ожидаемые результаты в 2019 году.

Результаты здесь немного неоднозначны: четыре состояния перемещаются от крайних точек к центру, а два состояния перемещаются от центра к крайностям. Массачусетс и Мэриленд переходят от низкого к среднему уровню риска, а Мичиган и Пенсильвания переходят от высокого к среднему уровню риска. Иллинойс и Теннесси достигают крайностей в противоположных направлениях, переходя от уровней среднего риска к уровням низкого и высокого риска соответственно. Но один штат особенно выделяется среди остальных: Оклахома.

В 2016 году Оклахома была штатом с высоким уровнем риска, поэтому было довольно неожиданно, что так быстро было предсказано, что это низкий уровень риска. При более внимательном рассмотрении стало очевидно, что причина этого изменения в том, что уровень курения упал с 25,5% в 2010 году до рекордно низкого уровня примерно в 19% в 2015 году.

Не совсем понятно, как были достигнуты эти результаты, хотя государственный секретарь Министерства здравоохранения и социальных служб Терри Клайн указал, что это можно, по крайней мере, частично отнести к запретам на курение на государственной собственности, а также на коммерческой собственности тех организаций, которые решили присоединиться к программе Certified Healthy Oklahoma. Определенно стоило бы более внимательно взглянуть на то, что они делают, чтобы увидеть, можно ли воспроизвести эти результаты в другом месте.

При уменьшении масштаба можно увидеть карту прогнозов на 2019 год для всей страны.

Что наиболее поразительно, так это региональное несоответствие прогнозируемых уровней риска. Из этих 9 штатов 8 уже относились к категории высокого риска в 2016 году, а в этом году к этому списку был добавлен Теннесси. Итак, что могут сделать эти государства, чтобы снизить уровень риска в своих сообществах?

Рекомендации

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

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

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

Последние мысли

Болезнь сердца - это болезнь, которая затрагивала почти всех в тот или иной момент своей жизни. Может быть, вы были огорчены. Может быть, друг или член семьи выжил, все еще борется или скончался. Для меня это был дядя, который всего два месяца назад скончался от сердечного приступа, а ему еще не исполнилось 60. Согласно CDC":

  • В опросе 2005 года большинство респондентов - 92% - признали боль в груди симптомом сердечного приступа. Только 27% знали обо всех основных симптомах и знали, что нужно звонить 9–1–1, когда у кого-то случился сердечный приступ.
  • Около 47% внезапных сердечных смертей происходят вне больниц. Это говорит о том, что многие люди с сердечными заболеваниями не реагируют на ранние предупреждающие сигналы.

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

использованная литература

Блокнот Jupyter и все ресурсы, используемые для этого проекта, можно найти на Github.