Method Article

Previsione delle malattie cardiache tramite selezione statistica di caratteristiche e machine learning interpretabile

DOI:

10.3791/71170

June 5th, 2026

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Questo protocollo descrive un framework di machine learning per la previsione delle malattie cardiache che combina l'aumento dei dati utilizzando reti generative adversariali, selezione statistica e metaeuristica di caratteristiche e intelligenza artificiale spiegabile.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Le malattie cardiache sono una delle principali cause di morte a livello mondiale, rendendo la loro previsione precoce una questione clinica e computazionale importante. Diversi studi hanno affrontato singolarmente sfide come la scarsità dei dati, la selezione delle caratteristiche e l'interpretabilità del modello, ma meno studi hanno proposto un quadro integrato che affronti queste sfide in modo sinergico. Questo articolo presenta un quadro predittivo completo che utilizza: (1) una rete generativa antagionale (GAN) per affrontare lo squilibrio di classe e la scarsità di dati; (2) un approccio ibrido alla selezione delle caratteristiche che combina il pre-filtraggio statistico tramite il test t di Welch e la dimensione dell'effetto d di Cohen, insieme all'ottimizzazione metaeuristica tramite Ottimizzazione Harris Hawk; e (3) vari metodi spiegabili di intelligenza artificiale, inclusi SHAP, grafici di dipendenza parziale e rapporti di probabilità. Questo quadro è stato valutato sui dataset Cleveland e Statlog, fornendo una forte accuratezza, punteggi F1 e valori ROC-AUC rispetto a basi selezionati e metodi esistenti. Il modello fornisce un quadro computazionale robusto e interpretabile per la previsione delle malattie cardiache, collegando le prestazioni di machine learning all'interpretabilità clinica.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Le malattie cardiovascolari sono una delle principali cause di morbilità e mortalità a livello mondiale, rappresentando circa 17,9 milioni di decessiall'anno. Una previsione precoce e accurata delle malattie cardiache è importante per un intervento tempestivo e per migliorare gli esiti per i pazienti. In questo contesto, la previsione delle malattie cardiache utilizzando algoritmi di machine learning (ML) affronta tre sfide principali: la limitata disponibilità di dati medici di alta qualità, spazi di funzionalità ad alta dimensione contenenti variabili ridondanti o irrilevanti, e la natura da scatola nera dei modelli complessi, che possono ostacolare la fiducia clinica el'adozione 2. Lavori recenti hanno combinato ML con metodi di intelligenza artificiale spiegabile (XAI) per la previsione delle malattiecardiache 3. Molti ricercatori hanno anche utilizzato ML per la previsione e la rilevazione delle malattiecardiache 4. Gli sviluppi recenti nell'intelligenza artificiale generativa, in particolare le reti generative adversariali (GAN), promettono l'aumento dei dati nellasanità 5. Contemporaneamente, algoritmi metaeuristici come Harris Hawk Optimization (HHO) e Particle Swarm Optimization (PSO) si sono dimostrati efficaci nella selezione delle caratteristiche e nell'ottimizzazionedel modello 6. Le tecniche XAI, come SHAP e i grafici di dipendenza parziale (PDP), sono emerse anch'esse come strumenti importanti per interpretare previsioni di modellicomplessi 7. Sono stati condotti molti studi su modelli ML per la previsione del rischiocardiovascolare 8.

Tuttavia, la letteratura disponibile spesso discute questi temi in isolamento. Alcuni studi si concentrano sull'aumento dei dati usandoGANs 9, mentre altri si concentrano specificamente sulla selezione delle caratteristiche tramite algoritmi metaeuristici10 o sull'interpretabilità del modello basata sui metodiXAI 11. L'aumento basato su SMOTE è stato esplorato per la previsione della sopravvivenza all'insufficienzacardiaca 12. È stata inoltre segnalata una diagnosi di malattia cardiaca basatasulla KNN 13. Questi approcci separati non sfruttano appeso i benefici combinati che possono essere ottenuti attraverso un quadro integrato che affronta insieme la scarsità di dati, la selezione delle caratteristiche, l'addestramento del modello e l'interpretabilità.

Studi recenti hanno esplorato approcci correlati. Uno studio del 2026 pubblicato su Frontiers in Medicine ha proposto classificatori eterogenei ottimizzati per PSO con interpolazione di imbottitura e imputazione mediana per la diagnosi di malattie cardiache, raggiungendo una precisione del 91,3% su un datasetunificato 14. Altri lavori recenti hanno applicato l'ottimizzazione metaeuristica per la segmentazione delle immaginimediche 15, XAI per la previsione dell'ictus16, l'ottimizzazione ibrida per la classificazione delle aritmiecardiache 17 e sistemi di supporto alla decisione clinica potenziatiSHAP-18. Tuttavia, pochi di questi studi combinano l'aumento generativo, la selezione statistica delle caratteristiche a doppio criterio con l'ottimizzazione HHO e l'XAI multi-metodo in un unico quadro integrato.

