$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Fonte dei dati
Questo studio è stato un'analisi retrospettiva basata sul database Medical Information Mart for Intensive Care IV (MIMIC-IV, versione 3.1), un database pubblico di cure critiche ospitato su PhysioNet (https://physionet.org/content/mimiciv/3.1/). Il database è stato sviluppato grazie a una collaborazione tra il Laboratorio di Fisiologia Computazionale del Massachusetts Institute of Technology, il Beth Israel Deaconess Medical Center e Philips, e contiene dati clinici completi e de-identificati, tra cui informazioni demografiche, segni vitali, misurazioni di laboratorio e cartelle dei farmaci.
Tutti i dati dei pazienti in MIMIC-IV sono completamente de-identificati in conformità con la Health Insurance Portability and Accountability Act (HIPAA), e pertanto questo studio non ha richiesto l'approvazione del comitato di revisione istituzionale (IRB). L'uso del database è regolato da un accordo di utilizzo dei dati (DUA) e l'accesso è concesso solo agli utenti autorizzati che hanno completato la formazione e la certificazione richieste. Gli autori hanno completato la formazione necessaria, ottenuto le credenziali di accesso (utente accreditato da PhysioNet) e hanno condotto questo studio in conformità con tutte le normative pertinenti sull'uso dei dati.
Studio della popolazione e dell'estrazione dei dati
I pazienti adulti (≥18 anni) che si sono sottoposti a interventi neurochirurgici spinali sono stati identificati dal database MIMIC-IV utilizzando codici ICD correlati alla procedura. Le procedure neurochirurgiche spinali sono state definite come codici ICD-9 a partire da 03 (operazioni sul midollo spinale e canale spinale) e come codici ICD-10 a partire da 00B, 00H, 00J, 00N, 00P, 00Q, 00R, 00S, 00T o 00U (procedure correlate al midollo spinale). Per i pazienti con più ricoveri ospedalieri, è stata mantenuta solo la prima ammissione contenente una procedura qualificante per evitare misurazioni ripetute da parte dello stesso individuo.
La variabile di risultato, l'osteoporosi, è stata definita sulla base dei codici ICD-9 che iniziano con 733 e dei codici ICD-10 che iniziano con M80, M81 o M82 registrati durante l'ammissione dell'indice. Poiché sia i predittori che l'esito sono stati derivati dalla stessa ricovera, il compito analitico in questo studio è stato inquadrato come una classificazione ospedaliera piuttosto che come previsione prospettica del rischio.
Un totale di 10.803 pazienti ha soddisfatto i criteri di inclusione. Dopo la suddivisione stratificata, il dataset è stato suddiviso in un set di addestramento (n = 7.561), un set di validazione (n = 1.621) e un set di test (n = 1.621). La distribuzione delle classi era altamente sbilanciata su tutte le partizioni. Nel set di addestramento, 499 pazienti (6,60%) erano osteoporosi positivi e 7.062 (93,40%) erano osteoporosi negativi. Nel gruppo di validazione, 107 pazienti (6,60%) erano positivi e 1.514 (93,40%) negativi. Il set di test ha mostrato la stessa distribuzione, con 107 casi positivi (6,60%) e 1.514 negativi (93,40%).
I dati clinici sono stati estratti utilizzando software di gestione di database relazionali da MIMIC-IV. Le variabili estratte includevano caratteristiche demografiche (ad esempio, età e sesso), misurazioni di laboratorio, parametri vitali e referenze dei farmaci. Per ogni paziente, sono stati utilizzati i dati dell'ammissione indice per la successiva costruzione delle caratteristiche.
Per garantire una valutazione valida del modello, il dataset è stato inizialmente suddiviso in set di addestramento, validazione e test utilizzando campionamenti stratificati (70%, 15% e 15%)3,7. Tutti i passaggi successivi di preprocessing che potevano introdurre bias, inclusa la selezione delle caratteristiche e il recampionamento, venivano eseguiti esclusivamente all'interno del set di addestramento. Il disequilibrio di classe nel set di addestramento è stato affrontato utilizzando una combinazione di downsampling della classe maggioritaria e Synthetic Minority Over-sampling Technique (SMOTE), mentre i set di validazione e test hanno mantenuto la distribuzione originale delle classi per riflettere la prevalenza reale.
Ingegneria delle caratteristiche
È stata implementata una pipeline di feature engineering a più stadi per migliorare le prestazioni del modello mantenendo l'interpretabilità. Per ogni paziente, i dati medici, di laboratorio e dei segni vitali provenienti dall'ammissione indice sono stati aggregati in caratteristiche a livello di sommario (ad esempio, valori medi per misurazioni ripetute ed esposizione media per i farmaci).
Per ridurre la scarsità delle caratteristiche, sono stati esclusi i gruppi candidati con valori mancanti superiori al 30%. Per evitare perdite di dati, questo passaggio di filtraggio veniva eseguito esclusivamente utilizzando il set di addestramento, e lo stesso set di funzionalità veniva poi applicato ai set di validazione e test.
Successivamente, lo screening delle caratteristiche univariate è stato condotto a livello di gruppo di caratteristiche utilizzando il test U di Mann–Whitney per confrontare le distribuzioni tra pazienti positivi all'osteoporosi e negativi. I gruppi di caratteristiche sono stati classificati in base alla significanza statistica, e i gruppi con i primi k (k = 20) sono stati mantenuti per la modellazione a valle. Questa procedura di selezione è stata eseguita esclusivamente all'interno del set di addestramento per prevenire la fuga di informazioni.
Dato il grado relativamente elevato di mancanza tra i gruppi di caratteristiche candidate, il ruolo principale di questo passaggio di selezione top-k era quello di filtrare le caratteristiche con segnali statistici deboli piuttosto che ottimizzare strettamente la dimensionalità delle caratteristiche. In pratica, le prestazioni del modello non erano altamente sensibili al valore esatto di k all'interno di un intervallo ragionevole, suggerendo che questo passaggio servisse principalmente come procedura di screening orientata alla robustezza per escludere caratteristiche poco informative preservando al contempo segnali clinicamente rilevanti.
Le caratteristiche demografiche di base furono mantenute in tutti i modelli. I valori mancanti in queste variabili demografiche sono stati imputati utilizzando il valore medio calcolato dal set di addestramento. L'imputazione media è stata scelta per la sua semplicità e stabilità in questo ampio dataset, anche se può ridurre la varianza e introdurre bias; Questa limitazione è riconosciuta.
Per alcune caratteristiche selezionate di farmaci, laboratorio e segni vitali, l'assenza di una misurazione o esposizione registrata è stata codificata come zero per consentire un input numerico coerente per l'addestramento del modello. Riconosciamo che questo approccio può confondere valori di zero veri con mancanza o non esposizione, in particolare per variabili in cui zero non ha un significato fisiologico. Tuttavia, questa strategia di codifica è stata applicata in modo coerente su tutti i campioni e seguita dalla standardizzazione Z-score, che mitiga la distorsione legata alla scala. L'impatto potenziale di questa assunzione viene discusso come una limitazione.
Tutte le caratteristiche numeriche sono state standardizzate utilizzando la normalizzazione Z-score basata sulla media e deviazione standard stimate dal set di addestramento:
z = (x — μ)/σ
Dove x rappresenta il valore grezzo della caratteristica, e μ e σ indicano la media e la deviazione standard calcolate dall'insieme di addestramento. Le variabili categoriche sono state codificate numericamente per soddisfare i requisiti di input dei modelli di deep learning.
Questa strategia di feature engineering ha permesso una riduzione sistematica della dimensionalità preservando domini clinicamente rilevanti, inclusi demografia, funzione renale, indici ematologici, marcatori infiammatori e parametri metabolici. Le caratteristiche di base dettagliate della popolazione di studio nei set di addestramento, validazione e test sono presentate nella Tabella 1.
| Caratteristiche | Totale | Set di addestramento | Set di validazione | Set di prova | Valore P |
| (n=5238) | (n=1996) | (n=1621) | (n=1621) |
| Genere | | <0.001 |
| Maschio | 2477 (47.29%) | 834 (41.78%) | 797 (49.17%) | 846 (52.19%) | |
| Femmina | 2761 (52.71%) | 1162 (58.22%) | 824 (50.83%) | 775 (47.81%) | |
| Età | 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 |
| Altezza | 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 |
| Peso | 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 |
| Senna | 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 |
| Docusato Sodio | 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 |
| Eparina | 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 |
| Lavaggio al cloruro di sodio 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 |
| Globuli rossi | 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 |
| Emoglobina | 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 |
| Ematocrito | 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 |
| Gravità Specifica | 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 |
| Bicarbonato | 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 |
| Neutrofili | 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 |
| Creatinina | 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 |
| Fosfato | 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 |
| Azoto ureico | 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 |
| Linfociti | 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 |
| Alanina Aminotransferasi (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 |
| Basofili | 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 |
Tabella 1. Caratteristiche di base della popolazione studiata stratificate per addestramento, validazione e set di test.
Architettura del modello
Per modellare relazioni complesse tra caratteristiche cliniche tabellari eterogenee, abbiamo utilizzato un'architettura basata su TabTransformer implementata con il frameworkPyTorch 6. Il modello è stato progettato per elaborare sia variabili categoriche che numeriche e per catturare interazioni contestuali tra le caratteristiche attraverso un meccanismo di auto-attenzione.
Rappresentazione in input
Le variabili categoriche sono state inizialmente trasformate in embeddings densi. Ogni caratteristica categorica era mappata su un vettore di immersione di dimensione d(embedding_dim = 256). Le caratteristiche numeriche sono state standardizzate tramite normalizzazione Z-score e poi proiettate nello stesso spazio di embedding tramite uno strato di trasformazione lineare, permettendo un'elaborazione congiunta con caratteristiche categoriche.
I vettori di caratteristiche incorporati sono stati concatenati per formare una sequenza di token:
X = [x 1,x 2,... xn]
dove ogni xi ∈ Rd rappresenta una caratteristica incorporata.
Codificatore a trasformatore
Gli embeddings delle feature concatenate venivano passati attraverso una pila di strati encoder Transformer (num_layers = 3). Ogni livello consisteva in un'autoattenzione multi-testa seguita da una rete feed-forward posizione per posizione.
Il meccanismo di auto-attenzione multi-testa è definito come:
—> Attenzione(Q,K,V) = softmax
V
Dove Q, K e V indicano matrici di interrogazione, chiave e valore. Sono state utilizzate teste multiple di attenzione (num_heads = 8) per catturare diverse interazioni di caratteristiche.
Ogni blocco del trasformatore includeva autoattenzione multi-testa, connessione residua e normalizzazione degli strati, rete feed-forward, dropout (velocità = 0,243).
Aggregazione e classificazione delle caratteristiche
L'uscita dello strato finale del Transformer veniva appiattita e passata attraverso un perceptrone multistrato (MLP) per la classificazione. La MLP era composta da uno o più strati completamente connessi con funzioni di attivazione non lineari.
Lo strato finale di output utilizzava una funzione di attivazione sigmoidea per produrre la probabilità prevista di osteoporosi:
—>
= σ(z)
Dove z è l'output logit.
Funzione di perdita e strategia di addestramento
Il modello è stato addestrato utilizzando la perdita binaria di entropia incrociata:
—> L = −(1/N) Σ [ yi log(ŷi) + (1 − yi) log(1 − ŷi) ]
Dove yi indica l'etichetta vera e
i la probabilità prevista.
Il modello è stato ottimizzato utilizzando l'ottimizzatore Adam (tasso di apprendimento = 1,9e-4, dimensione del lotto = 64) per 100 epoche. L'arresto precoce veniva applicato in base alle prestazioni di validazione (pazienza = 15) per evitare il sovrafitting. Per supportare la riproducibilità, tutte le procedure sperimentali sono state eseguite utilizzando un seme casuale costante (seme = 42).
Interpretabilità del modello
Per migliorare l'interpretabilità, sono state applicate le SHapley Additive ExPlanations (SHAP) al modello addestrato. I valori SHAP venivano calcolati sul set di test per quantificare il contributo di ciascuna caratteristica all'esito previsto, consentendo sia l'interpretazione globale che individuale del comportamento del modello.
Come illustrato nella Figura 1, il flusso di lavoro riassume il processo dalla pre-elaborazione dei dati MIMIC-IV alla costruzione e classificazione del modello. L'architettura TabTransformer cattura le interazioni tra caratteristiche tabellari eterogenee attraverso l'auto-attenzione, mentre la visualizzazione basata su SHAP fornisce intuizioni interpretabili sui contributi delle caratteristiche. Questo quadro consente un'analisi internamente validata dei modelli correlati all'osteoporosi in una coorte neurochirurgica spinale eterogenea.

Figura 1. Studia il flusso di lavoro e l'architettura dei modelli. Questa figura illustra il disegno complessivo dello studio, inclusa la selezione delle coorti, la pre-elaborazione dei dati, l'ingegneria delle caratteristiche, la suddivisione dei dataset e lo sviluppo del modello. Riassume inoltre l'architettura TabTransformer utilizzata per la classificazione, inclusi l'incorporamento delle caratteristiche, i livelli di encoder Transformer e l'output finale della classificazione. Era incluso solo il primo ricovero qualificante per paziente. Clicca qui per visualizzare una versione più grande di questa figura.