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

Все дышат, и почти все делают это со скоростью 14–18 вдохов в минуту. Когда частота дыхания человека увеличивается всего на 2–3 вдоха/мин выше верхней границы этого диапазона, у клиницистов есть повод для беспокойства. Это особенно актуально сегодня, когда учащение дыхания происходит с сопутствующим повышением температуры тела вплоть до лихорадки, как это наблюдалось в контексте ранней стадии инфекции COVID-19. Рассматриваемая компания надеется имитировать и автоматизировать экраны, которые делают медицинские работники, чтобы отмечать потенциальные случаи новой коронавирусной инфекции… не выходя из собственной гостиной. Чтобы это произошло, им сначала нужно было проверить свои собственные оценки частоты дыхания на соответствие источнику достоверных медицинских измерений.

В качестве нового научного сотрудника Health Data Science в Insight меня наняли, чтобы помочь выполнить эту проверку.

«Ваша миссия, если вы решите ее принять…»

Первоначально клиент обратился ко мне с задачей проверки оценок частоты дыхания (с помощью своего собственного продукта) по сравнению с прогнозами, которые будут извлечены из электрической активности сердца (Дыхание на основе ЭКГ или EDR) у субъектов, которые добровольно согласились пройти мониторинг сна с помощью множества устройств для сбора данных, привязанных к их грудной клетке.

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

Уменьшение размеров оборудования, повышение точности?

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

К счастью для физиологии человека, описанная выше модуляция частоты сердечных сокращений дыханием действительно отражается в импульсном сигнале объема крови, который может быть зарегистрирован с помощью методов фотоплетизмографии (ФПГ). Подумайте, например, о пульсоксиметрах с клипсой: они занимают одну цифру, освещают находящиеся в них кровеносные сосуды (обычно с помощью источника зеленого или инфракрасного света), а затем отображают их прямо через кожу.

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

Конкретные механизмы (например, синусовая аритмия), с помощью которых дыхание контролирует время прихода пиков ППГ, я буду называть «частотной модуляцией». Хотя это не единственный измеримый сигнал, по которому можно определить дыхание с помощью ФПГ, частотная модуляция была основной характеристикой, которую анализировали, когда я присоединился к этому проекту. Высоты («амплитуды») пиков ЭКГ/ФПГ также подвержены изменениям в ритме дыхания, как показывают датчики, достаточно точные, чтобы улавливать такие колебания. Я понял, что этот реликт, связанный с амплитудой, еще не использованный компанией, может быть использован не только как способ проверить их оценки частоты дыхания, но и улучшить их.

[Для отображения основного различия между модуляцией частоты и амплитуды (включая базовое блуждание) удобно организовано графическое здесь, ведущим вкладчиком подполе получения сигнала дыхания из ЭКГ / ФПГ. Более технический обзор представил их здесь.]

Препятствия и поиск путей их обхода

Ни один из способов вывода о дыхании — измерение изменений во времени пиков ППГ или их относительной высоты — не был бы надежным. Например, у людей с определенным сердечно-сосудистым профилем может оказаться довольно сложно точно определить какие-либо незначительные изменения во временном интервале между пиками пульса. Помимо этих основных физиологических ограничений, мне также пришлось столкнуться с тем фактом, что в контексте машинного обучения/разработки алгоритмов проверка в идеале должна проводиться путем сравнения с «золотым стандартом» или некоторыми более разумными прямыми измерениями частоты дыхания. у меня не было!

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

Грудной импеданс можно измерить с помощью тех же электродов, которые используются для записи ЭКГ. В определенном смысле это другая сторона той же медали. Вместо того, чтобы измерять электрическую активность самого сердца, он измеряет степень, в которой собственные биологические ткани (и материалы внутри: воздух) препятствуют сигналу напряжения от сердца, когда он проходит через тело. на поверхность — где закреплены выводы. Для людей, толерантных к физике и электротехнике, это эквивалентно решению V = IR для термина R. Поскольку воздух является плохим (т. е. высокоимпедансным) проводником электричества, то грудной импеданс явно будет возрастать — и даже достигать пика — один раз за вдох, когда грудная полость будет настолько заполнена вдыхаемым воздухом, насколько это возможно.

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

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

