Магистерская диссертация
Ансамбль алгоритмов для определения ишемической болезни сердца по кардиограмме
В.Н. Гурьянова
Научный руководитель: профессор, д.ф.-м.н. А.Г. Дьяконов
Московский государственный университет имени М.В. Ломоносова, Факультет Вычислительной Математики и Кибернетики
Магистерская программа "Логические методы анализа данных"


Аннотация

Ишемическая болезнь сердца является ведущей причиной смерти в мире. Данная болезнь может протекать долгое время бессимптомно и с течением времени прогрессировать и закончится смертью. В современных условиях с помощью специального оборудования стало возможно снять кардиограмму в домашних условиях. В данной работе ставилась задача определения ишемической болезни по электрокардиограммам, полученных с помощью данного оборудования. Проводилось исследование различных подходов для классификации электрокардиограмм. Были предложены новые подходы и модификации существующих. Кроме того были предложены способы ансамблирования реализованных алгоритмов. Наилучшее качество показал ансамбль, реализованный с помощью EM-алгоритма.

1 Введение
Ишемическая болезнь сердца (ИБС) - это такое состояние, при котором нарушается кровообращение мышцы сердца, когда к некоторым его участкам переодически и при определенных обстоятельствах поступает недостаточное количество крови. Проявлени-ями ИБС могут быть стенокардия, острая коронарная недостаточность со смертельным исходом, инфаркт миокарда и нарушение сердечного ритма. [1] По данным Всемирной организации здравоохранения [2] ишемическая болезнь сердца является ведущей причиной смертей в мире.
На начальных стадиях заболевания у большинства людей не проявляется никаких симптомов данного заболевания. Однако со временем болезнь чаще всего прогрессирует и может закончится смертью [1]. Очень важно своевременно выявить заболевание, чтобы замедлить ход развития болезни и не допустить смерти.
Традиционно ишемическая болезнь сердца определяется при помощи специалистов и ряда исследований. Исследования включают в себя стресс-тесты (если больной не в состоянии выполнить стресс-тест, то применяется ввод лекарственных препаратов, которые увеличивают нагрузку на сердце), анализы крови, мониторинг артериального давления, электрокардиограмму, эхокардиограмму и прочее [1]. Следует отметить, что эти исследования занимают существенное время пациента, а также требуют высокой квалификации специалиста, который будет их проводить. Так как специалистов крайне мало, а число потенциальных больных растет с каждым годом, то задача автоматическо-го определения ишемической болезни сердца является крайне актуальной в настоящее время. На сегодняшний день крайне актуальной является задача создания устройства, которое поможет определять заболевание или его вероятность в домашних условиях. Такие устройства позволят направить человека к врачу, в случае высокой вероятности наличия у него ИБС.
Электрокардиограмма (ЭКГ) - это сигнал, отображающий электрическую активность сердца. Он может быть измерен при помощи электродов, прикрепленных к конечностям или грудной клетке [3]. ЭКГ является одним из наиболее доступных средств диагностики сердечных заболеваний в настоящее время из-за ее неинвазивности и низкой стоимости. В настоящее время существует множество различных исследований, которые показывают, что ЭКГ может быть использована для определения ишемической болезни сердца [4] [5]. Компания CardioQvark создала устройство, которое представляет собой насадку на смартфон, позволяющую делать замеры ЭКГ в бытовых условиях. Замеры отправляются в облако и анализируются там, а затем результаты отправляются пациенту и лечащему врачу.
В данной работе исследовались различные методы, которые позволяют выявлять болезни сердца на основе ЭКГ, и их применимость для определения ишемической бо-лезни сердца по ЭКГ, полученном от устройства созданным компанией CardioQvark. Были предложены модификации этих методов, которые позволяют улучшить качество классификации для данной задачи. Также было проведено исследование применимости нового метода для автоматического определения ишемической болезни сердца. С целью улучшить качество классификации был построен ансамбль из реализованных алгоритмов.
Данная работа состоит из следующих разделов: постановка задачи и описание данных, предобработка данных, описание алгоритмов, входящих в состав ансамбля, описа-ние методов построения ансамблей алгоритмов, описание метрик качества, по которым сравниваются алгоритмы, результаты экспериментальных исследований и заключение.

2 Постановка задачи и описание данных
Целью данной работы является построение алгоритма, который показывает наилучшее качество при определении ишемической болезни сердца по электрокардиограмме, полученной с помощью устройства от компании CardioQvark.
При решении данной задачи использовались две выборки. Выборка, по которой проводилась кросс-валидация и обучение алгоритма и выборка, которая использовалась для тестирования.
Выборка, которая использовалась для обучения алгоритмов состоит из 1798 кардиограмм. При этом она содержит 1055 кардиограмм здоровых пациентов и 743 кардиограммы больных пациента. Частота дискретизации 1000 Гц.
Выборка, которая использовалась для тестирования алгоритмов состоит из 1567 кардиограмм. При этом она содержит 973 кардиограммы здоровых пациентов и 594 кардиограммы больных пациентов. Частота дискретизации 1000 Гц.