Questo articolo mira a colmare questa lacuna proponendo un quadro di previsione delle malattie cardiache che integri sistematicamente l'aumento dei dati, la selezione ibrida delle caratteristiche, l'ottimizzazione e l'addestramento dei modelli e l'analisi della spiegabilità. Nella fase di aumento dei dati, i GAN vengono utilizzati per sintetizzare dati clinici tabellari basati su caratteristiche del paziente come età, pressione sanguigna, livelli di colesterolo e misurazioni elettrocardiogrammatiche. Sebbene le GAN siano ampiamente utilizzate per la generazione di immagini mediche, questo studio le applica al dataset Cleveland Heart Disease, che contiene 13 caratteristiche numeriche e categoriche, per affrontare la dimensione limitata del campione (n = 303) e lo squilibrio di classe. Nella fase ibrida di selezione delle caratteristiche, il t. test di Welch e la dimensione dell'effetto d di Cohen sono combinati con HHO per identificare sottoinsiemi di caratteristiche statisticamente robusti e clinicamente rilevanti. Durante la fase di ottimizzazione e addestramento del modello, il PSO viene utilizzato per ottimizzare i pesi della rete neurale artificiale, mentre i modelli di Regressione Logistica e Foresta Random vengono addestrati grazie al loro equilibrio tra prestazioni e spiegabilità. Nella fase di spiegabilità, vengono utilizzate tecniche XAI complementari, tra cui SHAP, PDP e odds ratio, per fornire interpretazioni globali e locali dei modelli.

Il flusso di lavoro complessivo del framework proposto è illustrato nella Figura 1. La Tabella 1 riassume le differenze chiave tra l'approccio proposto e i metodi esistenti di selezione delle caratteristiche [Tabella 1 qui].

figure-introduction-1
Figura 1: Panoramica del quadro proposto per la previsione delle malattie cardiache. Il flusso di lavoro comprende quattro fasi principali: (1) preelaborazione e aumento dei dati utilizzando GAN per affrontare la scarsità di dati; (2) selezione ibrida delle caratteristiche che combina filtraggio statistico (test t di Welch con d di Cohen) e ottimizzazione di Harris Hawk; (3) addestramento del modello con classificatori interpretabili, inclusi Logistic Regression e Random Forest, e un ANN ottimizzato per PSO; e (4) analisi della spiegabilità tramite SHAP, grafici di dipendenza parziale e odds ratio. Abbreviazioni: GAN = reti generative avversarie; PSO = Ottimizzazione dello Sciame di Particelle; ANN = Reti Neurali Artificiali. Clicca qui per visualizzare una versione più grande di questa figura.

Categoria di approccioTest statistico (ad esempio, t-test)Dimensione dell'effetto (ad esempio, d di Cohen)Ottimizzazione metaeuristica (ad esempio, HHO/PSO)Focus sull'interpretabilità
Statistica tradizionaleRaramenteNoModerato
Ottimizzazione puraNoNoBasso
Metodi ibridi esistentiA volteRaramenteVariabile
Quadro PropostoSì (test a T di Welch)Sì (D ≥ di Cohen 0,5)Sì (HHO)Alto (integrato con XAI)

Tabella 1: Confronto degli approcci di selezione delle caratteristiche nella previsione delle malattie cardiache. Gli approcci confrontati includono Statistica Tradizionale, Ottimizzazione Pura, Metodi Ibridi Esistenti e il Quadro Proposto attraverso i seguenti criteri: Test Statistici, Dimensione dell'Effetto, Ottimizzazione Metaeuristica e Focus sull'Interpretabilità.

I principali contributi di questo lavoro sono i seguenti. Per prima cosa, per affrontare la scarsità di dati e lo squilibrio di classe, viene implementato un GAN standard con perdita binaria di entropia incrociata e ottimizzazione Adam, insieme a un fallback per perturbazioni gaussiane quando TensorFlow non è disponibile. In secondo luogo, per affrontare la ridondanza delle caratteristiche, viene proposta una strategia ibrida di selezione delle caratteristiche che combina il pre-filtraggio statistico con HHO utilizzando una funzione di trasferimento a forma di V. Questo approccio a doppio criterio mira a selezionare caratteristiche sia statisticamente significative che clinicamente rilevanti. In terzo luogo, per affrontare l'opacità del modello, è integrata una suite di spiegabilità multi-metodo, che include SHAP beeswarm e a cascata, PDP e odds ratio con intervalli di confidenza del 95%. Un semplice protocollo di riconciliazione è fornito agli utenti clinici: se un PDP mostra una tendenza non lineare, la spiegazione SHAP dovrebbe essere prioritizzata rispetto ai coefficienti di regressione logistica. In quarto luogo, per supportare la riproducibilità e la validazione strutturata, il framework include la validazione stratificata incrociata, l'audit di equità, studi di ablazione, un protocollo di validazione esterno per MIMIC-III e la documentazione degli iperparametri chiave.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Dichiarazione etica, dataset, software e preparazione dei dati
I risultati di questo studio si sono basati sul dataset Heart Disease del Repository di Machine Learning dell'UCI Learning Repository. Poiché si tratta di una risorsa pubblicamente accessibile e de-identificata, il suo utilizzo non ha richiesto l'approvazione del comitato etico. Gli autori verificano inoltre l'originalità di questo manoscritto, confermando che non sia stato precedentemente pubblicato o inviato ad altre riviste.