Помимо обеспечения стабильной цели, я думал, что этот подход к проверке повлечет за собой более прямой путь, чем, скажем, сравнение оценок дыхания, полученных на основе ЭКГ, с оценкой, полученной на основе ФПГ. Я бы сравнивал яблоки с яблоками, PPG с PPG, поэтому любой конвейер, разработанный для этих «проверочных» данных, можно было легко применить к записям, полученным клиентом. Таким образом, хорошо было найти данные PPG как можно более свободными от любых искажений движения или других артефактов (например, яркий дневной свет, чтобы сбить с толку инфракрасный датчик PPG).

Из реанимации в гостиную

По всем вышеперечисленным причинам я остановился на базе данных дыхания BIDMC. Эти данные являются подмножествами измерений из репозитория Critical Care MIMIC II; они состоят из 8-минутных записей, описывающих несколько ключевых физиологических сигналов у 53 разных пациентов. Изучение пациентов в отделении интенсивной терапии помогло мне в процессе проверки несколькими способами: 1) испытуемые были относительно неподвижны, и можно было ожидать, что они будут меньше вмешиваться в работу датчиков ФПГ; 2) в отделении интенсивной терапии следует свести к минимуму физическую активность и эмоциональное возбуждение; 3) каждый пациент может демонстрировать различную частоту дыхания, но можно разумно ожидать, что частота дыхания каждого пациента останется стабильной в заданном промежутке в несколько минут. Несмотря на эти преимущества, очистка или подготовка данных всегда необходима! В частности, мы считаем эту истину самоочевидной: не все формы сигналов торакального импеданса — чьи идентифицированные пики должны были служить моим источником наземной истинысозданы равными .

К счастью, набор данных дыхания BIDMC включал не только желаемые кривые PPG и импеданса грудной клетки, но и наборы ручных аннотаций, отражающих, какие пики на этих кривых импеданса, по мнению подготовленных экспертов, соответствовали отдельным дыханиям. Я построил каждую из трасс импеданса, чтобы убедиться, могу ли я ожидать, что простой алгоритм машинного обучения с обнаружением пиков будет идентифицировать те же местоположения пиков, что и люди-аннотаторы; Затем я взял на себя обязательство исключить из своего тренировочного набора все следы, на которые это ожидание не распространяется. Моей мотивацией для этого решения было то, что, хотя хорошо разработанный алгоритм может хорошо справляться с шумом при обучении примеров, допущение слишком большой неопределенности при обучении меток будь верным билетом на провал!

Этот процесс проверки по-прежнему оставил мне около 46 чистых трасс, пример которых контрастирует с одной из исключенных трасс на рисунке ниже. Для каждой из этих оставшихся трасс грудного импеданса я использовал функцию find_peaks (из известной библиотеки SciPy) для выполнения обнаружения. Я установил минимальное расстояние как время (в секундах), необходимое для дыхания с произвольно высокой частотой 30 вдохов/мин — чтобы служить верхним пределом — умноженное на частоту дискретизации (125 Гц). ) данных. Это,

расстояние = (60 сек)/(30 вдохов/1 мин) * (125 Гц) = 250 единиц/дыхание

Логика здесь заключалась в том, что последовательные искусственные пики не должны учитываться, если они расположены более близко друг к другу, чем частые вдохи человека, который дышит с некоторой заданной тахипнойной скоростью. Выбор значения 30 (а не, скажем, 35) вдохов в минуту означает, что можно ожидать, что окончательный алгоритм будет работать намного ниже этого значения, но это можно легко изменить позже.

Одно дыхание, два дыхания — красное дыхание, синее дыхание