3 Предобработка данных
Данные, полученные от электрокардиографа, часто подвержены шуму, поэтому необходима предобработка данных. Для избавления данных от шума используются различные фильтры. Фильтр -это обрабатывающая система, алгоритм или метод, реализованный программно или аппаратно, который используется, чтобы изменить заданный сигнал специальным образом [3].
Фильтр нижних (верхних) частот -это фильтр, который используется, чтобы удалить высокочастотный (низкочастотный) шум с минимальными потерями компонент сигнала в указанной полосе пропускания [3].
Каждый фильтр характеризуется величиной, которая называется амплитудно-частотная характеристика. Амплитудно-частотная характеристика показывает зависимость амплитуды выходного сигнала от частоты входного сигнала [3].
Фильтр Баттерворта (нижних и верхних частот) является одним из наиболее часто используемых фильтров по причине простоты его реализации, а также из-за максимально гладкой амплитудно-частотной характеристики, которая позволяет не слишком сильно изменять вид исходного сигнала [3] .
Медианный фильтр часто используется для извлечения тренда, который был получен из-за помех в приборе. Медианный фильтр определяется следующим образом.
Пусть w- заданный размер окна (нечетное число), x - исходный сигнал, i - индекс элемента сигнала, [ : ] - индексация массива. median - статистика, такая что половина элементов выборки меньше ее, и половина элементов выборки больше ее. Тогда выходной сигнал y определяется как :
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Проведенная предобработка данных включает в себя следующие шаги:

• Применение фильтра Баттерворта второго порядка верхних частот с частотой подавления сигнала 0.3 Гц.
• Применение фильтра Баттерворта второго порядка верхних частот с частотой подавления сигнала 0.3 Гц.
• Извлечение тренда при помощи медианного фильтра.
• Вычитание тренда из полученного сигнала.

В данной работе использовались реализации указанных выше фильтров из модуля signal библиотеки scipy [6].
На Рис. 1 изображен пример ЭКГ-сигнала до и после предобработки.

4 Алгоритмы, входящие в состав ансамбля
Ниже приведены описания алгоритмов, которые были использованы для построения ансамбля.

вид сигнала до и после предобработки алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Рис. 1: Вид сигнала до и после предобработки.

4.1 Алгоритм, основанный на признаках, полученных из HRV-сигнала
Данный алгоритм был описан в статье [4] и был использован для обнаружения ишемической болезни сердца.
В ЭКГ-сигнале можно выделить R-пики, которые соответствуют пульсу человека [3]. Пример того, как выглядят R-пики в ЭКГ-сигнале можно увидеть на Рис. 2.

R-пики в ЭКГ сигнале алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Рис. 2: R-пики в ЭКГ сигнале.

Алгоритм обнаружения R-пиков подробно описан в [7] и его общий принцип состоит в следующем.

• Выделяем только те пики, в окрестности 200 мс которых нет пиков больше данного.
• Если такие пики нашлись, то проверяем, содержит ли ЭКГ-сигнал положительный и отрицательный наклон.
• Если пик больше чем, некоторый заданный порог, то считаем его R-пиком.

Для вычисления R-пиков использовалась реализация указанного выше алгоритма из библиотеки BioSPPy [8].
По ЭКГ-сигналу может быть построен сигнал, который называется вариабельность сердечного ритма (HRV-сигнал). Он вычисляется следующим образом.

• Вычисляются R-пики.
• Измеряются интервалы между двумя R-пиками (RR-интервалы).
• Каждая величина RR-интервала преобразуется как 60/RR.

На Рис. 3 изображен ЭКГ-сигнал и соответствующий ему HRV-сигнал.

ЭКГ и HRV-сигнал алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Рис. 3: ЭКГ и HRV-сигнал.

На основе HRV-сигнала строятся различные группы признаков.
В первую группу признаков входят различные энтропийные признаки, которые показывают меру непредсказуемости в сигнале. Используются следующие виды энтропий: приближенная энтропия, выборочная энтропия и энтропия Шеннона. Про каждый вид энтропии подробно описано ниже.
Приближенная энтропия вычисляется следующим образом. Здесь x - HRV-сигнал.

• Необходимо зафиксировать целое m и действительное r
• На основе сигнала составим вектора следующего вида:алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
• Определим величины Cim(r) следующим образом:
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где N - размер HRV-сигнала,алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARKкомпонента а вектораалгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK

• Определим величиныалгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK как:
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
• Приближенная энтропия (ApEn) определяется как
приближенная энтропия алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
В данной работе приближенная энтропия реализовывались для m = 10 и r = 0.2std(x), где std(x) - стандартное отклонение сигнала.
стандартное отклонение сигнала алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где xi-i-ая компонента сигнала, N - число элементов в сигнале,μ - среднее сигнала и определяется по формуле
среднее сигнала алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Выборочная энтропия вычисляется следующим образом.

• Формируются векторы длины алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK аналогичные тем, которые были сформированы в приближенной энтропии.
• Вычисляются величины A и B следующим образом
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где d определяется согласно формуле (1).

• Выборочная энтропия (SampEn) определяется как
выборочная энтропия алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
В данной работе выборочная энтропия определялась при m = 10, r = 0.2std(x).
Энтропия Шеннона (ShanEn), вычисляется как
энтропия Шеннона алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где k - число различных элементов в сигнале x, pf -частота элемента f в сигнале x.
Следующая группа признаков основана на графике повторений. Данный график показывает частоту и продолжительность повторений в сигнале. Элемент (i,j) данного графика определяется следующим образом
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где x - HRV-сигнал.
На основе данного графика вычисляются следующие признаки, N -число элементов в HRV-сигнале:

• Плотность точек на графике (REC)
плотность точек на графике (REC) алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
• Процент точек, которые формируют диагональные линии минимальной длины (DET)
процент точек, которые формируют диагональные линии (DET) алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
lmin - минимальная длина диагонали, P(l)-число диагоналей длины l.

• Средняя длина диагоналей (Lmean)
средняя длина диагоналей алгоритм определения ИБС по ЭКГ МГУ ВМк CardioQVARK
• Энтропия диагональных линий (ENd)
энтропия диагональных линий алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где pl -частота диагональных линий длины l.