Il dataset sulle malattie cardiache di Cleveland è stato suddiviso in set di addestramento e test con un valore 80/20. Il dataset contiene tipicamente 303 istanze; Pertanto, sono stati utilizzati circa 242 campioni per l'addestramento e 61 campioni sono stati conservati come set di prova pulito. I campioni sintetici generati dal GAN o dal metodo di fallback gaussiano sono stati aggiunti solo ai dati di addestramento per ridurre il rischio di perdita di dati. Il set finale di addestramento aumentato consisteva in circa 242 campioni reali e 1.000 campioni sintetici, per un totale di 1.242 campioni di addestramento. Non fu utilizzato alcun set fisso di validazione statica. Invece, durante l'addestramento del modello veniva applicata la validazione incrociata stratificata, con ogni piega che suddivideva i dati di addestramento aumentati in sottoinsiemi di addestramento e validazione.

Il dataset veniva caricato in un DataFrame Pandas e ispezionato per eventuali valori mancanti. Le caratteristiche numeriche con valori mancanti sono state gestite tramite imputazione mediana con la classe SimpleImputer di scikit-learn usando strategia = 'mediana'. Le caratteristiche categoriche con valori mancanti sono state gestite tramite imputazione modale con SimpleImputer usando strategia = 'most_frequent'. I meccanismi di mancanza sono stati documentati calcolando la percentuale mancante per ogni caratteristica usando df.isnull().sum() / len(df). I modelli di mancanza non casuali sono stati valutati confrontando i valori medi di altre caratteristiche tra campioni con e senza dati mancanti, utilizzando test t. per le caratteristiche numeriche e test chi-quadrato per le caratteristiche categoriche. La mancanza veniva poi documentata come Mancante Completamente a Caso (MCAR), Mancante a Caso (MAR) o Mancante Non a Caso (MNAR), dove applicabile.

Per i dataset con mancanza sostanziale, è stata raccomandata un'analisi di sensibilità confrontando l'imputazione mediana/modalità con l'imputazione multipla tramite equazioni concatenate (MICE), utilizzando fancyimpute. IterativeImputer con max_iter = 10, e imputazione KNN, usando fancyimpute. KNN con k = 5. Una differenza di accuratezza inferiore a 0,03 è stata trattata come indicazione della robustezza del metododi imputazione 12. Questa analisi di sensibilità è stata considerata opzionale per il dataset di Cleveland a causa della sua limitata mancanza, ma è stata raccomandata per altri dataset clinici con valori mancanti più del 5%. I pattern di mancanza sono stati visualizzati anche utilizzando la libreria missingno generando una mappa di calore della matrice mancante con msno.matrix(df). Il raggruppamento dei pattern di mancanza è stato utilizzato per identificare se i valori mancanti co-ocorrevano sistematicamente, il che potrebbe indicare meccanismi MNAR che richiedono l'intervento di esperti clinici.

Le caratteristiche numeriche sono state standardizzate utilizzando la normalizzazione z-score. StandardScaler di scikit-learn è stato inserito sui dati di addestramento e poi applicato sia ai set di addestramento che a quelli di test. Le variabili categoriche venivano codificate usando la codifica one-hot. Il tipo di dolore toracico (cp), che contiene quattro categorie, è stato convertito in quattro colonne indicatori binarie usando pandas.get_dummies. La talassemia (thal), che comprende tre categorie, è stata convertita in tre colonne indicatori binarie. Poiché il generatore e il discriminatore GAN utilizzavano una dimensione fissa di input/output di 13 caratteristiche corrispondenti al dataset originale prima della codifica one-hot, i campioni sintetici venivano generati nello spazio originale di 13 caratteristiche e poi passati attraverso la stessa pipeline di codifica one-hot dei dati reali. Questo ha mantenuto la compatibilità con l'architettura GAN permettendo al contempo di utilizzare funzionalità codificate per l'addestramento dei modelli.

Definizioni matematiche e metriche di qualità
La distanza di Fréchet veniva utilizzata per confrontare le distribuzioni di caratteristiche reali e sintetiche. La distanza di Fréchet Fr(F, G) tra due distribuzioni F e G è stata definita come segue:

Fr2(F,G)=minX,YE|X-Y|2 (1)

dove E rappresenta l'aspettativa, e la minimizzazione si assume su tutte le variabili casuali X e Y con distribuzioni F e G,rispettivamente 19.

L'Ottimizzazione Harris Hawk (HHO) è stata utilizzata come metodo di ottimizzazione metaeuristica. HHO è ispirato dal comportamento di caccia cooperativo degli Harrishawks 20. La transizione tra le fasi di esplorazione e sfruttamento era controllata dall'energia di fuga E. Nella fase di esplorazione, dove |E| ≥ 1, l'aggiornamento fu definito come segue:

X(t+1) = Xrand (t) - r1 | Xrand (t) - 2r2X (t)|

Nella fase di sfruttamento, dove |E| < 1, gli aggiornamenti erano determinati dall'energia di fuga E = 2E(1 − t/T) e dalla forza del salto J = 2(1 − r5). Nella condizione di assedio morbido, dove sono ≥ 0,5 e |E| ≥ 0.5, l'aggiornamento è stato definito come segue:

X(t+1) = ΔX(t) - E|JX coniglio (t) - X(t)|

Nella condizione di assedio duro, dove sono ≥ 0,5 e |E| < 0.5, l'aggiornamento è stato definito come segue:

X(t+1) =X coniglio (t) - E|ΔX(t)|

L'equità è stata valutata utilizzando parità statistica e equilibrio del tasso di errore, seguendo Hardt et al.20 e Lima et al.21. Differenza di parità demografica, differenza di probabilità equalizzata e errore di calibrazione basato sull'età sono stati utilizzati come metriche di equità.

figure-protocol-1

ΔEO = max(|TPRA - TPRB |,| FPRA - FPRB |)

ΔBS=|BS età<50 - BSetà>50 |

dove BS è il punteggio di Brier:

figure-protocol-2

L'interpretabilità del dashboard si basava sui valori SHAP, calcolati utilizzando la teoria dei giochi coalizionali18.

figure-protocol-3

dove Φi rappresenta l'attribuzione SHAP per la caratteristica i, F. f(S) rappresenta l'insieme di tutte le caratteristiche e rappresenta la previsione del modello per un sottoinsieme di caratteristiche S.

Aumento dei dati basato su GAN
Per affrontare la scarsità di dati e lo squilibrio di classe, è stata utilizzata una Rete Generativa Adversariale (GAN) per generare campioni sintetici. L'architettura del generatore era configurata in TensorFlow/Keras. Accettava un vettore di rumore a 100 dimensioni campionato da una distribuzione normale standard N(0,1), seguito da strati densi con 128, 256 e 512 unità usando l'attivazione ReLU. Il livello di uscita conteneva 13 unità, corrispondenti alla dimensione originale della caratteristica, e utilizzava l'attivazione sigmoide.

L'architettura del discriminatore accettava un vettore di caratteristiche a 13 dimensioni come input. Era composto da strati densi con 512, 256 e 128 unità utilizzando attivazione LeakyReLU con α = 0,2. Lo strato di output conteneva un'unità con attivazione sigmoide per la classificazione binaria di campioni reali rispetto a sintetici.

Il GAN fu addestrato per 100 epoche utilizzando un lotto di 64 anni. L'ottimizzatore Adam veniva utilizzato con un tasso di apprendimento di 0,0002, β1 = 0,5 e β2 = 0,999. Durante ogni epoca, il discriminatore veniva allenato alternativamente su lotti reali e sintetici, e il generatore veniva addestrato per ingannare il discriminatore. Dopo l'addestramento, furono inseriti 1.000 vettori di rumore casuale nel generatore per produrre 1.000 campioni sintetici, che venivano aggiunti solo al set di addestramento.

Il collasso delle modalità è stato monitorato durante l'addestramento GAN misurando la varianza di ogni caratteristica sintetica su 100 campioni generati ogni 10 epoche. Se la varianza di una caratteristica scendeva sotto il 10% della corrispondente varianza dei dati reali per tre controlli consecutivi, si sospettava il collasso della modalità. Le strategie di mitigazione includevano la riduzione del tasso di apprendimento a 1 × 10⁻4, l'aumento della dimensione del lotto a 128, il riavvio dell'allenamento con un'inizializzazione del peso diversa, o la sostituzione del GAN standard con il GAN di Wasserstein con Gradient Penalty (WGAN-GP), come descritto da Arjovsky et al.17. L'implementazione utilizzava un GAN standard con un fallback di perturbazione gaussiana per garantire la generazione di dati sintetici quando TensorFlow non era disponibile.

La qualità dei dati sintetici è stata valutata calcolando la distanza di Fréchet tra le distribuzioni reali e sintetiche utilizzando un'implementazione personalizzata. Un classificatore, come la regressione logistica, è stato anche addestrato per distinguere campioni reali da sintetici; L'accuratezza della classificazione a rischio è stata trattata come indicazione di alta fedeltà. È stato calcolato l'AUC di Precisione-Recall, con valori superiori a 0,9 considerati indicativo di una buona cattura della distribuzione. Sono state inoltre confrontate le correlazioni di Pearson tra coppie di caratteristiche nei dataset reali e sintetici, con differenze inferiori a 0,05 considerate accettabili come conservazione della struttura correlazionale.

Quando TensorFlow/Keras non era disponibile o l'addestramento GAN falliva, veniva utilizzato un metodo di fallimento per perturbazioni gaussiane. Per ogni classe, la media (μ) e la deviazione standard (σ) di ogni caratteristica venivano calcolate dal set di addestramento. I campioni sintetici venivano quindi generati come segue:

