Data science e data mining applicati alla pandemia che nessuno si aspettava
L’epidemia in corso di Coronavirus si è diffusa in Italia con enorme rapidità, dal focolaio di Codogno il 21 Febbraio 2020 si è rapidamente passati ai 1700 casi di contagio del 2 marzo 2020 e poi alle centinaia di migliaia di tutto il periodo.
Per quanto il virus sia tutt’ora molto contagioso (in media ogni contagiato infetta tra 2 e 3 persone: fonte OMS), la crescita così elevata lascia pensare che il virus fosse già presente da diverse settimane in Italia, ed in particolare nelle zone del focolaio.
Casi anomali di polmonite erano stati segnalati per esempio a Piacenza durante il mese di Gennaio 2020. Per andare a fondo e trovare una risposta ad una delle domande più frequenti, la Data Science ci supporta e può risolvere in modo analitico il quesito.
Nel laboratorio Linkalab abbiamo provato ad applicare un’analisi sui social network (Twitter) per verificare la presenza di anomalie sui casi di polmonite dichiarati tra fine 2019 ed inizio 2020, prima della scoperta del focolaio del lodigiano.
LE IPOTESI DI LAVORO:
Nel periodo in esame (Novembre 2019, Gennaio 2020) esiste in Italia e altrove, un numero elevato di casi di polmonite, numero statisticamente differente rispetto a quello degli anni precedenti. Questo numero è statisticamente più evidente nelle regioni Lombardia e Veneto che hanno ospitato i primi casi.
Se l’epidemia inizia in Cina, in Italia il contagio arriva molto presto, prima che negli altri paesi europei. Il numero di polmoniti nel mese di Gennaio in Italia (normalizzato per la popolazione) dovrebbe essere più elevato che negli altri paesi.
L’effetto “eco sulla stampa” legato alle informazioni sul coronavirus in Cina è tendenzialmente lo stesso per i paesi europei. Le conversazioni su Twitter crescono in maniera simile su tutti i paesi europei in seguito alle notizie che arrivano dalla Cina.
L’ANALISI SUI SOCIAL NETWORK
Parliamo di Data Mining infatti: raccogliamo i dati da Twitter relativamente alla “bag of words” che contiene nelle varie lingue le parole “polmonite” e “broncopolmonite” (esempio pneumonie in francese, neumonìa in spagnolo). Usando uno strumento di scraping di Twitter possiamo recuperare un po’ di tweet anche del passato che non sono più disponibili dalle API gratuite.
Una volta raccolti i dati degli ultimi anni sulla parola polmonite, a campione geolocalizziamo gli utenti attribuendo ad ogni utente una regione di provenienza in funzione di cosa ha dichiarato nel campo “location” del proprio account. Il nostro Data Mining continua.
Questa operazione la facciamo utilizzando la chiamata “lookup di Twitter” e per esempio le librerie Tweepy o Twython. Possiamo notare diversi picchi molto evidenti. Nel 2016, nel 2018 e nel picco finale del 2020 (il più alto di tutti viene registrato a fine Febbraio, durante l’epidemia di Coronavirus).
Il grafico risulta più chiaro in versione cumulata:
Il grafico ingrandito nella parte finale (da Luglio 2018 in poi) ha un andamento crescente con degli scalini in corrispondenza della “settimana della polmonite”. Possiamo distinguere due fasi A e B.
I picchi di Settembre sono seguiti da una fase stabile A che non presenta variazioni di pendenza nel segnale se non leggermente decrescenti. A Gennaio 2020, invece, accade qualcosa per cui la curva piega di pendenza in modo deciso e lo fa ancora di più alla fine del segnale ovvero a Febbraio 2020.
La nostra ipotesi predittiva ora è che ci sia un effetto Cina e le discussioni sul Coronavirus che ha modificato la pendenza della curva. Una volta rimosso questo effetto avremo la crescita locale solo Italiana che dovremo capire e studiare individualmente.
Il grafico seguente prova a depurare l’effetto Coronavirus cinese dai casi di polmonite Italiani.
La linea rossa mostra le citazioni di polmonite non direttamente legate al coronavirus, mentre la linea verde considera tutte le citazioni indistintamente.
Le due linee divergono con l’emergere della crisi in Cina ma quello che è interessante è che esiste comunque un cambiamento di pendenza anche della curva rossa. La flessione indica un aumento precoce di casi di polmonite.
È notizia ormai verificata che il coronavirus era già presente in Italia da Gennaio e che negli ospedali delle province più colpite ci fossero dei casi anomali di polmonite.
Nei dati a nostra disposizione troviamo già conferma di questi casi anomali.
Nel prossimo blog post mostreremo come è andata la situazione nei paesi stranieri e come è possibile, dal confronto capire la significatività dell’impatto su Italia e Francia per esempio.