Можем ли мы использовать данные для расширения оценки риска сердечных заболеваний и обучения людей с ограниченным доступом к медицинским ресурсам?

Отказ от ответственности: я пишу этот пост как проект для программы Data Scientist Nanodegree в Udacity. Ни один из моих выводов не следует рассматривать как медицинский совет, хотя я консультировался со своим братом в медицинской школе, это ни в коем случае не рецензируемая научная работа. Обязательно обращайтесь за профессиональной помощью по любым вопросам, касающимся вашего здоровья.

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

Хрустящий что?

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

Процесс состоит из следующих общих шагов:

1. Понимание бизнеса или сбор информации о предметной области, такой как технический жаргон, общие процессы или практики, цели и предыдущие исследования по теме.

2. Понимание данных, которое обычно требует знания об источниках данных, присущих предвзятостях, условиях или целях сбора данных и особенностях каждой переменной / функции в наборе данных.

3. Подготовка данных, или процесс работы с отсутствующими данными, переназначение переменных в соответствии с их типом и удаление зашумленных или ненадежных данных.

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

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

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

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

Эта статья сосредоточена на результатах моего анализа. Если вы хотите глубже погрузиться в код и применение метода CRISP-DM, перейдите по этой ссылке на мое репозиторий на Github.

Мы будем использовать Набор данных о сердечных заболеваниях из Репозитория машинного обучения UCI и попытаемся ответить на 3 вопроса, используя платформу CRISP-DM:

1. Каковы некоторые из ключевых показателей ишемической болезни сердца?

2. Являются ли генетические / внутренние факторы лучшими предикторами, чем средовые / поведенческие факторы?

3. Есть ли более простой или недорогой способ оценить собственный риск ишемической болезни сердца?

Набор данных состоит из 76 столбцов (или переменных), наблюдаемых в 920 строках (или пациентах) с 1981 по 1987 год в 5 партнерских кардиологических учреждениях по всей Европе и США. Данные были первоначально использованы в этой статье Детрано и др. и с тех пор использовался во многих других исследованиях в этой области.

Я нашел подмножество чистых .csv данных в Kaggle, содержащее только 14 переменных и 303 пациента из клиники Кливленда. Полный набор данных можно найти в Репозитории машинного обучения UCI. Хотя были проблемы с отсутствующими данными и поврежденными файлами, с помощью небольшого количества настраиваемого кода синтаксического анализа и очистки данных я смог консолидировать набор данных и привести его в довольно пригодное для использования состояние. Исходные файлы, код синтаксического анализа и полный обработанный набор данных доступны на странице проекта Github.

Вопрос 1: Каковы некоторые из основных показателей ишемической болезни сердца?

После очистки и заполнения данных корреляционный анализ показал следующие результаты.

# Feature #                  # Correlation to target #
cp_type_atypical_angina              -0.3965 
heart_rate_peak                      -0.3813 
sex_F                                -0.3218 
ex_duration                          -0.2834 thalium_stress_result_normal         -0.2774
chol                                  0.1154
age                                   0.2775 
cp_rest_relieve                       0.2881 
cp_exertion                           0.3200 
sex_M                                 0.3218 
st_dep                                0.3689 
ex_angina                             0.4328 
cp_type_no_pain                       0.5112
  • ex_angina, cp_exertion и cp_rest_relieve показали значения корреляции 0,43, 0,32 и 0,29 с целью соответственно. Это указывает на то, что наличие вызванной физической нагрузкой боли в груди, которая проходит во время отдыха, положительно коррелирует с ишемической болезнью сердца.
  • st_dep при 0,37 говорит нам, что существует прямая корреляция между депрессией сегмента ST, измеренной во время ЭКГ, и ишемической болезнью сердца.

  • И age, и sex_M положительно коррелируют с заболеванием коронарной артерии, что в значительной степени согласовано в литературе и подтверждено статистикой ВОЗ.

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

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

  • Самая высокая положительно коррелированная характеристика была cp_type_no_pain, что указывает на один из следующих выводов: 1) отсутствие боли в груди, о которой сообщает пациент, является сильным показателем сердечного заболевания или 2) наша выборка смещена в сторону лиц с коронарной болезнью сердца. заболевание артерий, при котором ранее не сообщалось о боли в груди. Предположение номер 1 кажется крайне маловероятным, что требует дальнейшего исследования для выявления таких перекосов в данных. Одна из возможных гипотез состоит в том, что мужчины менее склонны сообщать о боли в груди (или о любом другом симптоме в этом отношении) из-за здравого смысла хрупкости, особенно в 1980-х, будучи более восприимчивым к сердечным заболеваниям в целом. Это предположение подтверждается тем фактом, что 59% мужчин в наборе данных не сообщили о боли в груди, в отличие от только 35% женщин, в то время как 63% мужчин и 24% женщин страдают ИБС. Эта функция будет удалена на нашем последнем этапе моделирования.
  • chol показал значение 0,11, что противоречит распространенному мнению о том, что высокий уровень холестерина является сильным фактором риска сердечно-сосудистых заболеваний как таковой. Действительно, холестерин играет определенную роль в риске сердечных заболеваний, но существуют различные типы холестерина и жиров, которые необходимо соблюдать. Во время консультации с моим братом, который скоро станет врачом, завершающим свои исследования в медицинской школе, он сказал мне, что холестерин в сыворотке (который измеряется этой функцией) сам по себе не имеет большого значения для измерения риска. Мы должны проверить соотношения других, более конкретных показателей, таких как ЛПНП, ЛПВП и триглицериды. Еще одна недостающая информация в этом наборе данных - проходит ли пациент лечение препаратами, контролирующими холестерин, что, безусловно, может исказить эту функцию.

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