Xsynthetic = μ + ε × σ × 0,05, dove ε ~ N(0,1)

Le etichette di classe venivano generate in proporzione alla distribuzione originale delle classi. Questo fallback è stato incluso per supportare la riproducibilità tra ambienti senza dipendenze da deep learning.

Selezione delle caratteristiche ibride
È stata applicata una strategia ibrida di selezione delle caratteristiche a due fasi. Nella prima fase è stato eseguito un pre-filtraggio statistico. Per ogni caratteristica xi nell'insieme di caratteristiche X, i valori sono stati divisi in due gruppi secondo la variabile binaria di esito: G0 per y = 0, che indica nessuna malattia, e G1 per y = 1, che indica la presenza della malattia. Il test t a due campioni di Welch è stato eseguito utilizzando scipy.stats.ttest_ind con equal_var = Falso. La dimensione dell'effetto d di Cohen fu quindi calcolata come segue:

d = (media1 − media2) / pooled_std

dove:

pooled_std = sqrt((std12 + std22)/2)

Il nome della caratteristica, il valore p e il valore d di Cohen erano memorizzati in una tabella dei risultati. Le caratteristiche sono state selezionate se soddisfacevano entrambi i criteri: p-value < 0,05 e |Il d| di Cohen ≥ 0,5. Il set di funzionalità risultante era definito come Xfiltered.

Il test t di Welch è stato utilizzato perché è appropriato per caratteristiche numeriche continue come età, talaco e oldpeak. Per caratteristiche categoriche binarie come sesso ed exang, il test t. produce risultati comparabili a un test delle proporzioni confrontato tra due gruppi. Caratteristiche multi-categoriche come cp e thal sono state codificate in one-hot, e ogni indicatore binario è stato testato individualmente rispetto alla variabile di risultato. Questo approccio è stato ritenuto appropriato perché il dataset di Cleveland contiene più di 30 campioni, le caratteristiche erano standardizzate prima dell'analisi e equal_var = False spiega le varianze diseguali tra gruppi. Per le caratteristiche con gravi violazioni della normalità, il test Mann-Whitney U è stato considerato come un test non parametrico alternativo.

La soglia p < 0,05 seguiva la significanza statistica convenzionale, mentre |Il d| di Cohen ≥ 0,5 corrispondeva a una dimensione d'effetto da moderata a grande. Per dataset con campioni piccoli o risultati rari, sono stati raccomandati l'aggiustamento basato su bootstrap, la correzione di Hedges g o soglie esplorative rilassate con input clinici esperti. Ad esempio, 1.000 ricampionamenti bootstrap potrebbero essere usati per calcolare gli intervalli di confidenza d di Cohen, e la g di Hedges potrebbe essere applicata per correggere il bias di piccoli campioni. Caratteristiche con statistiche borderline, come valori p tra 0,03 e 0,08 o |d| Valori tra 0,4 e 0,6, sono stati documentati per una possibile revisione clinica degli esperti prima dell'esclusione.

Nella seconda fase, l'Ottimizzazione Harris Hawk (HHO) è stata applicata al set di funzionalità filtrato statisticamente. La dimensione della popolazione HHO fu impostata a 20 e il numero massimo di iterazioni a 50. Ogni soluzione era rappresentata come un vettore binario con lunghezza pari al numero di caratteristiche in Xfiltered, dove 1 indicava che una caratteristica era stata selezionata e 0 indicava che non era stata selezionata. Le posizioni continue dell'HHO sono state mappate su vettori binari usando la funzione di trasferimento a forma di V:

T(x) = |tanh(x)|

Il valore binario era impostato a 1 se T(x) > 0,5 e a 0 altrimenti. La funzione a V è stata scelta perché supporta l'esplorazione e lo sfruttamento bilanciati durante la conversione binaria.

La funzione di fitness per ciascuna soluzione è stata definita utilizzando la regressione logistica. Un modello di regressione logistica è stato addestrato utilizzando solo le caratteristiche selezionate dal vettore binario, e la validazione incrociata a 5 punti è stata eseguita utilizzando cross_val_score da scikit-learn. La fitness veniva calcolata come segue:

Fitness = 1 − accuratezza media

La popolazione delle posizioni dei falchi è stata inizializzata uniformemente nell'intervallo [−1, 1] usando numpy.random.uniform(−1, 1, (population_size, n_features)) con un seme casuale fisso di 42 per la riproducibilità. Ad ogni iterazione veniva valutata la fitness di tutti i falchi, la posizione migliore del falco veniva identificata come il coniglio e le posizioni venivano aggiornate utilizzando le equazioni di esplorazione e sfruttamento HHO basate sull'energia di fuga. Dopo la convergenza, il vettore binario con le migliori prestazioni veniva selezionato come sottoinsieme di caratteristiche finale, Xfinal.