Чтобы идентифицировать вдохи по изменениям амплитуды ФПГ, я воспользовался бесценным открытием: я понял, что если вдохи происходят один раз за каждый цикл вверх-вниз пиковых высот ФПГ, можно было бы подсчитать дыхания с другой серией обнаружения пиков. Во-первых, отдельные пики в исходной форме сигнала ФПГ должны быть обнаружены способом, аналогичным импедансу — однако на этот раз я подставил минимальное расстояние вместо значения выдающегося положения пика, основанного на квантиле распределения. значений PPG в заданном временном окне.

Обнаружение пиков с заметностью находит максимумы, которые превышают соседние значения в сигнале на заданную величину; больше не нужно было ограничивать возможные значения числа вдохов в минуту тем же диапазоном 0–30, который я использовал для меток торакального импеданса, а нужно было посмотреть, что должен был сказать алгоритм, когда он работал только с информацией об амплитуде. После обнаружения пики использовались для отслеживания верхней огибающей полной формы волны ФПГ, и было выполнено еще одно обнаружение пиков для разграничения последовательных дыхательных циклов. Здесь параметр заметности был выражен как доля стандартного отклонения значений PPG в вышеупомянутом временном окне, чтобы зафиксировать изменяющуюся амплитуду сигнала, но при этом исключить выбросы. Это, как и другие параметры, можно изменить, не влияя на концептуальный поток моего конвейера.

Для моей версии расчета дыхания по частоте был реализован еще один процесс обнаружения пиков. Необходимо было создать вспомогательную форму сигнала, представляющую временные расстояния между пиками PPG, на которой затем можно было бы работать обнаружение пиков с заметностью. Идея состоит в том, чтобы зафиксировать цикл увеличения и уменьшения интервалов между пиками PPG в заданном временном окне. Строго говоря, в таком виде метод будет определять момент между выдохом и вдохом — нечто подобное можно сказать и об амплитудном подходе, поскольку уменьшение амплитуды означает уменьшение сердечного выброса ( в частности, ударный объем левого желудочка — но то, что я здесь называю амплитудой, также включает в себя базовые вариации сигнала ФПГ, физиологическое происхождение которых столь же хорошо изучено). Поскольку эта вспомогательная кривая, значения которой представляют время между отдельными пиками в исходном сигнале ФПГ, часто была довольно резкой или зубчатой, я сначала подогнал к ней кубический сплайн и использовал максимумы сплайна для подсчета пиков.

Каждый метод — уже используемый частотный подход и амплитудный, который я ввел после изучения некоторой литературы по дыхательной деривации* — имел свои преимущества и недостатки. Как я и подозревал на ранних этапах разработки моего алгоритма, можно получить более точную оценку частоты дыхания, сочетая два независимых метода, а не используя прогнозы по отдельности. Пример проиллюстрирован ниже: в среднем по пациентам ошибка (абсолютный остаток) в подсчете дыхания для данной минуты записи PPG снижается даже при использовании наивного средневзвешенного значения 50/50 двух результатов.

*См. отзывы вышеупомянутого исследователя.

Назад в будущее (из анализа PPG)

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

Эти препятствия можно было бы смягчить, проанализировав (к счастью, доступные) трехмерные данные акселерометра, которые сопровождали те записи PPG, которые мне представили; тем не менее, это вывело бы меня за рамки трехнедельного проекта, для которого меня наняли. Вместо этого я пожертвовал количеством ради качества и решил сосредоточиться конкретно на одном получасовом периоде сна, примерно через час после отхода ко сну, для примерно 65 записей, где можно было найти такой период. Эта часть ночи, когда сон предположительно был более глубоким, могла иметь минимальные нарушения.

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

Превращение проблемы обработки сигналов в экономическое обоснование машинного обучения

Перспектива комбинирования или переключения между амплитудными и частотными методами для оценки частоты дыхания человека щекотала мое «информационно-теоретическое / физико-теоретическое» воспитание и чувства. А именно, объединение нескольких потоков минимально избыточной, но все же перекрывающейся информации обещало качественный скачок как в точности, так и в надежности.

