$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Sorgente dei dati e dichiarazione etica
Questo studio retrospettivo ha utilizzato dati del MIMIC-IV (versione 3.1), un database EHR di terapia critica disponibile pubblicamente e non identificato ospitato su PhysioNet. Il database include informazioni demografiche, segni vitali, esami di laboratorio, diagnosi, procedure e farmaci.
L'accesso a MIMIC-IV richiede un'autorizzazione accreditata e il rispetto dell'accordo di utilizzo dei dati PhysioNet e dei requisiti di formazione. Gli investigatori completarono la formazione richiesta e ottennero l'accesso (numero di certificato: 68351548). Poiché il database è de-identificato, questo studio ha analizzato dati anonimizzati e non ha coinvolto un contatto diretto con i pazienti; pertanto, il consenso informato non era richiesto. Il flusso di lavoro completo di modellazione eseguibile passo dopo passo è illustrato nella Figura 1.

Figura 1. Flusso di lavoro complessivo di modellazione per la previsione del rischio di osteoporosi (OP) nei pazienti con diabete. Rappresentazione schematica della pipeline di studio, inclusa identificazione delle coorti, estrazione dei dati, ingegneria delle caratteristiche, benchmarking multi-modello, selezione del modello basata sulle prestazioni di validazione e interpretabilità del modello finale basata su SHAP. Clicca qui per visualizzare una versione più grande di questa figura.
Studio della popolazione e dell'estrazione dei dati
I dati sono stati estratti dal database Medical Information Mart for Intensive Care IV (MIMIC-IV) utilizzando uno strumento di gestione del database. Per garantire la riproducibilità, le query SQL esatte, inclusi i nomi delle tabelle e la logica di filtraggio usate per il recupero delle coorti, sono fornite nel File Supplementare 1. I pazienti adulti (≥18 anni) diagnosticati con diabete mellito sono stati identificati utilizzando i codici ICD-9 (249, 250) e ICD-10 (E08–E13). L'esito principale, OP, è stato definito utilizzando i codici ICD-9 (733.x) e ICD-10 (M80, M81, M82). All'interno della coorte diabetica iniziale idonea (n = 46.226), sono stati identificati 3.672 eventi positivi (pazienti con OP) e 42.554 eventi negativi (pazienti senza OP). Un diagramma dettagliato della selezione dei pazienti e del ritiro è presentato nella Figura 2.