• Энтропия вертикальных линий (ENv)
энтропия вертикальных линий алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где pvl -частота вертикальных линий длины l, lvmin - минимальная длина вертикальной линии.

Для вычисления указанных признаков в данной работе использовалась библиотека PyRQA [9].
Еще одна группа признаков, которая используется при данном подходе, - это группа признаков, основанных на графике Пуанкаре. График Пуанкаре строится следующим образом: для сигнала x = (x1, x2, ..., xN) на графике отображаются точки (x1, x2), (x2, x3,), ..., (xi, xi+1,) и так далее. В данном случае в качестве сигнала берется сигнал, который состоит из RR-интервалов.
Используются следующие признаки:

• Стандартное отклонение (формула (2)) расстояний точек графика до прямой y = x. Данный признак описывает локальную вариативность RR-интервалов.
• Стандартное отклонение (формула (2)) расстояний точек графика до прямой y = -x - 2RRmean. RRmean - среднее значение RR-интервалов. Данный признак описывает долговременную вариативность RR-интервалов.
Признаки, основанные на детрентном флуктуационном анализе. Данный метод позволяет определить самозависимость сигнала. Определим следующую кумулятивную сумму:
кумулятивная сумма алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
x - сигнал, состоящий из RR-интервалов, μ-среднее значение сигнала x (определяется по формуле (3))
Данные сегментируются с окном размера ∆n. На каждом сегменте для данных находится полином, который наиболее точно их представляет (обычно линейный) и находится следующая функция
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где N - длина сигнала, состоящего из RR-интервалов.
Признаком будет являться угол наклона линии logF(∆n) к log(∆n). Подробнее про данный подход написано в [10]. В данной работе для вычисления данного признака использовалась реализация из библиотеки nolds [11].
Следующим признаком, который используется при данном подходе является корреляция размерностей. Данный признак является количественной характеристикой траектории сигнала и определяется следующим образом.

• Формируются векторы длины алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK аналогичные тем, которые были сформированы в приближенной энтропии.
• Величина g определяется как алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK g -это число векторов, расстояние между которым меньше либо равно r.
• Величина C(r) определяется как
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где N - это длина сигнала x.

• Корреляция размерностей (D2) определяется как
корреляция размерностей алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK

В данной работе использовалась реализация данного признака из библиотеки nolds [11].
В качестве классификатора при данном подходе использовалась логистическая регрессия из пакета scikit-learn [12] и градиентный бустинг из библиотеки xgboost [13].

4.2 Алгоритм, основанный на 3-х различных группах признаков
Данный алгоритм представляет собой смесь 3-х различных признаковых пространств, которые ранее были использованы в задачах классификации биомедицинских сигналов.
Первая группа признаков состоит из параметров Йорта [14]. Данные параметры изначально использовались как характеристики электроэнцефалограмм. Электроэнцефалограмма (ЭЭГ) ? это сигнал, который показывает биоэлектрическую активность головного мозга [3]. Однако позже стали применяться во многих работах, в том числе и для классификации ЭКГ-сигналов [15]. Данные параметры определяются следующим образом. x(t) - заданный сигнал, var(x) - дисперсия сигнала x и определяется следующим образом:
дисперсия сигнала x
• Активность (Activity) отображает дисперсию сигнала
активность алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
• Мобильность (Mobility) представляет собой среднюю частоту
мобильность алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
• Сложность (Complexity) показывает на изменения в частоте сигнала
сложность алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK

Следующая группа признаков представляет собой статистические характеристики сигнала и состоит из следующих признаков.

• Среднее (формула (3)).
• Cтандартное отклонение (формула (2)).
• Минимум и максимум значений сигнала
• Пусть задана выборка x = (x1, x2, ..., xN), ей соответствует вариационный ряд вариационный ряд алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK Квантилью порядка α называется число равное элементу, которому соответствует номер Nα+ 1 в вариационном ряду. В качестве признаков берутся выборочные квантили сигнала порядка 0.1, 0.25, 0.5, 0.75, 0.9.
• Суммы и суммы квадратов значений сигнала, которые находятся выше/ниже определенных значений квантилей 0.1, 0.25, 0.5, 0.75, 0.9.
• Коэффициент асимметрии:
коэффициент асимметрии алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
• Коэффициент эксцесса:
коэффициент эксцесса алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK

Следующая группа признаков была предложена В. М. Успенским для определения заболевания по ЭКГ пациента [16]. Для вычисления данных признаков необходимо вычислить амплитуды R-пиков (A(n)), расстояния между R-пиками (T(n)), а также арктангенс их отношения
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK

величины, используемые при формировании признаков Успенского алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Рис. 4: Величины, используемые при формировании признаков Успенского.

Изображение данных величин представлено на Рис. 4.
Предполагается, что имеют значения не сами величины A(n), T(n), а лишь знаки их приращений. Способ кодирования сигнала, основанный на всех возможных знаках приращений указанных величин представлен в Таблице 1.

кодовое преобразование сигнала алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Таблица 1: Кодовое преобразование сигнала

После того как получено кодовое представление сигнала, осуществляется выделение три-грамм. Признаковым пространством является количество вхождений каждой из возможных три-грамм в заданную кодовую последовательность, полученную из сигнала.
В качестве классификатора при данном подходе использовалась логистическая регрессия из пакета scikit-learn [12] и градиентный бустинг из библиотеки xgboost [13].