Вопрос 2. Являются ли генетические / внутренние факторы лучшими предикторами, чем средовые / поведенческие факторы?

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

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

                    linear  random_forest  gradient_boost 
f1_score         85.245902      86.557377       86.468647 accuracy_score   83.333333      84.814815       84.814815 precision_score  82.278481      83.544304       83.974359 recall_score     88.435374      89.795918       89.115646

Все три обученные модели хорошо работали с данными, набрав от 80% до 90% по каждому протестированному показателю. Модель Random Forests с небольшим отрывом показала лучший результат в F1 and Recall scores, тогда как модель Gradient Boosted получила более высокую точность. Воспроизводимость модели RF была выше, чем ее точность, что означает, что модель более чувствительна и выявляет больше случаев САПР, в то время как она может быть подвержена ложные срабатывания. В такой задаче оценки риска, как эта, это может быть предпочтительным поведением, если количество ложных срабатываний поддерживается в разумном соотношении.

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

Экологические / поведенческие особенности - это те, на которые могут влиять привычки, окружающая среда или лекарства:

                feature      feature_type
34                 chol            E 
35               smoker            E 
36  smoker_cigs_per_day            E 
37         smoker_years            E 
38  fasting_blood_sugar            E

Генетические / внутренние особенности - это показатели, которые пациент и медицинский персонал не могут контролировать:

                 feature      feature_type
0                  sex_F            G
1                  sex_M            G 
29                   age            G 
39  heart_disease_family            G

После обучения моделей только с подмножеством доступных функций были получены следующие баллы:

                   genetic  environmental 
f1_score         75.147929      73.354232 
accuracy_score   68.888889      68.518519 
precision_score  66.492147      68.023256 
recall_score     86.394558      79.591837

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

Вопрос 3: Есть ли более простой или недорогой способ оценить собственный риск ишемической болезни сердца?

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

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

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

Помимо категорий genetic и environmental, использованных в последнем вопросе, мы включим в этот тест еще два класса функций:

  • Исторические данные (H) относятся к истории болезни пациента, в частности, были ли у него какие-либо эпизоды боли в груди в прошлом.
  • Cheap Tests (CT) содержит только тесты, которые можно выполнить с минимальным оборудованием и медицинскими знаниями, например грубое измерение частоты сердечных сокращений и измерение артериального давления в состоянии покоя.
# Full list of features used by the low-cost model
                 feature      feature_type 
      blood_press_s_rest           CT 
         heart_rate_peak           CT 
         heart_rate_rest           CT 
               ex_angina           CT
 cp_type_atypical_angina            H 
         cp_type_no_pain            H 
     cp_type_non_anginal            H 
  cp_type_typical_angina            H
                    chol            E 
                  smoker            E 
     smoker_cigs_per_day            E 
            smoker_years            E 
     fasting_blood_sugar            E                   
                   sex_F            G 
                   sex_M            G 
                     age            G 
    heart_disease_family            G

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

                      full   low_cost 
f1_score         86.468647  84.177215
accuracy_score   84.814815  81.481481 
precision_score  83.974359  78.698225 
recall_score     89.115646  90.476190

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

Бонусный раунд! Оценка риска Фрамингема

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

Framingham Score - это неинвазивный метод, разработанный Framingham Heart Study, продолжающимся долгосрочным исследованием жителей Фрамингема, штат Массачусетс, которое началось в конце 1940-х годов и в настоящее время проходит уже третье поколение участников. Оценка рассчитывается на основе нескольких переменных и оценивает предполагаемый сердечно-сосудистый риск пациента в ближайшие 10 лет. Во время этого исследования я реализовал версию алгоритма, чтобы попытаться сравнить результаты моей модели с этим популярным инструментом.

Поскольку выходом модели Фрамингема является непрерывная вероятность (т. Е. Процентная вероятность сердечного приступа через 10 лет), мне пришлось определить порог для разделения прогнозов между здоровыми и больными пациентами (это называется дискретизацией, Кстати). Это было сделано путем итеративного разделения и оценки результатов, а также определения разделения для получения наилучшего возможного результата F1. Пороговое значение 8% для оценки риска Фрамингема было выбрано, чтобы определить, был ли пациент здоровым или больным.

                 framingham   low_cost 
f1_score          73.563218  84.177215 
accuracy_score    65.925926  81.481481 
precision_score   63.681592  78.698225 
recall_score      87.074830  90.476190

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

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

Благодарности

Благодаря Detrano M.D. et al. для тщательного хранения данных в то время, когда у нас не было Google-диска для быстрого хранения и обмена.

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

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

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