Rilevamento di scariche intercritiche su EEG di superficie di routine
Una pipeline che legge un EEG di superficie di routine (sistema 10–20) e redige la frase che scriverebbe un neurologo: se sono presenti anomalie epilettiformi intercritiche, dove proiettano e se il sonno le attiva.
ProblemaPerché questa domanda
Un EEG di routine è una ventina di minuti di ritmo di fondo in cui possono comparire, o non comparire, pochi eventi di frazioni di secondo. Quelli clinicamente decisivi sono le anomalie epilettiformi intercritiche (punte, onde aguzze, complessi punta-onda, polipunte) e la loro presenza cambia il percorso del paziente. Sono anche facili da non vedere e, peggio, facili da sovrastimare: i transienti aguzzi normali somigliano molto a quelli veri.
Lo strumento ha quindi due compiti. Rilevamento: questa registrazione contiene anomalie? Descrizione: per le anomalie trovate, la proiezione spaziale, la morfologia e l’eventuale attivazione con il sonno, assemblate in una frase come “presenza di anomalie epilettiformi intercritiche: complessi onda aguzza-onda lenta a proiezione temporale sinistra, attivate dal sonno.”
PipelineMetodi
- Fase 1, rilevamento. Gradient boosting (400 alberi, profondità 3) su 26 feature interpretabili del segnale, calcolate su un elettrodo alla volta e aggregate prendendo il massimo sui 19. Dominano le feature di “aguzzezza”, come prevedrebbe un neurologo: una punta è definita da quanto bruscamente sale, non da quanto è ampia. Valutare per canale nomina anche l’elettrodo, senza costi aggiuntivi.
- Fase 1b, discriminatore dei negativi difficili. Un secondo filtro che risponde solo alla domanda difficile: dato qualcosa che già sembra una scarica, è reale? Addestrato su 32.433 eventi votati da esperti con target morbidi pesati sui voti, più 21.833 negativi difficili estratti da 4.412 registrazioni di controllo: le finestre che il modello precedente valutava più alte, cioè i suoi stessi falsi positivi.
- Fase 2, localizzazione e stato. Classe spaziale su cinque regioni, più veglia/sonno.
- Fase 3, descrizione in bozza. Basata su template e tracciabile fino agli eventi che l’hanno generata, così chi legge può risalire da ogni frase alle epoche che la sostengono.
- Interazioni di ordine alto. Tre delle 26 feature della fase 1 non misurano una forma ma un accoppiamento: bicoerenza su due coppie di bande e phase-amplitude coupling fra la fase 2-6 Hz e l’ampiezza 20-70 Hz. Chiedono se i ritmi di uno stesso elettrodo siano agganciati fra loro, domanda che nessuna misura di ampiezza o di aguzzezza può porre. Conta più dove si calcolano che se si calcolano: come colonne aggiuntive su un vettore di segmento valevano +0,007 di ROC-AUC e sono state scartate, mentre gli stessi stimatori calcolati un elettrodo alla volta portano PR-AUC +0,034, ROC-AUC per registrazione +0,013 e localizzazione di canale +0,025. Sono usate solo nella fase 1: la fase 1b è una rete convoluzionale sul segnale grezzo e non ha feature ingegnerizzate.
RisultatiRilevamento, dati interni
Cross-validazione a 5 fold a livello di soggetto, out-of-fold su tutte le 84 registrazioni. Per registrazione, cioè la domanda che il clinico si pone davvero. Le dispersioni sono la deviazione standard fra le cinque fold, cioè quanto il dato si muove al cambiare dei pazienti:
Per segmento il rilevatore raggiunge una sensibilità di 0,765 con un tetto del 10% di falsi allarmi, e una PR-AUC di 0,707 complessiva ma 0,669 ± 0,183 fra le fold, da 0,42 a 0,85, che è la misura onesta di quanto 84 registrazioni riescano a stabilizzare il dato. Nel sottogruppo pediatrico (32 pazienti, età ≤ 18 anni) tutte le misure migliorano: ROC-AUC 0,957 contro 0,907 dell’intera coorte, sensibilità 0,911 contro 0,765. È il dato incoraggiante in vista di un impiego pediatrico, con l’avvertenza che il sottogruppo contiene solo 10 registrazioni prive di anomalie, troppo poche per tarare una soglia a livello di registrazione.
Matrice di confusione, per registrazione
Out-of-fold su tutte le 84 registrazioni: 52 con anomalie annotate dall’esperto, 32 senza. Prima i conteggi, fra parentesi la quota sulla riga: la riga in alto si legge come sensibilità, quella in basso come specificità. Guardare prima i conteggi: su un corpus di questa dimensione una registrazione vale 0,019 di sensibilità, e una percentuale suggerisce una precisione che il corpus non ha.
Le dieci registrazioni mancate sono il numero che conta per uno strumento che deve cogliere ciò che un lettore meno esperto potrebbe non vedere. Il punto di lavoro dietro questa tabella massimizza l’indice J di Youden, che tratta una registrazione mancata e un falso allarme come ugualmente costosi. Qui non lo sono, e stabilire quel cambio è un giudizio clinico ancora da prendere.
Il compromesso che decide l’usabilità
Un singolo punto di lavoro nasconde la forma della curva, ed è la forma a stabilire se qualcuno tollererebbe le segnalazioni:
| Vincolo | Risultato |
|---|---|
| FPR ≤ 0,05 | sensibilità 0,686 |
| FPR ≤ 0,10 | sensibilità 0,765 ← punto di lavoro configurato |
| sensibilità ≥ 0,90 | costa un FPR di 0,324 |
Arrivare a 0,90 di sensibilità costa un tasso di falsi positivi del 32%. Un lettore che scarta un terzo delle segnalazioni smette di fidarsi dello strumento: per questo la pipeline fissa il tetto a FPR 0,10 e dichiara lo scarto rispetto all’obiettivo, invece di allentarlo in silenzio.
RisultatiValidazione esterna, il numero che conta
Addestrato su tutto il corpus interno, testato su 100 segmenti provenienti da un altro Paese, ospedale e sistema di registrazione, con standard di riferimento la video-EEG degli eventi abituali. In quel set ogni negativo è a sua volta un transiente aguzzo, un sosia clinico, scelto proprio perché forme d’onda simili causano sovrastima all’EEG.
| ROC-AUC | Accuratezza | |
|---|---|---|
| Solo fase 1 | 0,663 | 0,630 |
| Fase 1 + 1b, soli eventi aggiudicati | 0,790 | 0,740 |
| Fase 1 + 1b, con negativi estratti | 0,888 | 0,800 |
| Esperti umani, stessi 100 casi | non pubblicata | 0,920 |
Qui il modello resta peggiore di un umano, e questo scarto è il titolo onesto. Il secondo stadio ha portato la ROC-AUC esterna da 0,663 a 0,790 sui soli eventi aggiudicati, e a 0,888 una volta aggiunti i negativi estratti dalle registrazioni di controllo; la valutazione degli esperti sugli stessi casi è 0,920. Il divario si è ridotto di circa un terzo. Non si è chiuso.
I numeri interni ed esterni non sono in contraddizione: pongono domande diverse. All’interno la maggior parte dei negativi è normale attività di fondo, e distinguere una punta dal ritmo di base è il problema facile. All’esterno ogni negativo sembra già una scarica, e distinguerli è il problema difficile. La conseguenza è detta chiaramente nel progetto: il modello attuale non è pronto per il pre-screening di registrazioni non selezionate, e la priorità sono più negativi difficili, non più architettura.
Sul set interno tenuto da parte lo stesso schema emerge onestamente: 0,937 di ROC-AUC sugli eventi netti, 0,709 su quelli borderline in cui il panel di esperti stesso era in disaccordo. Quei casi sono genuinamente difficili, non semplicemente non appresi, e i negativi estratti li hanno mossi appena.
RisultatiDescrizione e localizzazione
Le descrizioni in bozza sono valutate sull’accordo dei campi strutturati con l’annotazione dell’esperto, non su metriche di sovrapposizione testuale: una frase può ottenere un buon punteggio BLEU indicando il lobo sbagliato.
Lo stato è solido; la localizzazione è la parte più debole della pipeline. La classe spaziale è in sostanza una proprietà del singolo paziente (33 registrazioni positive su 52 portano esattamente una classe), quindi la numerosità effettiva è quella dei pazienti, non delle epoche. La classe centro-parietale poggia su quattro pazienti. La conclusione onesta è che questo corpus è troppo piccolo per apprendere in modo affidabile una localizzazione a cinque classi, qualunque cosa suggeriscano i conteggi di epoche.
DemoVederla funzionare
Una pagina esportata e autonoma: si sceglie una delle tre registrazioni tenute da parte, si guarda girare rilevamento, localizzazione e descrizione, e si vede dove la pipeline ha guardato. Ogni valore che mostra è output reale del codice versionato.
Apri la demo interattivaSi apre come pagina a sé: è l’export della pipeline, servito senza modifiche anziché ri-vestito.
Prossimi passiDove sta andando
La fase 2 è il contesto ospedaliero pediatrico a cui punta tutto il progetto, e non inizia finché il problema dei sosia non è sotto controllo: uno strumento che incontra EEG di routine incontrerà continuamente falsi aguzzi, perché di quello è pieno l’EEG di routine.
Un risultato della fase 1 merita di essere portato avanti a sé: un errore di normalizzazione dell’ampiezza ha reso per un periodo la prestazione esterna peggiore del punto di partenza, perché la scalatura sull’intero corpus, con eventi anomali, rimpiccioliva di 28 volte le registrazioni nuove. I sistemi di acquisizione differiscono nei microvolt assoluti, quindi qualunque modello che vi si appoggi non trasferisce. Ora è fissato da un test.
Parliamo di questo lavoro