4.3 Алгоритм, основанный на вейвлет-преобразовании сигнала
Данный алгоритм, использовался авторами статьи [17] для обнаружения эпилепсии по ЭЭГ-сигналу, а также для идентификации человека по ЭКГ-cигналу.
Вейвлет-преобразование сигнала - это свертка функций Ψ(t), называемых вейвлетами, с сигналом. Данные вейвлет-функции должны иметь следующие свойства:
свойства вейвлет-функции алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Вейвлет-преобразование позволяет получить сжатие сигнала, которое обладает хорошим качеством восстановленного сигнала [3].
Все вейвлет-функции, используемые в вейвлет-преобразовании могут быть представлены на основе функции-прототипа алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK, путем масштабирования и переноса. Так в случае дискретного вейвлет-преобразования все вейвлет-функции могут быть записаны как:
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Параметр сдвига n показывает, где во временной оси размещен соотвествующий вейвлет, а параметр масштабирования m связан с частотой для заданного вейвлета.
Тогда вейвлет-преобразование может быть записано как:
вейвлет-преобразование алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK это функция комплексно сопряженная к алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
В дискретном вейвлет-преобразовании функции алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK могут быть разбиты на 2 составляющие. Это функции, которые отвечают коэффициентам аппроксимации и коэффициентам детализации. В данной работе для представления сигнала используются коэффициенты аппроксимации для нового представления сигнала, а в качестве вейвлет-функций используются Daubechies вейвлеты [18].
Программная реализация используется из библиотеки PyWavelets [19].
После того как были получены коэффициенты вейвлет-преобразования, из сигнала выделяются локальные сегменты. Для этого вдоль сигнала необходимо пройти «окном» некоторой длины w, с шагом s. Все элементы, которые попадают в пределы одного окна, записываются в отдельный сегмент. Таким образом, каждый сигнал представляет собой набор локальных сегментов.
Все локальные сегменты, которые входят в обучающую выборку кластеризуются на k кластеров методом k-средних. После этого каждый сегмент заменяется номером кластера, которому он принадлежит. Таким образом каждый сигнал представляется в виде текста, состоящего из кодовых слов, соответствующих выделенным кластерам.
При реализации заданного подхода использовалась w = 100, s = 30, k = 200. Реализация метода k-средних использовалась из библиотеки scikit-learn.
В обучающий выборке каждый локальный сегмент заменяется на тот кластер, ближе всего к которому он расположен. То есть для локального сегмента xi в тестовой выборке кластер c, которому он принадлежит, определяется формулой:
кластер с алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где bj - центр кластера j.

Таким образом, получив вместо сигнала текст, можем использовать подходы, применимые для текстов. Авторы статьи, которые предложили данное кодирование сигнала, использовали в качестве признакового пространства «мешок слов». Признаковым описанием является число вхождений каждого кодового слова в данный сигнал.
Кроме того, с целью выделения зависимостей между локальными сегментами в сигнале использовались признаки на основе word2vec. Данный подход был предложен компанией Google и он позволяет учитывать контекст слов при обработке текстов, в то же время сокращая размер данных [20]. Word2Vec представляет собой на самом деле два разных метода: Continuous Bag of Words (CBOW) и Skip-gram. В CBOW методе, целью алгоритма является предсказать слово, на основе слов, которые его окружают. В методе Skip-gram целью является предсказать слова, которые окружают данное слово. Оба метода используют нейронную сеть в качестве алгоритма для обучения. В начале обучения каждое слово – это случайный n-размерный вектор. Во время обучения алгоритм изучает оптимальный вектор для каждого слова, используя метод CBOW или Skip-gram.

основной принцип работы методов Word2Vec алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Рис. 5: Основной принцип работы методов Woed2Vec [20]

Модель word2vec строилась по обучающей выборке с длиной вектора 80. В качестве признаков использовался вектор, являющийся средним всех векторов, которые входят в "текст"сигнала.
Модель строилась с помощью библиотеки gensim [21].
В качестве алгоритма классификации использовалась логистическая регрессия из библиотеки scikit-learn [12].

4.4 Алгоритм, основанный на анализе сегментов сигнала вокруг его R-пиков
Данный алгоритм был предложен авторами статьи [22] для определения состояния сердца, при котором возникает необходимость в госпитализации.
Построение признакового пространства для данного подхода осуществляется следующим образом.

• Выделяются окрестности R-пиков сигнала: 200 мс до R-пика и 500 мс после.
• В качестве признакового пространства используется усредненная окрестность.

В качестве классификатора использовалась искусственная нейронная сеть. Искусственная нейронная сеть - это модель, построенная по аналогии с принципом функционирования биологических нейронных сетей. Основной принцип построения искусственного нейрона состоит в следующем: каждый нейрон получает входные сигналы по каналам связи, соответствующим каналам от предыдущего нейрона. Для каждого канала связи установлен его вес, а также функция активации. Выход нейрона определяется как:
выход нейрона алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где wi - заданные веса для i-го канала связи, xi - входные данные для i-го канала связи, f - функция активации. Совокупность таких нейронов вместе с выделенными входными и выходными нейронами может служить как универсальная аппроксимация произвольной функции [23].
Обучение нейронных сетей происходит с помощью методов стохастической оптимизации, используя технику обратного распространения ошибки.
В нейронных сетях выделяют группу сетей прямого распространения, нейроны и связи между которыми образуют направленный граф без циклов. Большинство таких сетей можно представить как последовательность наборов нейронов, в котором связи могут идти только из нейронов предыдущего набора в нейроны последующего набора. Такие наборы называются слоями.
Одним из типов слоев, которые часто используются в нейронных сетях, является полносвязный слой. В таком слое канал связи идет из каждого нейрона предыдущего слоя в каждый нейрон текущего слоя.
В данной работе рассматривалась следующая архитектура нейронной сети, которая описана в Таблице 2, где fs - сигмоидная функция активации, которая задается как:
сигмоидная функция активации алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK

структура нейронной сети алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Таблица 2: Структура нейронной сети

В данной работе нейронная сеть была реализована с помощью библиотек Theano [24] и Lasagne [25], в качестве метода оптимизации использовался алгоритм Adam [23].

4.5 Алгоритм, основанный на биспектральном разложении сигнала
Преобразование Фурье [3] - это операция, сопоставляющая одной функции x(t) другую функцию X(f) согласно следующей формуле:
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Биспектр сигнала - это функция от двух переменных f1 и f2, задающих частоты, выражающаяся следующей формулой [26]:
биспектр сигнала алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где X(f) - преобразование Фурье сигнала, а X*(f) - комплексное сопряженное к нему. Биспектр сигнала как правило рассчитывается с помощью быстрого преобразования Фурье. Подробное описание алгоритма для нахождения биспектра сигнала можно найти в [27]. При вычислении биспектра сигнала получается двумерная матрица, элементами которой являются комплексные числа.
На основе полученной матрицы, элементы которой можно обозначить как a(i, j), можно сопоставить каждому сигналу некоторое изображение, которое вычисляется следующим образом. Вычисляется новая матрица B = ||bi,j||, элементы которой равны
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где Re - обозначает действительную часть комплексного числа, а Im обозначает мнимую часть комплексного числа. В качестве изображения используется график линий уровня матрицы B. Линия уровня - это линия, во всех точках которой значения функции равны.
Авторами статьи [28] было показано, что ишемическая болезнь сердца может быть обнаружена, при анализе изображений, полученных на основе биспектра сигнала. Метод описанный в вышеуказанной статье состоял в выделении площади региона внутри линий уровня, при оценке которой можно было сделать вывод о наличии у пациента ишемической болезни сердца. Результаты, которые были получены авторами, позволяют сделать вывод, что изображения биспектра могут использоваться для обнаружения у пациента ишемической болезни сердца.
На Рис. 6 представлен пример изображений, соответствующих спектральному разложению сигнала для больного ИБС и здорового человека.

изображение, соответствующее биспектральному разложению больного и здорового человека алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Рис. 6: Изображение, соотвествующее биспектральному разложению больного и здорового человека

Однако следует отметить, что подход, который был реализован в вышеуказанной статье, не учитывает никаких особенностей изображения, кроме как площадь внутри линий уровня. Поэтому можно сделать предположение, что проанализировав изображение более сложными методами удастся получить лучшее качество.
В качестве метода анализа данных изображений предлагается использовать нейронные сети, которые на сегодняшний день успешно решают многие задачи, связанные с анализом изображений.
Одним из самых популярных слоев для обработки изображений на сегодняшний день являются сети, содержащие сверточные слои, которые является слоями прямого распространения. В сверточном слое каждый нейрон зависит не от всех нейронов предыдущего слоя, а только некоторого набора нейронов, которые находятся в общей окрестности [23]. Такие слои позволяют ускорить процесс обучения и при этом сохранить пространственную информацию. Данный сверточный слой получил свое название из-за использовании операции свертки. Суть данной операции заключается в том, что каждый элемент выходного слоя вычисляется как сумма всех элементов поэлементного произведения матрицы ядра свертки и фрагмента изображения, при этом ядро свертки может перемещаться по входному изображению с некоторым заданным смещением по осям.
В данной работе для вычисления биспектра сигнала использовался пакет HOSA [29].
Для классификации полученных изображений, использовалась нейронная сеть с архитектурой, которая описана в таблице 3. Функция активации flr - Relu «с утечкой» и она определяется по следующей формуле.
функция активации алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где α малая константа.

структура нейронной сети алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Таблица 3: Структура нейронной сети

В данной работе нейронная сеть была реализована с помощью библиотек Theano [24] и Lasagne [25], в качестве метода оптимизации использовался алгоритм Adam [23].

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

5.1 Голосование по большинству
Пусть набор алгоритмов A = (A1, A2, ..., An) выдает вектор ответов a = (a1, a2, ..., an) для классификации случая i, тогда результирующий ответ aбудет равен
результирующий ответ алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где mode - статистика, равная наиболее часто встречающемуся элементу в выборке. В случае если таких элементов несколько, то выбирается один из них случайным образом.

5.2 EM-алгоритм
Данный алгоритм был предложен авторами статьи [30] для агрегации данных, полученных от разных людей об одном и том же событии с целью получить истинный результат. Так как целью построения ансамбля алгоритмов является агрегация ответов различных алгоритмов для получения истинного результата, то данный алгоритм можно использовать для построения ансамбля.
Ниже представлено описание алгоритма для двухклассовой классификации.
N - размер доступных данных,
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK- поставил ли k-ый алгоритм ответ алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARKна данные алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK,
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK - вероятность, что k-ый алгоритм поставит ответ j, когда истинным ответом является l.
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK = 1, если истинным ответом для данных i является j, в противном случае, он равняется 0.
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK- вероятность класса в выборке.

• Шаг 1: Инициализируем матрицы π идеальным случаем. T инициализируем значением голосования по большинству.
• Шаг 2: Пересчитываем значения матриц π и pj как
значения матриц алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
• Шаг 3. Пересчитываем Tij
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Повторяем шаги 2 и 3 до тех пор, пока матрицы π не перестанут изменяться.
В конце работы данного алгоритма получим в матрице T вероятности принадлежности данных каждому классу. В качестве ответа берется тот класс, вероятность принадлежности которому наибольшая.

