Статья опубликована в рамках: Научного журнала «Студенческий» № 16(270)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6
ИССЛЕДОВАНИЕ МЕТОДОВ ГЕНЕРАЦИИ ДАТАСЕТОВ ДЛЯ АНАЛИЗА ЭКГ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ ИНФОРМАЦИОННОЙ ПОДДЕРЖКИ МЕДИЦИНСКОЙ СИСТЕМЫ С РАСПРЕДЕЛЕННЫМИ БАЗАМИ ДАННЫХ И ЗНАНИЙ
RESEARCH OF DATASET GENERATION METHODS FOR ECG ANALYSIS IN SOFTWARE FOR INFORMATION SUPPORT OF A MEDICAL SYSTEM WITH DISTRIBUTED DATA AND KNOWLEDGE BASES
Svyatoslav Smirnov
student, Department of Computational Mathematics and Cybernetics, Ufa University of Science and Technology,
Russia, Ufa
АННОТАЦИЯ
Данная статья представляет исследование методов генерации датасетов для анализа электрокардиограмм (ЭКГ) в контексте программного обеспечения информационной поддержки медицинской системы с распределенными базами данных и знаний. Предложены три различных подхода к созданию датасетов: на основе векторных кардиограмм, изображений ЭКГ и облаков точек векторной электрокардиограммы (ВЭКГ). Результаты исследования могут быть непосредственно использованы для разработки систем, которые помогают врачам принимать решения на основе данных в медицинской практике.
ABSTRACT
This article presents a study of methods for generating datasets for the analysis of electrocardiograms (ECG) in the context of information support software for a medical system with distributed databases and knowledge. Three different approaches to creating datasets are proposed: based on vector cardiograms, ECG images and vector electrocardiogram (VECG) point clouds. The results of the study can be directly used to develop systems that help doctors make data-driven decisions in medical practice.
Ключевые слова: электрокардиограмма (ЭКГ), машинное обучение, программное обеспечение, информационная поддержка, медицинская система, распределенные базы данных, знания, векторная ЭКГ (ВЭКГ), датасеты, анализ данных, обработка сигналов, обучающие данные, генерация данных, классификация, регрессия, аугментация данных, программирование, системы поддержки принятия решений.
Keywords: electrocardiogram (ECG), machine learning, software, information support, medical system, distributed databases, knowledge, vector ECG (VECG), datasets, data analysis, signal processing, training data, data generation, classification, regression, data augmentation, programming, decision support systems.
Введение. Современные медицинские информационные системы, основанные на распределенных базах данных и знаний, играют ключевую роль в обеспечении качественного медицинского ухода и принятии обоснованных врачебных решений. В этом контексте анализ электрокардиограмм (ЭКГ) становится все более важным инструментом для диагностики сердечно-сосудистых заболеваний.
Цель данного исследования заключается в разработке методов генерации датасетов для обучения моделей машинного обучения на основе данных ЭКГ, адаптированных к программному обеспечению информационной поддержки медицинской системы с распределенными базами данных и знаний. Исследование направлено на создание инструментов, которые могут эффективно интегрироваться в существующие медицинские информационные системы и помогать врачам принимать более точные и обоснованные решения на основе анализа ЭКГ.
Важность данного исследования заключается в том, что разработанные методы могут значительно повысить эффективность и точность анализа ЭКГ, что, в свою очередь, способствует более ранней диагностике и лечению сердечно-сосудистых заболеваний. Подход к созданию датасетов учитывает особенности работы с распределенными базами данных и знаний, что делает его более удобным и применимым в реальных медицинских условиях [1].
Таким образом, данное исследование имеет прямое практическое значение для медицинской практики и может способствовать улучшению качества медицинского ухода и сокращению риска развития сердечно-сосудистых заболеваний у пациентов.
Исходный датасет ЭКГ. Для проведения исследований в области машинного обучения на основе представления данных в виде векторной кардиограммы был предоставлен набор размеченных сигналов ЭКГ.
Был представлен датасет, содержащий 342 файла формата edf и для каждого файла информация о параметре EF - фракция выброса левого желудочка, определенная по данным высокоточного ультразвукового аппарата. Условно считалось, что значение, которое 50 и более - показатель нормы. Менее 50 - признак сердечной недостаточности.
В данных имелась информация о поле каждого пациента, а также о его возрасте. Эти признаки тоже будут участвовать в моделях при разработке системы поддержки принятия решений на основе методов классического машинного обучения. Эти признаки будут добавлены к выделенным из ВЭКГ информативным параметрам [3].
Генерация датасета информативных признаков ВЭКГ. Для создания обучающих данных для моделей машинного обучения на основе информативных признаков был написан скрипт, реализующий проход в цикле по всем имеющимся файлам и генерации 7 основных признаков на основе каждого пациента: площади петли QRS в трех основных проекциях, площади ST-T петли в трех основных проекциях и значение пространственного угла QRS и проекции этого угла на фронтальную плоскость.
Так же для каждого пациента в список признаков добавляется значение пола и значение возраста. Так как признак пол является категориальным, по этой причине его представление переводится в one-hot представление [2].
Таким образом, для каждого пациента имеется 7 признаков от ВЭКГ и еще 3 отельных признака: 2 численных признака на пол и 1 на возраст. Каждому пациенту соответствует численное значение фракция выброса левого желудочка и бинарный признак здоров (0) или болен (1).
Таким образом, по данной сформированной таблице будет проведено исследование классическими интерпретируемыми методами машинного обучения. Будет исследована задача бинарной классификации и регрессии на параметр EF.
Генерация датасета изображений на основе ВЭКГ. Для создания обучающих данных для моделей машинного обучения на основе изображений с трех основных отведений был написан скрипт, реализующий проход в цикле по всем имеющимся файлам и генерации для каждого пациента семи итоговых ВЭКГ. Функция при каждом проходе пациента запрашивала периоды с 3 по 9 включительно. Тем самым получалось порядка 21 итоговых изображений, так как по 3 изображения черно-белых создается для одного кардиоцикла (проекции на три главные плоскости).
Причина считывания, начинающегося лишь с 3 периода, связана с тем, что на более ранних периодах возможны искажения сигнала, связанные с фильтрацией ЭКГ перед генерацией результирующих векторных представлений. Такие искажения могут быть существенны для обучения моделей.
Далее был написан код по комбинированию этих трех одноканальных grayscale изображений в одно RGB изображение с помощью конкатенации каналов. В итоге получалось, что итоговое изображение в R канале хранит проекцию на сагиттальную плоскость, в G на аксиальную плоскость и B на фронтальную плоскость. Пример такой комбинации представлен на рисунке 1 [4].
Таким образом, были получены для каждого пациента примерно по 7 изображений. Число изображений с одного пациента не равно строго семи так как у некоторых пациентов из-за низкой частоты сердцебиения физически отсутствовали некоторые номера запрашиваемых периодов и код пропускал такую обработку переходя к новому пациенту. Благодаря тому, что для каждого пациента генерировалось сразу много ВЭКГ, получилось значительно нарастить датасет более чем в 5 раз используя естественную аугментацию данных.
Рисунок 1. Комбинирование одноканальных изображений проекций в одно трехканальное изображение
Из-за того, что повороты и масштабы значимы при анализе изображений проекций ВЭКГ, поэтому на тренировочном цикле не будут применяться никакие виды аугментаций помимо вышеописанных естественных для избегания сильного различия от исходных преставлений.
Далее стояла задача по разделению данных на тренировочную и валидационную выборки. При этом важным аспектом являлось разделение таким образом, чтобы в разные классы не могли попасть изображения с одного и того же пациента. Был написан скрипт, комбинирующий все изображения с одного пациента вместе и определяющий случайным образом к какому классу стоит отнести все собранные фотографии при этом с учетом пропорции 75% на обучение и 25% на тестирование [5].
Результатом работы этой функции являлся готовый датасет, в котором имелось 2 папки: train и val. Внутри этих папок расположены изображения, отнесенные случайным образом благодаря функции. Так же в каждой из этих папок имелся csv файл, в котором находилась информация о значении фракции левого желудочка (EF) согласно исходной excel таблице с разметкой для каждой имеющейся фотографии в ней.
В итоговом получившемся датасете на трейне имелось 1711 и на валидации 558 изображений.
Генерация датасета облаков точек ВЭКГ. Для создания обучающих данных для моделей машинного обучения на основе данных в виде облаков точек был написан скрипт, реализующий проход в цикле по всем имеющимся файлам и генерации для каждого пациента семи итоговых ВЭКГ. Функция при каждом проходе пациента запрашивала периоды с 3 по 9 включительно. Тем самым получалось порядка 5 итоговых scv файлов с данными о координатах точек векторных петель.
По той же самой причине, что и со случаем по генерации датасета изображений, стартовый период был выбран равен 3. Остальные периоды до 9 включительно набиралась для естественной аугментации по мере их наличия в исходных сигналах ЭКГ. Удалось произвести увеличение размера датасета более чем в 5 раз благодаря такому подходу.
При генерации облаков точек было выбрано фиксированное значение частоты дискретизации сигналов пациентов, равное 700 Гц. Так как у каждого человека значение периода кардиоцикла уникально, поэтому число точек в облаках не совпадает. Распределение числа точек близко к нормальному со средним значением 560 (рисунок 2).
Рисунок 2. Гистограмма распределения числа точек в облаках сформированного датасета
Далее стояла задача по разделению данных на тренировочную и валидационную выборки. При этом важным аспектом являлось разделение таким образом, чтобы в разные классы не могли попасть облака точек с одного и того же пациента. Был написан скрипт, комбинирующий все csv файлы с одного пациента вместе и определяющий случайным образом к какому классу стоит отнести все собранные файлы пациента с учетом пропорции 75% на обучение и 25% на тестирование.
Результатом работы этой функции являлся готовый датасет, в котором имелось 2 папки: train и val. Внутри этих папок расположены csv файлы с координатами облаков точек, отнесенные случайным образом благодаря функции. Так же в каждой из этих папок имелся ground_truth.csv файл, в котором находилась информация о значении фракции левого желудочка (EF) согласно исходной excel таблице с разметкой для каждого облака в ней [6].
В итоговом получившемся датасете на трейне имелось 1757 и на валидации 578 облаков.
Заключение. В результате исследования предложены эффективные методы генерации датасетов для анализа ЭКГ, которые могут быть непосредственно применены в программном обеспечении информационной поддержки медицинской системы. Эти методы позволяют увеличить размер датасета с сохранением качественной информации, что способствует более точному обучению моделей машинного обучения и, следовательно, улучшению качества принимаемых врачебных решений. Дальнейшие исследования в этой области могут включать интеграцию разработанных методов в реальные медицинские информационные системы и оценку их эффективности в клинической практике.
Список литературы:
- Елизарова Н. Ю., Зайнуллин М. И. Сердечно-сосудистые заболевания и высокие технологии //ИННОВАЦИОННОЕ РАЗВИТИЕ НАУКИ И ТЕХНИКИ. – 2020. – С. 15-29.
- Seger C. An investigation of categorical variable encoding techniques in machine learning: binary versus one-hot and feature hashing. – 2018.
- Sidey-Gibbons J. A. M., Sidey-Gibbons C. J. Machine learning in medicine: a practical introduction //BMC medical research methodology. – 2019. – Т. 19. – С. 1-18.
- Schmidt-Redemann B, Beckmann R, Schaupeter W, Schmidt-Redemann W, Vogt J. [Cardiomyopathy in Duchenne muscular dystrophy. Part 2: serum enzymes, vector-cardiography, and echo-cardiography in 143 patients (author's transl)] Medizinische Klinik. 1978 Nov;73(46):1621-1626.
- Mincholé A. et al. Machine learning in the electrocardiogram //Journal of electrocardiology. – 2019. – Т. 57. – С. S61-S64.
- Deo R. C. Machine learning in medicine //Circulation. – 2015. – Т. 132. – №. 20. – С. 1920-1930.
Оставить комментарий