Алгоритмы рекомендаций, прогнозирования событий или оценки рисков являются актуальным решением в банках, страховых компаниях и многих других секторах бизнеса.
Например, эти программы помогают на основе анализа данных спрогнозировать, когда клиент погасит банковский кредит, какой будет спрос в ритейле, какова вероятность страхового случая или оттока клиентов в сфере связи и т.д. Для бизнеса это — это ценная возможность оптимизировать свои затраты, увеличить скорость работы и в целом улучшить сервис.
В то же время традиционные подходы — классификация и регрессия — не подходят для построения таких программ.
Давайте рассмотрим эту проблему на примере кейса, посвященного прогнозированию медицинских эпизодов: проанализируем нюансы характера данных и возможных подходов к моделированию, построим модель и проанализируем ее качество.
Проблема прогнозирования медицинских эпизодов
Мы прогнозируем эпизоды на основе анализа исторических данных.Набор данных состоит из двух частей.
Первый – это данные об услугах, ранее оказанных пациенту.
Эта часть набора данных включает в себя социально-демографические данные о пациенте, такие как возраст и пол, а также диагнозы, поставленные ему в разные моменты времени в кодировке ICD10-CM [1] и процедуры, выполненные по HCPCS [2].
Эти данные формируют последовательности во времени, которые позволяют получить представление о состоянии пациента в интересующий момент. Для обучения моделей, а также для работы на производстве достаточно персонализированных данных.
Вторая часть набора данных представляет собой список эпизодов, которые произошли с пациентом.
Для каждого эпизода мы указываем его тип и дату возникновения, а также период времени, включенные услуги и другую информацию.
На основе этих данных формируются целевые переменные для прогнозирования.
В решаемой задаче важен аспект времени: нас интересуют лишь эпизоды, которые могут произойти в ближайшем будущем.
С другой стороны, набор данных, имеющийся в нашем распоряжении, был собран в течение ограниченного периода времени, за пределами которого данных нет. Таким образом, мы не можем сказать, происходят ли эпизоды вне периода наблюдения, что это за эпизоды и в какой момент времени они происходят. Такая ситуация называется правой цензурой.
Левая цензура происходит аналогичным образом: у некоторых пациентов эпизод может начать развиваться раньше, чем доступно нашему наблюдению.
Для нас это будет выглядеть как эпизод, возникший без какой-либо предыстории.
Существует еще один вид цензурирования данных – прерывание наблюдения (если период наблюдения не завершен и событие не произошло).
Например, из-за переезда пациента, сбоя в системе сбора данных и так далее.
На рис.
1 схематически показаны различные виды цензуры данных.
Все они искажают статистику и затрудняют построение модели.
Примечания: 1 – нецензурированные наблюдения; 2, 3 – левая и правая цензура соответственно; 4 – цензурирование слева и справа одновременно;
5 – перерыв наблюдения.
Еще одна важная особенность набора данных связана с характером потока данных в реальной жизни.
Некоторые данные могут поступать с опозданием, и в этом случае они недоступны на момент прогнозирования.
Чтобы учесть эту особенность, необходимо дополнить набор данных, удалив несколько элементов из хвоста каждой последовательности.
Классификация и регрессия
Естественно, первой мыслью было бы свести задачу к известной классификации и регрессии.Однако эти подходы сталкиваются с серьезными трудностями.
Почему регрессия нам не подходит, понятно из рассмотренных явлений правой и левой цензуры: распределение времени появления эпизода в наборе данных может смещаться.
При этом величину и сам факт наличия этой систематической ошибки невозможно определить с помощью самого набора данных.
Построенная модель может показывать сколь угодно хорошие результаты при любых подходах проверки, но это, скорее всего, не будет иметь никакого отношения к ее пригодности для прогнозирования на производственных данных.
На первый взгляд более перспективной выглядит попытка свести задачу к классификации: установить некий промежуток времени и определить эпизод, который произойдет в этот период. Основная трудность здесь заключается в привязке к интересующему нас периоду времени.
Его можно достоверно связать только со временем последнего обновления истории болезни пациента.
При этом запрос на прогнозирование эпизода совершенно не привязан ко времени и может прийти в любой момент, как внутри этого интервала (и тогда эффективный период интереса сокращается), так и даже за его пределами — и тогда прогноз теряется.
его смысл в целом (см.
рис.
2).
Это, естественно, способствует увеличению периода интереса, что в конечном итоге все же снижает ценность прогноза.
Примечания: 1 – обновление истории болезни; 2 – последнее обновление и связанный с ним период времени; 3, 4 – запросы на прогнозирование эпизодов, полученные в этот период. Видно, что эффективный интервал прогнозирования для них короче; 5 – запрос получен вне интервала.
Для него прогнозирование невозможно.
Анализ выживания
В качестве альтернативы можно рассмотреть подход в отечественной литературе, называемый анализом выживания, или анализом времени до события [3].Это семейство моделей, созданных специально для работы с цензурированными данными.
Он основан на аппроксимации функции риска (функции риска, интенсивности возникновения событий), которая оценивает распределение вероятности наступления события во времени.
Такой подход позволяет корректно учитывать наличие разных видов цензуры.
Для решаемой задачи такой подход дополнительно позволяет объединить в одной модели оба аспекта проблемы: определение типа эпизода и прогнозирование времени его возникновения.
Для этого достаточно построить отдельную модель для каждого типа эпизода, аналогично подходу «один против всех» в классификации.
Тогда возникновение нецелевого эпизода можно интерпретировать как исключение объекта из наблюдаемой выборки без возникновения события, что является еще одним видом цензурирования данных и также корректно учитывается моделью.
Такая интерпретация верна и с точки зрения бизнес-логики: если пациенту была сделана операция по удалению катаракты, это не исключает возможности возникновения в будущем других эпизодов.
Среди семейства моделей анализа выживания можно выделить два типа: аналитические и регрессионные.
Аналитические модели носят чисто описательный характер; они строятся для всей популяции, не учитывают особенностей ее отдельных членов и поэтому могут лишь предсказать наступление события для некоторого типичного члена популяции.
В отличие от аналитических моделей, регрессионные модели строятся с учетом особенностей отдельных членов популяции и позволяют делать прогнозы также и для отдельных членов с учетом их характеристик.
в решаемой задаче использовалась именно эта разновидность, точнее, модель пропорциональных рисков Кокса (далее CoxPH).
Регрессия выживания и хирургия катаракты
Самый простой подход будет похож на обычную регрессию: на выходе возьмем математическое ожидание времени наступления события.Поскольку CoxPH принимает входные данные в виде числового вектора, а наш набор данных представляет собой, по сути, последовательность кодов диагностики и процедур (категориальные данные), требуется предварительное преобразование данных:
- Перевод кодов во встроенное представление с использованием предварительно обученной модели GloVe [4];
- Агрегация всех кодов, имеющихся в последнем периоде истории болезни пациента, в единый вектор;
- Горячее кодирование пола и возраста пациента.
Полученная модель демонстрирует следующие значения индекса конкордантности (c-индекс или c-статистика) [5]:
- 0,71 при 5-кратной проверке;
- 0,69 на отложенной выборке.
Однако если вы посмотрите на среднюю абсолютную ошибку между прогнозируемым ожидаемым временем возникновения эпизода и фактическим временем, то окажется, что ошибка составляет 5 дней.
Причина такой большой ошибки в том, что оптимизация по c-индексу гарантирует только правильность порядка значений: если одно событие должно произойти раньше другого, то прогнозируемые значения ожидаемого времени до появления событий будут едины.
меньше другого соответственно.
Однако никаких заявлений относительно самих прогнозируемых значений не делается.
Еще одним возможным выходным значением модели является таблица значений функции риска в разные моменты времени.
Этот вариант имеет более сложную структуру, его сложнее интерпретировать по сравнению с предыдущим, но в то же время он дает больше информации.
Изменение формата вывода требует иного способа оценки качества модели: нам необходимо обеспечить, чтобы положительные примеры (когда эпизод происходит) имели более высокий уровень риска, чем отрицательные примеры (когда эпизод не происходит).
Для этого для каждого прогнозируемого распределения функции риска на отложенной выборке будем переходить от таблицы значений к одному значению – максимальному.
Подсчитав медианные значения для положительных и отрицательных примеров, мы видим, что они достоверно различны: 0,13 против 0,04 соответственно.
Далее мы будем использовать эти значения для построения ROC-кривой и вычисления площади под ней — ROC AUC, которая равна 0,92, что приемлемо для решаемой задачи.
Заключение
Таким образом, мы увидели, что анализ выживаемости — это подход, наиболее подходящий для решения задачи прогнозирования медицинских событий с учетом всех нюансов проблемы и имеющихся данных.Однако его использование требует другого формата выходных данных модели и другого подхода к оценке ее качества.
Применение модели CoxPH для прогнозирования эпизодов операции по удалению катаракты привело к получению приемлемых показателей качества модели.
Подобный подход можно применить и к другим типам эпизодов, однако конкретные показатели качества модели можно оценить только непосредственно в процессе моделирования.
Литература
[1] Клиническая модификация МКБ-10. en.wikipedia.org/wiki/ICD-10_Clinical_Modification [2] Общая система кодирования процедур здравоохранения en.wikipedia.org/wiki/Healthcare_Common_Procedure_Coding_System [3] Анализ выживаемости ru.wikipedia.org/wiki/Survival_anaанализ [4] GloVe: глобальные векторы для представления слов.nlp.stanford.edu/projects/glove [5] C-статистика: определение, примеры, взвешивание и значимость.
www.statisticshowto.datasciencecentral.com/c-statistic [6] В.
К.
Райкар и др.
О ранжировании в анализе выживания: границы индекса конкордантности papers.nips.cc/paper/3375-on-ranking-in-survival-analysis-bounds-on-the-concordance-index.pdf Теги: #Машинное обучение #математика #наука о данных #Интеллектуальный анализ данных
-
Русская Документация По Php?
19 Oct, 24 -
Как Я Пытался Взломать Биткойн
19 Oct, 24