6 Метрики качества, используемые для сравнения реализованных алгоритмов

6.1 Качество по пациентам
Данная метрика позволяет оценить то, на сколько хорошо алгоритм определяет болезнь человека по любой из его кардиограмм. Кроме того, данная метрика не зависит от числа кардиограмм для каждого пациента. Данная метрика определяется следующим образом.
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
где tij - истинное значение целевой переменной для кардиограммы j пациента i, pij - предсказанное значение целевой переменной для кардиограммы j пациента i, nj - число кардиограмм у пациента j, N - число пациентов.

6.2 F-мера
F-мера - это мера, не зависящая от несбалансированности выборки и позволяющая оценить качество модели. Однако следует отметить, что данная метрика имеет существенный недостаток, так как не учитывает, что разные пациенты могут иметь различное число кардиограмм. Если алгоритм правильно (неправильно) определяет результат для пациентов с большим числом кардиограмм, то это может исказить результат в большую (меньшую) сторону. Для определения F-меры введем следующие величины.
Tp – число истинных ответов, принадлежащих классу 1, определенных моделью.
Tn – число истинных ответов, принадлежащих классу 0, определенных моделью.
Fp– число ложных ответов, принадлежащих классу 1, определенных моделью.
Fn– число ложных ответов, принадлежащих классу 0, определенных моделью.
P = Tp + Fn.
полнота точность F-мера алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK

6.3 Roc-Auc
Метрики, описанные выше, имеют недостаток, заключающийся в том, что их значения зависят от порога, который выбирается при преобразовании вероятностей принадлежности классам в метки. Метрикой, которая позволяет оценить возможность такого преобразования без непосредственно его выполнения, является метрика Roc-Auc.
Roc-Auc равна вероятности того, что для случайно выбранных алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK и алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK будет выполнено: p(x1) > p(x0). Где C1 и C0 – единичный и нулевые классы соответственно, а p(x) – вероятность принадлежности классу C1, присвоенная классификатором.

7 Результаты экспериментального исследования

7.1 Характеристики программной реализации
Программная реализация1 выполнена на языке Python 2.7.9, с использованием библиотек: pandas [31], numpy [32], а также библиотек, которые были указаны в описаниях алгоритмов.

7.2 Метод оценки алгоритмов и подбора параметров
Качество модели μ оценивалось на кроссвалидации по 12 фолдам, которая заключается в следующем: выборка X длины L разбивается на 12 непересекающихся блоков одинаковой (или почти одинаковой) длины, таким образом, чтобы в каждом блоке находились разные пациенты и блоки были почти одинаковой длины k1, ... , k12 : алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK Каждый блок по очереди становится контрольной подвыборкой, при этом обучение производится по остальным 11 блокам. Качество определяется в результате объединения ответов на контрольных подвыборках в единый вектор:
алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Кроме оценки модели при помощи кросс-валидации также использовалось оценивание модели на отложенной выборке. Оценивание модели на отложенной выборке позволяет оценивать качество предложенных подходов при уже настроенных параметрах.
При обучении моделей настраивались следующие параметры: LogisticRegression - C (коэффициент регуляризации), XGBClassifier - learning_rate (скорость обучения), n_estimators (число деревьев), нейронные сети - learning_rate (скорость обучения). Остальные параметры были настроены по умолчанию. Параметры подбирались по сеткам. В качестве итоговых параметров выбирались те, при которых качество модели на кросс-валидации является наилучшим, или перестает существенно улучшаться относительно критерия качества по пациентам. В качестве итоговой модели выбиралась та, которая дает наилучшее качество по пациентам.

7.3 Полученные результаты
Обозначим реализованные методы следующим образом.
BISPECTRUM - алгоритм, основанный на биспектральном разложении сигнала.
WORDS - алгоритм, основанный на вейвлет-преобразовании сигнала (без использования word2vec признаков).
WORDS_W2V - алгоритм, основанный на вейвлет-преобразовании сигнала (с использованием word2vec признаков).
R_WINDOW - алгоритм, основанный на анализе сегментов сигнала вокруг его R-пиков.
MIX - алгоритм, основанный на 3-х различных группах признаков.
HRV - алгоритм, основанный на признаках, полученных из HRV сигнала.
MAJORITY - ансамбль алгоритмов, выполненный по методу голосование по большинству.
EM - ансамбль алгоритмов, выполненный по EM-методу.
Обозначим алгоритмы классификации как: xgb - xgboost, lr - логистическая регрессия, nn - нейронная сеть.
CV обозначает качество модели на кросс-валидации, а T обозначает качество модели на отложенной тестовой выборке.
Полученные результаты приведены в таблицах 4, 5 и 6.

результаты экспериментальных исследований алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Таблица 4: Результаты экспериментальных исследований

результаты экспериментальных исследований алгоритм определения ИБС по ЭКГ МГУ ВМК CardioQVARK
Таблица 5: Результаты экспериментальных исследований

результаты экспериментальных исследований алгоритм определения ИБС по ЭКГ МГУ ВМК cardioQVARK
Таблица 6: Результаты экспериментальных исследований.

