Источник данных
Это исследование было ретроспективным анализом, основанным на базе данных Medical Information Mart for Intensive Care IV (MIMIC-IV, версия 3.1), общедоступной базе данных по интенсивной терапии, размещённой на PhysioNet (https://physionet.org/content/mimiciv/3.1/). База данных была разработана в результате сотрудничества между Лабораторией вычислительной физиологии Массачусетского технологического института, Медицинским центром Бет Израэль Диконисс и компанией Philips и содержит комплексные деидентифицированные клинические данные, включая демографическую информацию, жизненно важные показатели, лабораторные измерения и медицинские записи.
Все данные пациентов в MIMIC-IV полностью деидентификацированы в соответствии с Законом о переносимости и подотчётности медицинского страхования (HIPAA), поэтому для этого исследования не требовалось одобрения институционального контрольного совета (IRB). Использование базы данных регулируется соглашением об использовании данных (DUA), и доступ предоставляется только авторизованным пользователям, прошедшим необходимое обучение и сертификацию. Авторы прошли необходимое обучение, получили доступ к удостоверению (пользователь с аккредитацией PhysioNet) и провели исследование в соответствии со всеми соответствующими нормативами по использованию данных.
Изучение популяции и извлечение данных
Взрослые пациенты (≥18 лет), прошедшие нейрохирургические операции по позвоночной хирургии, были выявлены из базы данных MIMIC-IV с использованием кодов ICD, связанных с процедурами. Нейрохирургические процедуры по спинному мозгу определялись как коды ICD-9, начинающиеся с 03 (операции на спинном мозге и спинномозговом канале), а коды ICD-10 начинаются с 00B, 00H, 00J, 00N, 00P, 00Q, 00R, 00S, 00T или 00U (процедуры, связанные со спинным мозгом). Для пациентов с несколькими госпитализациями сохранялась только первая поступка, включающая соответствующую процедуру, чтобы избежать повторных измерений от одного и того же человека.
Исходная переменная, остеопороз, была определена на основе кодов ICD-9, начинающихся с 733, и кодов ICD-10, начинающихся с M80, M81 или M82, зафиксированных при поступлении по индексу. Поскольку и предикторы, и исход были получены из одной и той же госпитализации, аналитическая задача в этом исследовании была сформулирована как госпитальная классификация, а не прогнозирование перспективного риска.
Всего 10 803 пациента соответствовали критериям включения. После стратифицированного разделения набор данных делился на обучающий набор (n = 7 561), валидационный набор (n = 1 621) и тестовый набор (n = 1 621). Распределение классов было сильно дисбалансировано на всех разделах. В наборе обучения 499 пациентов (6,60%) были положительными на остеопороз и 7 062 (93,40%) — остеопорозом. В валидационном наборе 107 пациентов (6,60%) были положительными, а 1 514 (93,40%) — отрицательными. Тестовый набор показал такое же распределение: 107 положительных (6,60%) и 1 514 отрицательных (93,40%) случаев.
Клинические данные были извлечены с помощью программного обеспечения для управления реляционными базами данных из MIMIC-IV. Извлеченные переменные включали демографические характеристики (например, возраст и пол), лабораторные измерения, жизненно важные показатели и записи о медикаментах. Для каждого пациента для последующей конструкции признаков использовались данные из индексного приёма.
Для обеспечения корректности оценки модели набор данных сначала был разделён на обучающие, валидационные и тестовые наборы с использованием стратифицированной выборки (70%, 15% и 15%)3,7. Все последующие этапы предварительной обработки, способные ввести смещение, включая выбор признаков и повторную дискретизацию, выполнялись исключительно внутри обучающего набора. Дисбаланс классов в обучающем наборе был устранен с помощью комбинации понижения выборки большинства и синтетической техники перевыборки меньшинств (SMOTE), в то время как валидационные и тестовые наборы сохранили исходное распределение классов для отражения реальной распространённости.
Инженерия особенностей
Был реализован многоступенчатый конвейер инженерии признаков для повышения производительности модели при сохранении интерпретируемости. Для каждого пациента медикаменты, лабораторные и жизненные показатели из индексного поступления были агрегированы в сводные характеристики (например, средние значения для повторных измерений и среднее воздействие медикаментов).
Для снижения разреженности признаков были исключены кандидатные группы признаков с отсутствующими значениями более 30%. Чтобы избежать утечки данных, этот этап фильтрации выполнялся исключительно с помощью обучающего набора, а затем тот же набор функций применялся к валидационным и тестовым наборам.
Впоследствии на уровне группы признаков был проведён скрининг одномерных признаков с использованием теста Mann– Whitney U для сравнения распределения между пациентами с положительным на остеопороз и отрицательным на остеопороз. Группы признаков ранжировались по статистической значимости, а топ-k группы (k = 20) сохранялись для моделирования ниже по потоку. Эта процедура отбора также проводилась исключительно внутри учебного набора, чтобы предотвратить утечку информации.
Учитывая относительно высокую степень отсутствия между кандидатными группами признаков, основная задача этого этапа отбора из верхней тысячи заключалась в отсеивании признаков со слабыми статистическими сигналами, а не в строго оптимизации размерности признаков. На практике производительность модели не была высокочувствительна к точному значению k в разумном диапазоне, что говорит о том, что этот этап в основном служил процедурой скрининга, ориентированной на устойчивость, чтобы исключить малоинформативные признаки при сохранении клинически значимых сигналов.
Основные демографические характеристики сохранились во всех моделях. Недостающие значения в этих демографических переменных были введены с помощью среднего значения, рассчитанного из обучающего набора. Среднее вычисление было выбрано за простоту и стабильность в этом большом наборе данных, хотя оно может снижать дисперсию и вводить смещение; Это ограничение признаётся.
Для выбранных признаков медикаментов, лаборатории и жизненно важных показателей отсутствие зафиксированного измерения или воздействия кодировалось как ноль для обеспечения последовательного числового ввода для обучения моделей. Мы признаём, что такой подход может смешивать истинные нулевые значения с отсутствием или отсутствием экспозиции, особенно для переменных, где ноль физиологически не имеет значения. Однако эта стратегия кодирования применялась последовательно во всех выборках и сопровождалась стандартизацией Z-score, которая снижает искажения, связанные с масштабированием. Потенциальное влияние этого предположения рассматривается как ограничение.
Все численные признаки стандартизировались с помощью нормализации Z-score на основе среднего и стандартного отклонения, оценённого от обучающего набора:
z = (x — μ)/σ
Где x обозначает исходное значение признаков, а μ и σ обозначают среднее и стандартное отклонение, вычисленное от обучающего множества. Категориальные переменные кодировались численно для удовлетворения входных требований моделей глубокого обучения.
Эта стратегия инженерии признаков позволила систематически снизить размерность при сохранении клинически значимых областей, включая демографию, функцию почек, гематологические индексы, воспалительные маркеры и метаболические параметры. Подробные базовые характеристики исследуемой популяции по обучающему, валидационному и тестовому набору представлены в Таблице 1.
| Особенности | Total | Тренировочный набор | Валидационный набор | Тестовый набор | Значение p |
| (n=5238) | (n=1996) | (n=1621) | (n=1621) |
| Пол | | <0.001 |
| Мужской | 2477 (47.29%) | 834 (41.78%) | 797 (49.17%) | 846 (52.19%) | |
| Женский | 2761 (52.71%) | 1162 (58.22%) | 824 (50.83%) | 775 (47.81%) | |
| Возраст | 60.69 (48.29, 70.61) | 63.45 (52.00, 72.41) | 58.00 (46.00, 69.00) | 60.00 (46.00, 70.00) | <0.001 |
| Высота | 165.23 (160.79, 171.21) | 164.25(161.41, 172.23) | 166.32 (161.85, 171.22) | 165.22 (161.31, 169.89) | <0.001 |
| Вес | 72.01 (56.77, 82.46) | 75.45 (63.22, 81.45) | 70.55 (60.22, 79.33) | 73.62 (65.22, 81.88) | <0.001 |
| Сенна | 1.00 (-0.73, 8.60) | 1.00 (-0.30, 8.60) | 1.00 (-1.00, 8.60) | 1.00 (-1.00, 8.60) | <0.001 |
| Docusate натрий | 100.00 (100.00, 100.00) | 100.00 (100.00, 100.00) | 100.00 (100.00, 100.00) | 100.00 (100.00, 100.00) | 0.001 |
| Гепарин | 5000.00 (1655.28, 5000.00) | 5000.00 (-1.00, 5000.00) | 5000.00 (1600.00, 5000.00) | 5000.00 (3750.00, 5000.00) | 0.292 |
| Хлорид натрия 0,9% Промывка | 3.00 (1.76, 3.00) | 3.00 (3.00, 3.00) | 3.00 (-1.00, 3.00) | 3.00 (3.00, 3.00) | <0.001 |
| Эритроциты | 3.96 (3.51, 4.35) | 3.90 (3.49, 4.28) | 4.02 (3.53, 4.40) | 3.97 (3.50, 4.38) | <0.001 |
| Гемоглобин | 11.81 (10.51, 13.02) | 11.66 (10.47, 12.82) | 11.91 (10.58, 13.14) | 11.90 (10.49, 13.15) | <0.001 |
| RDW | 13.98 (13.22, 15.15) | 14.12 (13.35, 15.24) | 13.90 (13.10, 15.06) | 13.90 (13.18, 15.13) | <0.001 |
| Гематокрит | 35.67 (31.95, 39.00) | 35.32 (31.63, 38.50) | 36.00 (32.28, 39.37) | 35.77 (32.01, 39.25) | <0.001 |
| Удельный вес | 1.01 (1.01, 1.02) | 1.01 (1.01, 1.02) | 1.01 (1.01, 1.02) | 1.01 (1.01, 1.02) | <0.001 |
| Бикарбонат | 25.72 (24.04, 27.15) | 25.86 (24.17, 27.27) | 25.65 (23.92, 27.03) | 25.62 (24.00, 27.12) | <0.001 |
| Нейтрофилы | 68.67 (60.52, 76.23) | 69.41 (61.90, 76.52) | 68.10 (59.60, 75.88) | 68.34 (59.75, 76.23) | <0.001 |
| Креатинин | 0.82 (0.68, 1.02) | 0.81 (0.68, 1.00) | 0.83 (0.69, 1.02) | 0.83 (0.68, 1.03) | <0.001 |
| Фосфат | 3.29 (2.92, 3.64) | 3.27 (2.93, 3.57) | 3.30 (2.93, 3.69) | 3.30 (2.90, 3.65) | 0.002 |
| Азот мочевины | 15.43 (12.08, 20.18) | 15.74 (12.50, 20.20) | 15.00 (11.64, 19.89) | 15.48 (12.00, 20.43) | <0.001 |
| Лимфоциты | 19.12 (12.22, 26.15) | 18.81 (12.49, 25.30) | 19.36 (12.40, 27.07) | 19.24 (11.72, 26.27) | 0.001 |
| Аланинаминотрансфераза (ALT) | 20.49 (10.84, 32.82) | 20.47 (11.67, 32.06) | 20.00 (10.00, 32.93) | 21.00 (10.67, 33.67) | 0.3283 |
| MCV | 90.90 (87.50, 94.32) | 91.03 (87.64, 94.51) | 90.64 (87.43, 94.00) | 91.00 (87.40, 94.40) | <0.001 |
| MCHC | 33.14 (32.37, 33.92) | 33.11 (32.37, 33.88) | 33.16 (32.38, 33.97) | 33.16 (32.35, 33.93) | <0.001 |
| Базофилы | 0.42 (0.27, 0.61) | 0.41 (0.27, 0.59) | 0.45 (0.29, 0.63) | 0.41 (0.26, 0.60) | 0.037 |
Таблица 1. Исходные характеристики изучаемой популяции стратифицированы по обучению, валидации и тестовым наборам.
Архитектура модели
Для моделирования сложных взаимосвязей между гетерогенными табличными клиническими признаками мы использовали архитектуру на базе TabTransformer, реализованную с использованием фреймворкаPyTorch 6. Модель была разработана для обработки как категорической, так и числовой переменной, а также для фиксации контекстуальных взаимодействий между признаками с помощью механизма самосознания.
Входное представление
Категориальные переменные сначала преобразовывались в плотные вложения. Каждая категориальная особенность отображалась в вектор вложения размерности d(embedding_dim = 256). Численные признаки стандартизировались с помощью нормализации Z-score и затем проецировались в то же пространство вложения через слой линейного преобразования, что позволяло совместную обработку с категориальными признаками.
Вложенные векторы признаков объединялись в последовательность токенов:
X = [x1,x 2,... xn]
где каждое xi ∈ R d представляет встроенный признак.
Кодировщик трансформатора
Конкатенированные вложения признаков проходили через стек слоёв кодировщиков трансформаторов (num_layers = 3). Каждый слой состоял из многоголовного самовнимания, за которым следовала сеть прямого сигнала по позициям.
Механизм многоголового самовнимания определяется как:
—> Внимание(Q,K,V) = softmax
V
Где Q, K и V обозначают матрицы запроса, ключа и значения. Для захвата различных взаимодействий признаков использовались несколько голов внимания (num_heads = 8).
Каждый блок трансформатора включал многоголовную самоконцентрацию, остаточное соединение и нормализацию слоёв, сеть с прямой передачей, перерыв (скорость = 0,243).
Агрегация и классификация признаков
Выход последнего слоя трансформатора был сжат и проходил через многослойный перцептрон (MLP) для классификации. MLP состоял из одного или нескольких полностью связанных слоёв с нелинейными функциями активации.
Последний выходной слой использовал сигмовидную активационную функцию для получения предсказанной вероятности остеопороза:
—>
= σ(z)
Где z — логитный выход.
Функция потерь и стратегия тренировки
Модель была обучена с использованием бинарных потерь кросс-энтропии:
—> L = −(1/N) Σ [ yi log(ŷi) + (1 −y i) log(1 − ŷi) ]
гдеy i обозначает истинную метку, а
i — предсказанную вероятность.
Модель была оптимизирована с помощью оптимизатора Адама (скорость обучения = 1.9e-4, размер пакета = 64) для 100 эпох. Ранняя остановка применялась на основе валидационных показателей (терпение = 15), чтобы предотвратить перенагон. Для поддержки воспроизводимости все экспериментальные процедуры проводились с использованием постоянного случайного семя (семя = 42).
Интерпретируемость моделей
Для повышения интерпретируемости к обученной модели применялись SHapley Additive exPlanations (SHAP). Значения SHAP рассчитывались на тестовом наборе для количественной оценки вклада каждой особенности в прогнозируемый результат, что позволило интерпретировать поведение модели как на глобальном, так и на индивидуальном уровне.
Как показано на рисунке 1, рабочий процесс обобщает процесс от предварительной обработки данных MIMIC-IV до построения и классификации моделей. Архитектура TabTransformer фиксирует взаимодействия между гетерогенными табличными элементами через самосознание, а визуализация на основе SHAP предоставляет интерпретируемые представления о вкладе признаков. Эта структура позволяет провести внутренне валидированный анализ паттернов, связанных с остеопорозом, в гетерогенной нейрохирургической когорте спинного мозга.

Рисунок 1. Изучайте рабочие процессы и архитектуру моделей. Этот рисунок иллюстрирует общий дизайн исследования, включая отбор когорт, предварительную обработку данных, инженерию признаков, разделение наборов данных и разработку моделей. Также он обобщает архитектуру TabTransformer, используемую для классификации, включая встраивание признаков, слои кодировщиков Transformer и итоговый результат классификации. Включался только первый квалифицированный госпитализация на каждого пациента. Пожалуйста, нажмите здесь, чтобы увидеть увеличенную версию этой фигуры.