Как подающему надежды специалисту по данным, мне пришла в голову дополнительная перспектива, заключавшаяся в том, что подходящая, не обязательно 50/50 схема взвешивания может быть (машинно) обучена из данных. Не в последнюю очередь меня, как будущего бизнесмена, особенно интересовала возможность автоматической адаптации этого гиперпараметра, который нужно изучить, — веса — в соответствии с потребностями отдельного пользователя.

Давайте раскроем этот последний пункт. Ранее, в моем обсуждении того, как дыхание влияет на частоту пульса, я упомянул тот факт, что люди, принадлежащие к определенным медицинским группам или демографическим группам, могут, скажем, иметь притупленную частотную модуляцию. Я предложил своему клиенту, чтобы их предложение могло включать в себя обучение, даже апостериорное, для лучшего обнаружения дыхания путем: 1) уравновешивания или усреднения оценок амплитуды и частоты способом, специально адаптированным для человека , или даже 2), чтобы заранее предсказать, какое среднее значение должно быть сделано (каков относительный вклад, который она должна иметь от оценок, основанных на амплитуде и частоте), с помощью пользовательского ввода.

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

Например, привлечение пользователей и новых регистраций может улучшиться, если клиенты осознают тот факт, что развернутые алгоритмы, например, измеряющие их частоту дыхания, хорошо работают для их. Сегментация популяций также полезна здесь для дальнейших исследований, в которых сложные характеристики сигналов PPG, помимо «амплитуды» и «частоты», могут быть идентифицированы — автоматически и заранее — для информирования о том, как несколько аспектов сигнала могут быть объединены до того, как какой-либо пользовательский ввод будет выполнен. взятый. Весь алгоритмический конвейер также можно перевернуть с ног на голову, чтобы помочь диагностировать острые или хронические состояния, связанные с дыханием.

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

На следующем графике можно увидеть один выбор различных результатов обучения. В самом первом столбце, соответствующем анализу записи сна субъекта № 3243, оба алгоритма не смогли оценить частоту дыхания в нормальном физиологическом диапазоне; это могло быть связано с неожиданными артефактами движения, плохим разрешением пиковой амплитуды / частоты PPG или и тем, и другим.

Двигаясь вправо, в следующих двух столбцах частотный метод постоянно завышал частоту дыхания испытуемых, в то время как амплитуда занижалась (систематическая недооценка в прогнозах на основе амплитуды, скорее всего, может быть скорректирована путем настройки чувствительности параметров обнаружения пика, как кратко отмечено выше). В целом, «комбинированная» оценка смогла близко приблизиться к целевым значениям.

Наконец, в последних четырех столбцах показано, что происходит, когда один из двух методов дает прогноз, гораздо более близкий к цели, чем прогноз другого: алгоритмический конвейер выбирает более близкую оценку по принципу «все или ничего». Эта последняя ситуация представляет исключительный интерес в случае пользователя (например), стенки артерии которого просто не могут расслабиться в требуемом масштабе времени для хорошего разрешения по частоте, или чьи пиковые амплитуды PPG могут быть установлены, но минимально изменяются с точки зрения пациента. датчик.

До новой встречи

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

Как Data Scientist я в восторге от того, что могу внести свой вклад в крупные усилия по предоставлению людям возможности контролировать свою физиологию и дыхание в домашних условиях с помощью уникальных высоко персонализированных расчетов частоты дыхания. Такие инструменты могут ускорить разработку флажков раннего обнаружения и инструментов предварительной проверки на дому, которые — сейчас, возможно, более чем когда-либо — актуальны, учитывая надвигающуюся угрозу COVID-19. Учитывая, что на горизонте появилась возможность лечения с помощью ФПГ таких хронических заболеваний, как ХОБЛ, астма и апноэ во сне, я с оптимизмом смотрю на то, что это еще один шаг в правильном направлении.

— JLN