Le caratteristiche selezionate sono state registrate da una singola esecuzione di ottimizzazione HHO con un seed casuale fisso. Per applicazioni che richiedono maggiore fiducia statistica, sono state raccomandate 30 run indipendenti con diversi seed casuali, e sono stati selezionati elementi di consenso che compaiono in almeno l'80% delle sessioni. L'implementazione riportata si basava su una singola esecuzione rappresentativa, poiché i test preliminari indicavano una convergenza costante.

Addestramento e ottimizzazione del modello
Sono stati considerati tre modelli: Regressione Logistica, Foresta Casuale e una Rete Neurale Artificiale (ANN) ottimizzata per PSO. La regressione logistica è stata addestrata utilizzando la validazione incrociata stratificata a 5 volte per mantenere la distribuzione delle classi. La forza di regolarizzazione C è stata ottimizzata utilizzando lo spazio di ricerca C figure-protocol-4 [0,001, 0,01, 0,1, 1, 10]. Per ogni piega e ogni valore di C, il modello veniva addestrato sulla piega di addestramento e valutato sulla piega di validazione. È stato selezionato il valore di C che massimizza l'accuratezza media della validazione tra le pieghe.

Il modello Random Forest è stato addestrato utilizzando l'accordatura degli iperparametri. Lo spazio di ricerca includeva max_depth = [5, 10, 15, Nessuno] e min_samples_split = [2, 5, 10]. La ricerca a griglia con validazione incrociata a 5 volte è stata eseguita utilizzando ROC-AUC come metrica di ottimizzazione tramite GridSearchCV con punteggio = 'roc_auc'. Il modello di Foresta Casuale selezionato utilizzava max_depth = 10 e min_samples_split = 5. La stima del punteggio fuori dalla borsa (OOB) è stata abilitata usando oob_score = Vero.

L'overfitting è stato valutato calcolando il divario tra l'accuratezza dell'addestramento e il punteggio OOB:

overfitting_gap = training_accuracy − oob_score

Un gap di overfitting sotto 0,05 è stato considerato indicativo di una buona generalizzazione, mentre un gap superiore a 0,10 indicava la necessità di ridurre max_depth o aumentare min_samples_split. Con un punteggio OOB di 0,9296 e una precisione tipica dell'allenamento tra 0,94 e 0,96, il divario era di circa 0,01–0,03.

Un classificatore ANN è stato inoltre ottimizzato utilizzando Particle Swarm Optimization (PSO). L'architettura ANN consisteva in uno strato di input, uno strato nascosto con 64 neuroni tramite attivazione ReLU, e uno strato di output con un neurone che utilizzava l'attivazione sigmoide. PSO fu inizializzato con 50 particelle e 50 iterazioni ed è stato utilizzato per ottimizzare i pesi iniziali della rete. L'ANN veniva poi addestrato utilizzando la retropropagazione standard. Poiché l'ottimizzazione PSO veniva eseguita sugli stessi dati di addestramento senza validazione incrociata annidata, questo componente veniva trattato con cautela. Per applicazioni future, è stata raccomandata la validazione incrociata annidata, con un anello esterno 10-fold per la valutazione e un loop interno 10-fold per la selezione degli iperparametri PSO. Un gap di generalizzazione sotto 0,08 è stato considerato accettabile, mentre un gap superiore a 0,15 indicava un potenziale overfitting che richiedeva la semplificazione del modello.

Valutazione del modello
La valutazione del modello è stata effettuata utilizzando la validazione incrociata stratificata a 10 volte sull'insieme finale di caratteristiche, Xfinal. In ogni fold, sono stati addestrati i modelli di Regressione Logistica e Foresta Casuale sui dati di addestramento e valutati sui dati di validazione. Accuratezza, Precisione, Richiamo, F1-score e ROC-AUC sono stati calcolati utilizzando classification_report e roc_auc_score da scikit-learn. La media e la deviazione standard di tutte le metriche sono state calcolate tra le 10 variazioni.

Il gap di generalizzazione è stato calcolato anche per ogni piega come segue:

generalization_gap = training_accuracy − validation_accuracy

È stato riportato il divario medio di generalizzazione su tutte e 10 le variazioni. Un gap medio sotto 0,08 è stato considerato indicativo di sovraadattamento minimo, mentre un gap superiore a 0,15 suggeriva sovraadattamento e la necessità di regolarizzazione o riduzione della complessità del modello. Sono stati eseguiti test Wilcoxon con rango firmato per confrontare il quadro proposto con i metodi di base su 10 fold utilizzando α = 0,01.

Analisi della spiegabilità
L'analisi della spiegabilità è stata effettuata utilizzando metodi specifici e indipendenti dal modello. Per la Regressione Logistica, il modello finale è stato adattato e i valori dei coefficienti sono stati estratti per ogni caratteristica selezionata. I odds ratio sono stati calcolati come exp(coefficiente) e sono stati calcolati intervalli di confidenza del 95% utilizzando gli errori standard dei coefficienti.

