
Описание
Сердечно-сосудистые заболевания остаются одной из самых распространённых причин смертности в современном мире. Высокий уровень стресса, малоподвижный образ жизни и несбалансированное питание лишь усугубляют ситуацию. Понимая актуальность этой проблемы, я решила провести небольшое исследование на основе медицинских данных.
В ходе проведения анализа данных использовались возможности ChatGPT для подробного объяснения работы с ключевой библиотекой Python для Анализа Данных — Pandas. ChatGPT был использован для поиска исследований, дабы правильно интепретировать полученные результаты и подтверждения их на научной основе. Еще был использован портал Kaggle.com для нахождения датасета.
Оформление
Цветовая палитра была выбрана с учетом ассоциаций, связанных с сердечно-сосудистой системой, акцентным цветом, конечно, является красный.

Название датасета: heart_disease.csv


Названия и обозначение переменных:
1. Age — возраст пациента. 2. Sex — пол пациента (обычно кодируется как 1 — мужчина, 0 — женщина). 3. Chest (Chest Pain Type, CP) — тип боли в груди: 1: Типичная стенокардия 2: Атипичная стенокардия 3: Боль не связана со стенокардией 4: Отсутствие боли в груди 4. Resting Blood Pressure (trestbps) — артериальное давление в состоянии покоя (мм рт. ст.). 5. Serum Cholesterol (chol) — уровень холестерина в сыворотке крови (мг/дл). 6. Fasting Blood Sugar (fbs) — уровень сахара в крови натощак (обычно 1, если >120 мг/дл, иначе 0). 7. Resting Electrocardiographic Results (restecg) — результаты электрокардиограммы в состоянии покоя: 0: Нормально 1: Имеются отклонения от нормы (например, признаки гипертрофии левого желудочка) 2: Вероятная или подтверждённая ишемия
8. Maximum Heart Rate Achieved (thalach) — максимальная достигнутая частота сердечных сокращений. 9. Exercise Induced Angina (exang) — индуцированная нагрузкой стенокардия (1 — да, 0 — нет). 10. Oldpeak — депрессия сегмента ST при нагрузке по сравнению с покоем (измеряется в мм, отражает наличие ишемии). 11. Slope (ST slope) — наклон сегмента ST во время пиковой нагрузки: 1: Восходящий 2: Горизонтальный 3: Нисходящий (наиболее серьёзный показатель) 12. Thal (Thalassemia test result) — результат теста на талассемию: 3: Нормальный 6: Фиксированный дефект 7: Обратимый дефект 13. number of major vessels — количество пораженных сердечных сосудров (3, 0, 1, 2) 14. Result (Target, Diagnosis of heart disease) — целевая переменная, указывающая наличие сердечного заболевания (0 — нет заболевания, 1 — есть заболевание).
Количество пропусков в датасете в каждой колонке
Обработка данных
Для удобства можем перекодировать столбик 'age' в 'Age Category'. Для этого проанализируем данный столбец.
Рекомендованные возрастные интервалы: Исходя из мин. = 29, макс. = 77, среднего = 54.4, можно выделить такие группы:
Молодые пациенты (29–40 лет): самые молодые участники, у которых риск сердечных заболеваний, как правило, ниже.
Средний возраст (41–50 лет): люди в этом возрасте начинают входить в зону повышенного риска, особенно если есть другие факторы.
Предпенсионный возраст (51–60 лет): здесь чаще всего проявляются сердечно-сосудистые заболевания.
Пожилые пациенты (61–70 лет): наибольший риск сердечных заболеваний, требуется более пристальное внимание к здоровью.
Старше 70 лет (71–77 лет): высокий возраст с максимальными рисками для сердечно-сосудистой системы.
Почему такие интервалы?
1. Они основаны на минимальном и максимальном значении. 2. Категории отражают физиологические изменения с возрастом, влияющие на сердечно-сосудистую систему. 3. Это позволяет анализировать заболеваемость в зависимости от возрастных групп.
Построение и визуализация графиков
График распределение возраста среди пациентов
Что можно сказать по графику?
1. Основная концентрация пациентов — в диапазоне 40-70 лет, с пиком около 55-60 лет. 2. Меньше всего пациентов младше 40 и старше 70 лет — что логично, поскольку сердечно-сосудистые заболевания чаще встречаются у людей среднего и пожилого возраста. 3, Пик около 55-60 лет подтверждает, что в этом возрасте риск сердечных заболеваний выше, что соответствует медицинской статистике.
График зависимости пола и болезни
График: Пол и наличие сердечно-сосудистого заболевания
На графике видно, что мужчины чаще страдают от сердечно-сосудистых заболеваний, чем женщины. Это может быть связано с более высоким уровнем стресса, вредными привычками (например, курением) и менее здоровым образом жизни у мужчин. Кроме того, женские гормоны (например, эстроген) до менопаузы оказывают защитное влияние на сердечно-сосудистую систему. Также мужчины реже обращаются за профилактической медицинской помощью, что снижает вероятность раннего выявления болезни.
Взаимосвязь артериального давления и возраста
График: Возраст и артериальное давление в покое с учётом наличия заболевания
Что можно сказать по графику?
Явной зависимости между возрастом и давлением нет. Давление разбросано по всем возрастным группам. Однако в среднем чем старше пациент, тем выше вероятность повышенного давления (но это не строгая зависимость). Пациенты с заболеванием (оранжевые точки) чаще имеют повышенное давление
Среди пациентов с давлением выше 140 мм рт. ст. (особенно ближе к 160–180) заметно больше оранжевых точек, что указывает на возможную связь между высоким давлением и болезнью. Однако есть и пациенты с нормальным давлением, у которых тоже есть болезнь. Высокое давление встречается в любом возрасте
Даже среди пациентов до 50 лет встречаются случаи высокого давления (160–200). Это говорит о том, что гипертония — не только возрастной фактор. Большинство пациентов имеют давление от 110 до 160 мм рт. ст. В основном точки сгруппированы в диапазоне 110–160 мм рт. ст., что соответствует среднему артериальному давлению у взрослых.
Взаимосвязь между максимальным пульзом и возрастном с учетом наличия заболеваний
График: Возраст и максимальный пульс при нагрузке с учётом наличия заболевания
Что можно заметить:
Общая тенденция: С возрастом максимальный пульс снижается. Это физиологическая норма: сердце становится менее способным к высоким нагрузкам с возрастом.
Распределение заболевших: Пациенты с сердечными заболеваниями чаще имеют низкий максимальный пульс, особенно начиная с 50 лет и старше.
У молодых пациентов (до 50 лет): Болезнь встречается реже, и даже если она есть, у многих сохраняется высокий пульс.
У пожилых (60+): Даже у здоровых пульс ниже, но у больных снижение пульса ещё более выражено.
Средний максимальный пульс и уровень холестерина по возрасту
График: Среднее артериальное давление и уровень холестерина по возрасту
Синяя линия с кругами — среднее артериальное давление в покое (resting_blood_pressure) по каждому возрасту. Оранжевая линия с квадратами — средний уровень холестерина (serum_cholestoral) по возрасту. Ось X — возраст пациентов. Ось Y — средние значения показателей.
Уровень холестерина стабильно растёт с возрастом, особенно после 40–50 лет. Давление также демонстрирует умеренный рост с возрастом, хотя и менее резко, чем холестерин. После 60 лет у некоторых возрастов можно заметить особенно высокие значения по обоим параметрам.
Взаимосвязь между количеством заболевших и здоровых по возрастным категориям
График: Количество заболевших и здоровых по возрастным группам
1. Пожилые пациенты (61–70) и старше 70 лет чаще страдают от сердечно-сосудистых заболеваний.
2. В группе предпенсионного возраста (51–60) число заболевших тоже высокое.
3. В группе молодых пациентов (29–40) болезнь встречается заметно реже.
4. Во всех возрастах болезнь может возникать, но с возрастом доля больных возрастает.
Матрица корреляции
Матрица корреляции
На основе таблицы корреляций, наиболее сильное влияние на наличие заболевания (result, где 1 — есть заболевание, 0 — нет) оказывают следующие переменные:
Вывод
В ходе анализа данных удалось выделить несколько ключевых факторов, которые статистически наиболее связаны с наличием сердечно-сосудистого заболевания. Среди них — изменения на ЭКГ, наличие стенокардии при физической нагрузке, количество поражённых сосудов, тип боли в груди, а также пол и возраст пациента.
Графики визуально подтвердили, что:
1. Мужчины чаще страдают от болезней сердца, чем женщины. 2. С возрастом риск увеличивается, но болезнь встречается и у молодых. 3. Повышенное артериальное давление и уровень холестерина чаще наблюдаются у больных. 4. Показатели, связанные с нагрузочными ЭКГ-тестами, оказываются особенно информативными.
Использованные графики и причины их выбора
1. Тепловая карта корреляций между признаками Метод: heatmap Тепловая карта позволяет наглядно увидеть, какие параметры связаны между собой и с целевой переменной result (наличие заболевания). Это важный этап в отборе признаков, особенно для статистического анализа и построения моделей.
2. Столбчатая диаграмма: Количество заболевших и здоровых по возрастным группам Метод: countplot Группировка по возрастным категориям помогает понять, в каких возрастах чаще диагностируются болезни.
3. Линейный график: Среднее давление и уровень холестерина по возрасту Метод: lineplot Такой график уместен для отображения динамики изменений показателей в зависимости от возраста.
4. Точечный график: Возраст и максимальный пульс, раскрашенный по заболеванию Метод: scatterplot с цветовой маркировкой по результату Идеален для отображения непрямых, размытых зависимостей. В данном случае — снижение пульса с возрастом и различие между здоровыми и больными.
5. Точечный график: Давление и возраст с цветовой кодировкой по заболеванию Метод: scatterplot Использован для анализа связи двух непрерывных переменных — возраста и давления.
6. Столбчатая диаграмма: Связь пола и заболеваемости Метод: barplot Этот тип графика отлично демонстрирует дискретные сравнения.
7. Гистограмма распределения возраста пациентов Метод: histplot + KDE Нужен для понимания структуры выборки — сколько людей в каждой возрастной группе.
Датасет и блокнот