Figura 2. Diagramma di flusso della selezione dei pazienti e costruzione delle coorti. Il diagramma di flusso illustra la derivazione a passo a passo dal database MIMIC-IV (v3.1). I pazienti adulti con diabete mellito sono stati identificati utilizzando codici ICD, seguiti dall'esclusione dei pazienti con età e Tenente; 18 anni, dati critici mancanti e gt; 30%, o record non validi. La coorte finale è stata divisa in OP (eventi positivi) e non-OP (eventi negativi). L'squilibrio di classe è stato affrontato utilizzando sottocampionamento casuale e SMOTE applicato ai dati di addestramento prima della suddivisione stratificata del dataset. Clicca qui per visualizzare una versione più grande di questa figura.
Ingegneria delle caratteristiche
Per garantire un benchmarking equo tra più algoritmi ML e una riproducibilità precisa, è stata applicata una sequenza identica di passaggi di pre-elaborazione: selezione delle caratteristiche, imputazione dei valori mancanti, scalatura continua delle caratteristiche, bilanciamento delle classi e suddivisione dei dataset. L'elenco completo delle caratteristiche di input, inclusi nomi delle variabili, unità e fonti dati, è dettagliato nella Tabella 1.
| Caratteristiche | Totale (n = 14.688) | Set di addestramento (n = 9.546) | Set di validazione (n = 2.204) | Set di prova (n = 2.938) | Valore P |
| Genere | | | | | 0.345 |
| Maschio | 6222 (42.36%) | 4045 (42.37%) | 935 (42.42%) | 1242 (42.27%) | |
| Femmina | 8466 (57.64%) | 5501 (57.63%) | 1269 (57.58%) | 1696 (57.73%) | |
| Età | 0,28 (−0,40, 0,94) | 0,28 (−0,43, 0,94) | 0,23 (−0,46, 0,89) | 0,28 (−0,39, 0,95) | 0.1655 |
| Globuli rossi | −0,14 (−0,79, 0,49) | −0,13 (−0,79, 0,49) | −0,17 (−0,83, 0,48) | −0,14 (−0,76, 0,49) | 0.3641 |
| Ematocrito | −0,14 (−0,81, 0,52) | −0,13 (−0,80, 0,52) | −0,14 (−0,87, 0,51) | −0,16 (−0,81, 0,52) | 0.3709 |
| Emoglobina | −0,12 (−0,79, 0,52) | −0,12 (−0,79, 0,51) | −0,15 (−0,86, 0,53) | −0,13 (−0,78, 0,52) | 0.3616 |
| RDW | −0,16 (−0,59, 0,45) | −0,17 (−0,59, 0,46) | −0,14 (−0,59, 0,45) | −0,17 (−0,60, 0,42) | 0.5803 |
| Fosfato | −0,14 (−0,60, 0,38) | −0,15 (−0,61, 0,38) | −0,11 (−0,57, 0,38) | −0,13 (−0,56, 0,34) | 0.415 |
| MCV | 0,05 (−0,50, 0,63) | 0,06 (−0,50, 0,65) | 0,03 (−0,49, 0,65) | 0,02 (−0,50, 0,59) | 0.5408 |
| Magnesio | −0,10 (−0,52, 0,37) | −0,10 (−0,52, 0,37) | −0,10 (−0,52, 0,37) | −0,09 (−0,50, 0,37) | 0.7797 |
| Globuli Bianchi | −0,16 (−0,47, 0,21) | −0,16 (−0,47, 0,20) | −0,15 (−0,48, 0,25) | −0,16 (−0,46, 0,20) | 0.6856 |
| Passato di Anione | −0,12 (−0,64, 0,45) | −0,13 (−0,64, 0,45) | −0,07 (−0,61, 0,48) | −0,13 (−0,64, 0,45) | 0.1217 |
| Creatinina | −0,30 (−0,48, 0,01) | −0,30 (−0,48, 0,01) | −0,30 (−0,46, 0,01) | −0,30 (−0,48, −0,00) | 0.3323 |
| MCH | 0,11 (−0,48, 0,62) | 0,12 (−0,48, 0,62) | 0,11 (−0,47, 0,62) | 0,09 (−0,48, 0,61) | 0.5195 |
| Conteggio delle piastrine | −0,09 (−0,61, 0,49) | −0,09 (−0,61, 0,49) | −0,08 (−0,62, 0,47) | −0,10 (−0,62, 0,48) | 0.9709 |
| MCHC | −0,00 (−0,59, 0,59) | −0,00 (−0,60, 0,59) | −0,00 (−0,57, 0,58) | 0,00 (−0,57, 0,60) | 0.9263 |
| Cloruro | 0,05 (−0,54, 0,64) | 0,05 (−0,52, 0,65) | 0,03 (−0,59, 0,62) | 0,07 (−0,52, 0,62) | 0.4675 |
| Potassio | −0,07 (−0,67, 0,53) | −0,09 (−0,67, 0,53) | −0,07 (−0,67, 0,53) | −0,07 (−0,62, 0,53) | 0.3071 |
| Sodio | 0,05 (−0,56, 0,60) | 0,05 (−0,55, 0,60) | −0,00 (−0,60, 0,60) | 0,07 (−0,57, 0,61) | 0.3492 |
| Azoto ureico | −0,28 (−0,60, 0,29) | −0,28 (−0,60, 0,29) | −0,26 (−0,59, 0,31) | −0,28 (−0,59, 0,25) | 0.6826 |
| Calcio totale | 0,02 (−0,61, 0,59) | 0,02 (−0,61, 0,59) | −0,01 (−0,59, 0,56) | 0,01 (−0,61, 0,60) | 0.8203 |
Tabella 1. Caratteristiche di base e caratteristiche ingegnerizzate della coorte di studio. Le variabili categoriche sono presentate come n (%). Le variabili continue sono presentate come mediana (intervallo interquartile) dei valori standardizzati. I valori p sono stati calcolati per confrontare le distribuzioni tra i set di addestramento, validazione e test utilizzando test statistici appropriati.
Le variabili continue con misurazioni ripetute sono state aggregate utilizzando la media aritmetica durante l'intera finestra di osservazione in terapia intensiva per ottenere un singolo vettore caratteristico per paziente. Sono state escluse variabili con un tasso di mancanza superiore al 30%. Per le restanti variabili numeriche, i valori mancanti sono stati imputati utilizzando l'algoritmo K-Nearest Neighbors (KNN) (n_neighbors = 5, pesi = 'uniformi'). Le variabili categoriche venivano imputate usando la categoria più frequente e successivamente trasformate tramite mappatura binaria, con ogni categoria non visibile assegnata a un vettore di zeri.
Le variabili continue sono state standardizzate utilizzando la formula di scala z-score (). Le caratteristiche che mostravano varianza zero sono state esplicitamente rimosse prima della scala. Tutti i parametri di preprocessing (μ e σ.) sono stati stimati rigorosamente sul set di addestramento e applicati in modo coerente ai set di validazione e test.
Dato il grave squilibrio di classe (3.672 contro 42.554), è stata applicata una strategia di bilanciamento ibrida esclusivamente ai dati di addestramento per evitare di inflare le stime delle prestazioni. Innanzitutto, è stato utilizzato un sottocampionamento casuale per ridurre la classe maggioritariamente negativa e ottenere un rapporto 1:2 (positivo:negativo) (ottenendo 7.344 campioni negativi). Successivamente, la Tecnica di Sovracampionamento delle Minoranze Sintetiche (SMOTE) è stata applicata alla classe positiva per ottenere un rapporto bilanciato finale 1:1 (7.344 contro 7.344)8.
Infine, la coorte è stata suddivisa a livello di paziente in set di addestramento (65%), validazione (15%) e set test (20%) utilizzando campionamento stratificato. Per controllare rigorosamente tutti i processi casuali attraverso imputazione, bilanciamento e scissione, è stato applicato un seed casuale globale (random_state = 42).
Architettura del modello
Per identificare il modello predittivo più adatto al rischio OP nei pazienti con diabete, è stato utilizzato un framework di benchmarking su larga scala per confrontare 70 varianti di algoritmi ML sotto un identico protocollo di rappresentazione e valutazione dei dati. Le famiglie di modelli candidati includevano classificatori lineari regolarizzati, macchine a vettori di supporto (SVM), kNN, ensemble ad alberi, architetture di gradiente boosting e perceptroni multilayer 9,10,11,12,13,14,15,16,17.
Invece di utilizzare una ricerca tradizionale a griglia, l'ottimizzazione degli iperparametri è stata effettuata valutando configurazioni predefinite e robuste tra queste 70 varianti di modello nella divisione dell'addestramento. La selezione si basava strettamente sulla massimizzazione dell'area sotto la curva della caratteristica operativa del ricevitore (AUC) sul set di validazione. Il modello finale con le migliori prestazioni è stato configurato con n_estimators = 200, con gli altri parametri rimasti nelle impostazioni predefinite del pacchetto software elencate nella Tabella dei Materiali. Le metriche di valutazione, tra cui AUC, accuratezza, punteggio F1, precisione e richiamo, sono state calcolate utilizzando una soglia di probabilità predefinita di 0,5.
Per supportare la trasparenza clinica, SHAP è stato applicato al modello selezionato utilizzando il metodo TreeExplainer. Data la natura ad albero del modello finale, venivano utilizzati valori attesi dipendenti dal percorso dell'albero come configurazione di fondo.