Per Random Forest, i punteggi di importanza di Gini sono stati estratti dal modello addestrato usando l'attributo feature_importances_ e normalizzati per sommare 1. Le spiegazioni SHAP venivano generate utilizzando la libreria SHAP. Un oggetto KernelExplainer è stato creato utilizzando il modello addestrato e un dataset di background, come 100 campioni di addestramento selezionati casualmente. I valori SHAP venivano calcolati per tutte le istanze del set di test usando shap_values. I grafici riassuntivi degli sciami di api venivano generati usando shap.summary_plot, e i grafici a barre dei valori assoluti medi di SHAP venivano generati usando shap.bar_plot.

Sono stati generati Grafici di Dipendenza Parziale (PDP) per le caratteristiche principali identificate dall'analisi SHAP. Per ogni caratteristica selezionata, veniva creata una sequenza di valori che attraversava l'intervallo di caratteristiche. Ogni valore veniva sostituito nella colonna delle caratteristiche mantenendo costanti le altre caratteristiche, e la probabilità media prevista veniva calcolata in tutte le ipotesi. I valori delle caratteristiche sono stati tracciati rispetto alle previsioni medie usando matplotlib. Intervalli di confidenza del 95% sono stati aggiunti utilizzando 100 iterazioni di ricampionamento bootstrap.

I grafici di Aspettativa Condizionale Individuale (ICE) sono stati generati per caratteristiche selezionate tracciando traiettorie di previsione per singole istanze man mano che i valori delle caratteristiche cambiavano. La linea del PDP è stata sovrapposta al terreno ICE. I metodi di spiegazione sono stati confrontati calcolando la correlazione di rango di Spearman tra i rapporti di probabilità di regressione logistica e i valori SHAP di Random Forest utilizzando scipy.stats.spearmanr. Sono state documentate discrepanze tra i metodi esplicativi per l'interpretazione clinica. Quando i coefficienti di SHAP e regressione logistica si sono scontrati, è stato esaminato il PDP per quella caratteristica. Se il PDP mostrava una tendenza non lineare, la spiegazione SHAP era prioritaria rispetto al coefficiente di regressione logistica perché la Foresta Casuale può catturare relazioni non lineari che i modelli lineari non possono.

Protocollo di generalizzazione del framework per la validazione esterna usando MIMIC-III
È stato delineato un protocollo di validazione esterno per l'applicazione del framework al database MIMIC-III. L'accesso a MIMIC-III richiederebbe l'approvazione di PhysioNet e il completamento dell'addestramento umano richiesto. La coorte proposta includerebbe pazienti adulti di età pari o superiore a 18 anni con il primo ricovero in terapia intensiva e codici ICD-9 410–414 per l'infarto miocardico acuto o codici ICD-10 I20–I25 per la cardiopatia ischemica. I criteri di esclusione includerebbero valori mancanti di oltre il 30% nelle caratteristiche target, durata del soggiorno sotto le 24 ore, età superiore a 90 anni, precedenti interventi di chirurgia cardiaca o cardiopatia congenita.

L'esito proposto era eventi avversi cardiaci maggiori (MACE) entro 72 ore dal ricovero, definiti come un composto di mortalità ospedaliera, shock cardiogeno o aritmia ventricolare che richiedeva intervento. Caratteristiche di serie temporali come frequenza cardiaca e pressione sanguigna verrebbero aggregate nelle prime 24 ore di permanenza in terapia intensiva utilizzando media, mediana, minimo, massimo e tendenza, dove la tendenza sarebbe stimata come la pendenza della regressione lineare nel tempo. La frequenza cardiaca massima sarebbe stata usata come equivalente mappato del talac.

Le caratteristiche del dataset Cleveland sarebbero state mappate alle variabili MIMIC-III. Ad esempio, il thalach sarebbe stato mappato alla frequenza cardiaca massima registrata durante le prime 24 ore di ricovero in terapia intensiva, la cp sarebbe stata mappata a valutazioni strutturate del dolore e menzioni del dolore toracico estratte tramite NLP, e oldpeak sarebbe stata mappata alla deviazione del segmento ST dai referti ECG. Veniva creata una tabella di mappatura per documentare tutti gli allineamenti delle caratteristiche.

Prima di applicare l'intera pipeline, l'estrazione NLP per oldpeak sarebbe validata su 100 referti ECG selezionati casualmente. Precisione, richiamo e punteggio F1 sarebbero calcolati in base all'annotazione manuale da parte di due clinici. Se il punteggio F1 era inferiore a 0,85, i pattern regex venivano rivisti o venivano utilizzati dati ECG strutturati dagli eventi grafici come alternativa. La pipeline di preprocessing verrebbe poi ripetuta sui dati estratti MIMIC-III, il GAN verrebbe riaddestrato per l'augmentazione, la selezione ibrida delle caratteristiche verrebbe riapplicata, i modelli verranno riaddestrati, verranno generate spiegazioni e le metriche di performance verrebbero confrontate con i risultati del dataset Cleveland.

Implementazione di dashboard clinici
Un prototipo di dashboard clinico basato sul web è stato progettato utilizzando un framework come Flask o Django. Gli endpoint API HL7/FHIR erano previsti per l'integrazione con EHR, con autenticazione e autorizzazione configurate secondo le politiche di sicurezza istituzionali. Le funzioni di mappatura dati sono state progettate per convertire i dati EHR in formato di input modello.