Из таблиц 4, 5 и 6 следует, что качество на кросс-валидации по всем метрикам как правило ниже, чем качество на отложенной тестовой выборке. Данное явление может быть объяснено следующими причинами. Во-первых, на кросс-валидации использовалось меньше данных для обучения, а обучение на полной выборке позволяет добиться лучшего качества. Во-вторых, известно, что первая и вторая выборка содержат разные кардиограммы, однако существует вероятность, что некоторые пациенты из обучающей выборки встречались и в тестовой, а следовательно содержат похожие кардиограммы, в то время как на кросс-валидации одни и те же пациенты не попадали одновременно в обучение и в контроль. Учитывая последний факт, следует отметить, что важно оценивать качество не только на отложенной тестовой выборке, но и на кросс-валидации.
Как видно из Таблицы 4, алгоритм, который основан на биспектральном разложении сигнала, показывает худшее качество по пациентам на кросс-валидации. На отложенной тестовой выборке качество не является худшим, и сопоставимо с качеством по остальным алгоритмам. Заниженное качество по пациентам может быть связано с тем, что обучающая выборка слишком мала для нейронной сети и для того, чтобы получить более высокое качество необходима выборка большего размера. Однако, следует заметить, что качество не слишком низкое, что позволяет сделать вывод, что анализ изображений, полученных на основе биспектрального разложения сигнала может использоваться для определения заболеваний по ЭКГ. В будущем этот метод может быть исследован на предмет повышения качества классификации. Стоит отметить, что этот метод показал лучшее качество по F-мере среди одиночных алгоритмов на кросс-валидации, и одно из лучших на тестовой выборке. Данный факт дает повод предположить, что этот метод верно идентифицирует пациентов с большим количеством кардиограмм.
Из полученных результатов следует, что при добавлении word2vec признаков модель работает лучше практически по всем выбранным критериям качества (на отложенной тестовой выборке модель по критерию Roc-Auc работает также). Однако прирост не слишком существенен. Cледует заметить, что методу word2vec как правило необходимо много данных для того, чтобы получить высокое качество. Поэтому, возможно, что если бы объем выборки был больше, то удалось бы получить более высокое качество при добавлении этих признаков.
Модель, основанная на 3-х различных группах признаков показывает лучшее качество по метрике Roc-Auc на кросс-валидации. На отложенной тестовой выборке она также является лучшей. Это может быть связано с тем, что она может правильно определять пациентов у которых много кардиограмм, и при подборе правильного порога может увеличиться значение F-меры.
Наилучшее качество по пациентам на кросс-валидации показывает модель, основанная на HRV-сигнале. Однако на отложенной тестовой выборке ее качество сильно зависит от используемого алгоритма классификации. По F-мере данная модель показывает худшее качество на кросс-валидации и худшее качество на отложенной тестовой выборке в случае использования логистической регрессии. Стоит отметить, что данный алгоритм показывает лучшее качество в случае использования градиентного бустинга как на кросс-валидации, так и на отложенной тестовой выборке. Данный факт позволяет сделать вывод, что зависимость между целевой переменной и признаками, входящими в эту модель не является линейной. Можно сказать, что в случае использования градиентного бустинга данный алгоритм дает лучшее качество по пациентам среди одиночных алгоритмов.
Проанализировав результаты в таблице для разных метрик можно сделать вывод, что алгоритмы работают по-разному и правильно классифицируют разных пациентов. Данный результат позволяет сделать вывод, что применив ансамбль алгоритмов удастся улучшить качество классификации, что и доказывают результаты для ансамблей алгоритмов как и на кросс-валидации, так и на отложенной выборке. С помощью EM-алгоритма качество удалось существенно увеличить по всем исследуемым метрикам, как на кросс-валидации так и на отложенной выборке, что позволяет сделать вывод о том, что ансамбль алгоритмов при использовании EM-алгоритма работает значительно лучше отдельных. Однако, при помощи голосования по большинству не удалось повысить качество по пациентам на отложенной тестовой выборке, но повысилась F-мера. На кросс-валидации голосование по большинству увеличило значения обоих метрик, поэтому однозначного решения о его неприменимости в данной задаче принимать не следует.
Следует также отметить, что EM-алгоритм позволяет существенно улучшить качество по Roc-Auc по сравнению с индивидуальными алгоритмами.

8 Заключение
В ходе данной работы была проделано следующее.

• Реализовано 5 различных методов обнаружения ишемической болезни сердца по ЭКГ.
• Предложена модификация одного из существующих методов, улучшающая качество классификации.
• Предложен новый метод для классификации ишемической болезни сердца.
• Проведено экспериментальное сравнительное исследование реализованных методов.
• Предложены способы ансамблирования реализованных алгоритмов.
• Исследована применимость EM-алгоритма как метода ансамблирования.

Основными результатами данной работы являются следующие выводы.

• word2vec позволяет увеличить качество классификации метода основанного на вейвлет-преобразовании.
• Биспектральное разложение может быть использовано для классификации ишемической болезни сердца.
• Наилучшее качество по Roc-Auc среди одиночных алгоритмов показывает алгоритм, основанный на 3-х различных признаковых пространствах.
• Наилучшее качество по F-мере показывает алгоритм, основанный на биспектральном разложении.
• Наилучшее качество по пациентам показывает алгоритм, основанный на HRV-сигнале, при использовании в качестве классификатора градиентного бустинга.
• EM-алгоритм применим для ансамблирования и в данном случае показывает наилучшее качество классификации по всем выбранным метрикам.
• При использовании оборудования CardioQvark возможно определить ишемическую болезнь сердца с точностью свыше 0.8 по качеству по пациентам, с точностью свыше 0.77 по F-мере и с точностью cвыше 0.87 по Roc-Auc.

Работа была представлена на международной XXIV научной конференции «Ломоносов – 2017» [33].