L'interfaccia utente includeva tre viste principali. La visuale pre-screening mostrava la demografia dei pazienti e i punteggi di rischio calcolati con livelli di rischio codificati a colori. La vista del supporto alle decisioni mostrava un grafico a cascata SHAP che mostrava i principali fattori contributivi per un paziente specifico. La vista della pianificazione dell'intervento ha permesso l'analisi 'e se' aggiustando i fattori di rischio modificabili e mostrando previsioni aggiornate sul rischio. Era inclusa la funzionalità di esportazione per salvare i report come file PDF o integrarli con i sistemi di documentazione EHR.

Per il futuro impiego clinico, è stata pianificata una valutazione dell'usabilità tramite dashboard con almeno cinque clinici. La valutazione utilizzerebbe la System Usability Scale, con un punteggio obiettivo superiore a 68, tempi di completamento del compito, con una riduzione target di almeno il 20% rispetto all'uso solo dell'EHR, e scale di soddisfazione a 5 punti per chiarezza e fiducia nella spiegazione. Questa valutazione dell'usabilità era prevista come passo futuro e non è stata implementata nello studio attuale.

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Contesti sperimentali e metriche di performance
Tutti gli esperimenti sono stati condotti in Python 3.9 utilizzando scikit-learn, TensorFlow e librerie SHAP. È stata impiegata una validazione incrociata stratificata a 10 volte. Le metriche di valutazione includevano Accuratezza, Precisione, Richiuro, F1-score e ROC-AUC.

Confronto delle prestazioni con metodi di base selezionati

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Il quadro qui descritto fornisce un approccio riproducibile per sviluppare modelli interpretabili di previsione delle malattie cardiache. Un prototipo di dashboard clinico che integra queste spiegazioni è mostrato nella Figura 4, che implementa un flusso di lavoro in tre fasi: pre-screening, supporto decisionale con SHAP e pianificazione dell'intervento [Figura 4 qui]. Diversi passaggi critici richiedono un'attenta attenzione per garantire l'esecuzione effic...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Gli autori non hanno conflitti di interesse da dichiarare.

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Gli autori riconoscono il sostegno della Capital (Helwan) University e dell'Arab Open University per la fornitura di strutture di ricerca. Questa ricerca non ha ricevuto alcuna sovvenzione specifica da agenzie finanziatrici nei settori pubblico, commerciale o non profit.

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Dataset sulle malattie cardiache di ClevelandUCI Machine Learning Repositoryhttps://archive.ics.uci.edu/ml/datasets/heart+diseaseDataset di riferimento sulle malattie cardiache utilizzato per lo sviluppo/valutazione del modello
DjangoFondazione Software DjangoN/AFramework web alternativo per l'implementazione di dashboard
fancyimputeSviluppatori fancyimputeN/AAnalisi opzionale della sensibilità per imputazione MICE e KNN
FiaschettaProgetti PalletN/AFramework web per l'implementazione di dashboard
Standard API HL7/FHIRHL7 InternationalN/AStandard pianificato per l'integrazione EHR/dashboard
KerasSviluppatori KerasN/AAPI di reti neurali usata con TensorFlow/Keras per l'architettura GAN
matplotlibsviluppatori matplotlibN/ALibreria di plotting
MIMIC-III DatabasePhysioNethttps://physionet.org/content/mimiciii/1.4/Database di terapia intensiva per la validazione esterna pianificata
missingnoMissingNo DevelopersN/AVisualizzazione della matrice di mancanza
NumPySviluppatori NumPyN/ACalcolo numerico
PandaSviluppatori di pandasN/AManipolazione dei dati
PhysioNetPhysioNethttps://physionet.org/Piattaforma/sorgente di accesso per MIMIC-III
PythonPython Software FoundationN/AVersione 3.9/3.9.7
scikit-learnSviluppatori scikit-learnN/ALibreria di machine learning, inclusi preprocessing, addestramento del modello, validazione incrociata e metriche
SciPySviluppatori SciPyN/ATest statistici, incluso Welch' test t e correlazione di Spearman
SHAPSviluppatori SHAPN/ALibreria AI spiegabile
Dataset Statisticlog sulle malattie cardiacheUCI Machine Learning Repositoryhttps://archive.ics.uci.edu/ml/datasets/statlog+(cuore)Dataset di riferimento sulle malattie cardiache
TensorFlowGoogleN/AFramework di deep learning per l'implementazione GAN
UCI Machine Learning RepositoryUniversità della California, Irvinehttps://archive.ics.uci.edu/Fonte del repository per i dataset Cleveland e Statlog

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Heart Disease PredictionFeature SelectionInterpretable Machine LearningGenerative Adversarial NetworkClass ImbalanceHarris Hawk OptimizationStatistical Feature SelectionSHAP AnalysisPartial Dependence PlotsOdds Ratios

Related Articles