Список литературы
[1] В.В. Горбачев Ишемическая Болезнь Сердца. - Минск: Выш. шк., 2008. - 479 с. - ISBN 978-985-06-1433-9
[2] Всемирная организация здравоохранения. Центр СМИ. 10 ведущих причин смерти в мире. [Электронный ресурс] // Всемирная организация здравоохранения. URL: http://www.who.int/mediacentre/factsheets/fs310/ru/ (дата обращения: 01.05.2017).
[3] Rangayyan R. M. Biomedical signal analysis. – John Wiley & Sons, 2015. – Т. 33.
[4] Dua S. et al. Novel classification of coronary artery disease using heart rate variability analysis //Journal of Mechanics in Medicine and Biology. – 2012. – Т. 12. – №. 04. – С. 1240017.
[5] Giri D. et al. Automated diagnosis of coronary artery disease a?ected patients using LDA, PCA, ICA and discrete wavelet transform //Knowledge-Based Systems. – 2013. – Т. 37. – С. 274-282.
[6] Jones E., Oliphant T., Peterson P. SciPy: open source scientific tools for Python. – 2014.
[7] Hamilton P. Open source ECG analysis //Computers in Cardiology, 2002. – IEEE, 2002. – С. 101-104.
[8] Carlos Carreiras. BioSPPy - Biosignal Processing in Python. [Электронный ре-сурс] //BioSPPy’s documentation. URL: http://biosppy.readthedocs.io/en/stable/ (дата обращения: 01.05.2017).
[9] Rawald T., Sips M., Marwan N. PyRQA Conducting recurrence quantification analysis on very long time series efficiently //Computers & Geosciences. – 2016.
[10] Kantelhardt J. W. et al. Detecting long-range correlations with detrended fluctuation analysis //Physica A: Statistical Mechanics and its Applications. – 2001. – Т. 295. – №. 3. – С. 441-454.
[11] Christopher Scholzel. Nolds. [Электронный ресурс] // Nolds’ documentation. URL: https://cschoel.github.io/nolds/ (дата обращения: 01.05.2017).
[12] Pedregosa F. et al. Scikit-learn: Machine learning in Python //Journal of Machine Learning Research. – 2011. – Т. 12. – №. Oct. – С. 2825-2830.
[13] Chen T., Guestrin C. XGBoost: Reliable large-scale tree boosting system //Proceedings of the 22nd SIGKDD Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA. – 2016. – С. 13-17.
[14] Hjorth B. EEG analysis based on time domain properties //Electroencephalography and clinical neurophysiology. – 1970. – Т. 29. – №. 3. – С. 306-310.
[15] De Cooman T. et al. Online seizure detection in adults with temporal lobe epilepsy using single-lead ECG //Signal Processing Conference (EUSIPCO), 2014 Proceedings of the 22nd European. – IEEE, 2014. – С. 1532-1536.
[16] Успенский В. М. Информационная функция сердца. Теория и практика диагности-ки заболеваний внутренних органов методом информационного анализа электро-кардиосигналов. М.: Экономика и информатика, 2008. 116 с.
[17] Wang J. et al. Bag-of-words representation for biomedical time series classification //Biomedical Signal Processing and Control. – 2013. – Т. 8. – №. 6. – С. 634-644.
[18] Liu C. L. A tutorial of the wavelet transform //NTUEE, Taiwan. – 2010.
[19] Wasilewski F. Pywavelets: Discrete wavelet transform in python //Available: http://www.pybytes.com/pywavelets. – 2010.
[20] Mikolov T. et al. Efficient estimation of word representations in vector space //arXiv preprint arXiv:1301.3781. – 2013.
[21] Rehurek R., Sojka P. Software framework for topic modelling with large corpora //In Proceedings of the LREC 2010 Workshop on New Challenges for NLP Frameworks. – 2010.
[22] Ripoll V. J. R. et al. ECG assessment based on neural networks with pretraining //Applied Soft Computing. – 2016. – Т. 49. – С. 399-406.
[23] Goodfellow I., Bengio Y., Courville A. Deep learning. Book in preparation for MIT Press //URL< http://www. deeplearningbook. org. – 2016.
[24] Team T. T. D. et al. Theano: A Python framework for fast computation of mathematical expressions //arXiv preprint arXiv:1605.02688. – 2016.
[25] Dieleman S. et al. Lasagne: First release //Zenodo: Geneva, Switzerland. – 2015.
[26] Civera M., Zanotti Fragonara L., Surace C. Using bispectral analysis and neural networks to localise cracks in beam-like structures. – 2016.
[27] Nikias C. L., Raghuveer M. R. Bispectrum estimation: A digital signal processing framework //Proceedings of the IEEE. – 1987. – Т. 75. – №. 7. – С. 869-891.
[28] Al-Fahoum A., Al-Fraihat A., Al-Araida A. Detection of cardiac ischaemia using bispectral analysis approach //Journal of medical engineering & technology. - 2014. - Т. 38. - №. 6. - С. 311-316.
[29] Swami A., Mendel J., Nikias C. L. HOSA toolbox of Matlab 5.1 //MathWorks, Natick, USA. – 1993.
[30] Dawid A. P., Skene A. M. Maximum likelihood estimation of observer error-rates using the EM algorithm //Applied statistics, 1979, С. 20-28.
[31] McKinney W. et al. Data structures for statistical computing in python //Proceedings of the 9th Python in Science Conference. – van der Voort S, Millman J, 2010. – Т. 445. – С. 51-56.
[32] Walt S., Colbert S. C., Varoquaux G. The NumPy array: a structure for efficient numerical computation //Computing in Science & Engineering. – 2011. – Т. 13. – №. 2. – С. 22-30.
[33] Кибитова В.Н. Ансамбль алгоритмов для определения ишемической болезни сердца // Сборник тезисов XXVI международной научной конференции Ломоносов-2017. Издательский отдел факультета вычислительной математики и кибернетики МГУ имени М.В. Ломоносова, 2017. С. 15-17.