1 Introduzione

Questo studio sul Covid-19 in Italia ha l’obiettivo di fornire una fotografia del contagio ed una una panoramica dei suoi impatti su alcuni settori importanti a livello nazionale: mondo del lavoro, mobilita’, sistema sanitario. Lo studio fornisce anche una ipotesi di modello di diffusione del contagio basandosi su informazioni a livello nazionale ed internazionale.

Il livello di dettaglio dello studio varia a seconda della disponibilita’ delle informazioni trovate: Nazioni, Regioni, Province. Lo studio viene aggiornato quotidianamente con nuove informazioni provenienti dalle sorgenti dati identificate.

Le sorgenti dati prese in considerazione sono:

Alcune note sui dati

Per una corretta interpretazione dello studio e’ altresi’ necessario ricordare le date dei 3 provvedimenti del governo:

2 Diffusione del Virus

Valori Assoluti

In questa sezione vengono esposti i dati in valore assoluto relativamente alla Regioni. I principali punti di attenzione rilevati sono:

Lombardia, Emilia Romagna , Veneto e Piemonte sono le regioni con il maggior numero totale di casi.

Grafico Interattivo Positivi per regione Selezionare la/le regioni di interesse tramite il campo o muovendosi sul grafico. E’ possibile assegnare sino a 5 colori diversi per distinguere graficamente le regioni.

Lombardia e Veneto hanno un numero di Tamponi molto maggiore rispetto alle altre regioni.

L’isolamento domiciliare e’ alto in Lombardia, Veneto ed Emilia Romagna. Dal 19 Marzo anche il Piemonte sta ricorrendo all’isolamento domiciliare piu’ che in precedenza.

Rispetto alle regioni piu’ colpite, il Piemonte ha avuto un incremento dei ricoverati con sintomi che e’ iniziato verso meta’ marzo. Il Veneto ha un numero ricoverati con sintomi basso rispetto alle regioni piu’ colpite.

La Lombardia ha numero di persone in terapia intensiva circa 4 volte rispetto alle altre regioni. Verso il 10 Marzo vi e’ stato un aumento deciso delle terapie intensive di Piemonte, Veneto, Emilia Romagna e Toscana.

La Lombardia ha numero di persone decedute nettamente piu’ elevato.

Grafico Interattivo Nuovi Positivi per regione Selezionare la/le regioni di interesse tramite il campo o muovendosi sul grafico. E’ possibile assegnare sino a 5 colori diversi per distinguere graficamente le regioni.

La curva dei nuovi positivi e’ in fase di discesa ma con una pendeza meno ripida rispetto alla salita prospettando forse un decorso piu’ lungo del previsto.

P.A. di Bolzano e Liguria hanno una densita’ di positivi per kilometro quadrato relativamente alta rispetto alle regioni piu’ colpite; bisogna tenere in considerazione che sono aree con densita’ di popolazione simile al Veneto.

Valori Percentuali

In questa sezione vengono esposti dati in valore percentuale al fine di confrontare le situazioni regionali rispetto a popolazione e abitanti positivi. Le sequenze temporali dei dati hanno valori molto discontinui e quindi e’ stata effettuata una interpolazione (smooth) per rendere piu’ comprensibile l’andamento. I principali punti di attenzione rilevati sono:

  • Valle d’Aosta e P.A. Trento hanno raggiunto la percentuale di positivi piu’ alta.

  • Veneto, P.A: Bolzano e Trento hanno raggiunto la percentuale di Tamponi piu’ alta.

  • Il Piemonte ha una percentuale di isolamento domiciliare che sino a meta’ marzo era la piu’ bassa con un numero di ricoverati con sintomi alto.

Percentuali rispetto alla popolazione regionale

Percentuali rispetto ai positivi

Matrici di Correlazione

In questa sezione viene effettuata uan analisi di correlazione tra i seguenti parametri: totale ricoverati con sintomi, isolamento domiciliare, totale attualmente positivi, nuovi attualmente positivi, tamponi

I coefficenti di correlazione risultano essere sempre elevati e positivi, interessanti sono le correlazioni tra i tamponi e le altre variabili. Nella matrice di correlazione a livello Italiano si notano chiaramente diverse direttrici di crescita nelle correlazioni, l’effetto dovrebbe essere dovuto ai diversi approcci adottati ndalle singole regioni.

Le correlazioni “Tamponi-variazione totale positivi” hanno invece una distribuzione piu’ sparsa in cui e’ piu’ difficile determinare qualche forma di correlazione.

In Piemonte abbiamo una seconda conferma dell’iniziale rapporto “atipico” tra Tamponi ed Isolamento Domicilare.

Calcolo di Rt

Il numero di riproduzione, R, e’ il numero medio di casi secondari di malattia causati da un singolo individuo infetto durante il suo periodo infettivo. Questo indicatore statistico, specifico per tempo e situazioni, e’ comunemente usato per caratterizzare trasmissibilita’ dei patogeni durante un’epidemia. Il monitoraggio di R nel tempo fornisce feedback sull’efficacia di interventi e sulla necessita’ di intensificare gli sforzi di controllo, visto che l’obiettivo del controllo e’ di ridurre R al di sotto del valore soglia di 1 ed il piu’ vicino possibile a 0, riconducendo quindi un’epidemia sotto controllo.

Di seguito i valori di Rt per le varie regioni italiane calcolati secondo il modello descritto da Anne Cori&all [1] e disponibile con il package R EpiEstim [2]

[1] A New Framework and Software to Estimate Time-Varying Reproduction Numbers During Epidemics Anne Cori, Neil M. Ferguson, Christophe Fraser, and Simon Cauchemez American journal of epidemiology. 2013

[2] Tools to quantify transmissibility throughout an epidemic from the analysis of time series of incidence as described in Cori et al. (2013) doi:10.1093/aje/kwt133 and Wallinga and Teunis (2004) doi:10.1093/aje/kwh255

Al modello vengono fornite le curva epidemica ed il seguente Generation Time.

Situazione complessiva

Nei grafici vengono scartati i primi 15 gg della serie e l’inizio del calcolo degli indici e’ circa meta’ di Marzo.

Di seguito una sintesi a livello nazionale anche se, vista la diversita’ con cui si e’ diffuso il virus nelle varie regioni, ha una rilevanaza minore rispetto ai valori di Rt locali.

Dettaglio di alcune Regioni

3 Assistenza Sanitaria

I dati della protezione civile sulla diffusione del contagio forniscono una prima idea di quanto il nostro sistema sanitario sia sotto pressione, in questa sezione proviamo ad approfondire alcuni aspetti come la popolazione a rischio ed una stima del carico su SSN. Viene anche effettuata una breve analisi dell’approccio utilizzato nella gestione dei tamponi nelle differenti regioni.

Analisi dei Tamponi

Analizzare non solo la numerosita’ dei tamponi ma le loro modalita’ di uso e’ importante (oltre che per fini diagnistici) anche per poter interpretare meglio i dati disponibili.

Il numero di Tamponi giornaliero e’ naturalmente in continuo aumento e con momenti di calo ricorrente a cui pare associato un relativo calo dei nuovi casi qualche giorno successivo.

Utilizzando il numero di casi testati si cerca di individuare il numero di tamponi medio effettuato per ogni persona positiva al covid. Ipotizzando che la negativita’ di una persona sia definita con un solo tampone viene effettuato il seguente calcolo.

  • negativi al primo tampone = casi testati - totale dei casi di covid

Persone negative al covid e con un solo tampone effettuato (Ipotizzando un tampone per esito negativo).

  • num tamponi fatti ai positivi = totale tamponi - negativi al primo tampone

Persone positive al covid con almeno un tampone (positivi, dimessi e deceduti)

  • num di tamponi per positivo = num tamponi fatti ai positivi / totale dei casi

Tutte le persone che hanno contratto il virus ed in teoria dovrebbero aver fatto piu’ di un tampone.

Quasi tutte le regioni sono sotto i 6 tamponi, alcune regioni dagli 11 ai 16 tamponi.

Popolazione a rischio

L’obiettivo di questa sezione e’ determinare quale e’ il potenziale bacino di popolazione maggiormente a rischio nelle varie regioni tenuto conto:

  • dei dati ISTAT relativi alle patologie piu’ comuni in italia nel 2018.

  • del bollettino settimanale riguardante le caratteristiche delle persone decedute fornito dall’Istituto superiore di Sanita’ (dati tabella Patologie preesistenti osservate piu’ frequentemente).

E’ stato possibile confrontare questi due dataset su un numero minore di patologie rispetto a quelle definite dall’Istituto superiore di Sanita’ in quanto non vi e’ lo stesso dettaglio delle patologie presenti nel dataset ISTAT. Il confronto e’ stato dunque eseguito su queste patologie: Ipertensione arteriosa, Cardiopatia ischemica, Fibrillazione atriale, Scompenso cardiaco, Diabete mellito-Tipo 2, Broncopneumopatia cronica ostruttiva


Fig: ISS Patologie preesistenti osservate piu’ frequentemente (30 marzo)



Il calcolo effettuato riporta le percentuali delle patologie delle persone decedute rispetto ai dati delle persone con quelle patologie a livello regionale. In questo modo si da una visione numerica qualitativa del bacino di popolazione potenzialmente a rischio per ogni regione. Probabilmente dovrebbe essere considerato un bacino di persone su cui andrebbero effettuati controlli (per esempio tamponi).

Il grafico mostra come l’ipertensione arteriosa sia di gran lunga il fattore di maggiore rischio e come varia da regione a regione. Il diabete tipo II e’ il secondo fattore di rischio ma e’ piu’ costante nelle varie regioni.

Le persone con piu’ di una patologia sono ovviamente maggiormente a rischio ma sono escluse dall’istogramma in quanto gia’ comprese nei valori rappresentati.

Confronto patologie pre-esistenti nei decessi covid con diffusione delle patologie nelle Regioni

Di seguito il dettaglio che confronta, per alcune regioni, le percentuali di patologie della popolazione e le percentuali di patologie riscontrate nei decessi di pazienti Covid. Le regioni elencate (Lombardia, Veneto, Piemonte, Emilia Romagna) hanno tutte l’ipertensione come patologia piu’ diffusa, la seconda patologia e’ una patologia polmonare mentre i dati sui decessi evidenziano una incidenza maggiore del diabete di tipo II e delle cardiopatie ischemiche.

Carico sul SSN

L’obiettivo di questa sezione e’ determinare quale e’ una ipotesi di indice di carico sul SSN tenuto conto del rapporto tra:

  • somma del numero di persone nelle varie fasi in cui vengono a contatto con il SSN in maniera pesata a seconda dell’impegno nelle cure: isolamento_domiciliare, ricoverati_con_sintomi, terapia_intensiva, deceduti". A questi vengono sottratti il numero di dimessi_guariti. (i pesi sono attribuiti arbitrariamente e migliorabili).

  • dati ISTAT relativi al peronale medico in italia nel 2017 (medici specialistici, medici di base e personale infermieristico).

Gli indici calcolati riferendosi a personale 2017 non tengono in conto le nuove assunzioni, sono quindi indici probabilmente piu’ pessimistici della reale situazione odierna.

Oltre alla Lombardia la regioni con piu’ carico sul SSN risulta essere il Piemonte. I dati della Valle d’Aosta sembrano essere errati. Alle curve e’ stato applicato uno smooth

4 Mercato del Lavoro

In questa sezione viene visualizzata la percentuale di addetti sospesi dal lavoro a livello provinciale a fronte del DPCM del 22 Marzo e delle relative categorie economiche dell’allegato 1.

Industria e Servizi

In questa prima parte viene evidenziata la percentuale di sospensione totale dal lavoro e quelle parziali su industria e servizi.

Percentuale Sospensione dal lavoro (Industria+Servizi)

Percentuale Sospensione dal lavoro (parziali)

Dettaglio Categorie Ateco

In questa seconda parte vengono evidenziate in valore assoluto le macro categorie produttive dopo il DPCM del 22 Marzo.

Il DPCM sospende completamente alcune categorie lavorative ed alcune in modo parziale facendo riferimento ai relativi codici numerici Ateco. Nel visualizzare i dati si e’ scelto di considerare approssimativamente meta’ del numero di lavoratori relativamente a quelle categorie che sono parzialmente sospese dal decreto. A tal proposito ricordiamo:

  • macro categorie non sospese: fornitura di energia elettrica, gas, vapore e aria condizionata; servizi di informazione e comunicazione; trasporto e magazzinaggio; sanita’ e assistenza sociale, istruzione.

  • macro categorie sospese: attivita’ immobiliari; attivita’ artistiche, sportive, di intrattenimento e divertimento.

I diagrammi seguenti mostrano solo i lavoratori sospesi delle macro categorie parzialmente sospese in quanto le categorie completamente sospese sarebbero visualizzate come mappe uniformi con il valore totale degli addetti per quella categoria, oppure, uniformemente a zero per le categorie non sospese.

Dal calcolo sono ecluse le categorie relative all’agricoltura in quanto non presenti come dato nel report ISTAT.

5 Trasporti e Mobilita’

Matrici Origine-Destinazione

In questa sezione si cerca di dare una visione di come e’ cambiata la mobilita’ ma soprattutto di come i lockdown possano contribuire diminuire la diffusione del contragio tra le province italiane.

I dati ISTAT di matrice origine-destinazione degli spostamenti per motivi di lavoro o di studio si riferiscono alla popolazione residente nel 2011.

I files contengono dati sul numero di persone che si spostano tra comuni (o all’interno dello stesso comune) classificate per: motivo dello spostamento, mezzo di trasporto, fascia oraria di partenza e la durata del tragitto.

La base di calcolo sono 28.871.447 persone che hanno dichiarato di recarsi giornalmente al luogo abituale di studio o di lavoro, partendo dalla propria residenza.

Per rendere leggibile la rete della mobilita’ si e’ effettuato un taglio delle direttrici origine-destinazione sotto i 1000 spostamenti e sono inoltre stati eliminati gli spostameti all’interno della stessa provincia. Nella rete N e’ il numero di spostamenti giornalieri. Queste semplificazioni hanno l’obiettivo di valutare la rete di propoagazione del contagio tra le varie province.

Come prevedibile il grafo conferma sostanzialmente il legame tra le necessita’ di trasporto e le aree di maggior diffusione del Virus. Nel grafo si nota il “cluster” Centro-Nord (che arriva sino a Pescara-Chieti) e quello Centro-Sud (che va da Pisa a Salerno). Chiaramente sono mappe di “pendolarismo” ma diventano anche linee di diffusione del contagio.

Versione della mappa Interattiva

Effetto dei Lockdown

Italia

Per effetto dei Lockdown la mobilita’ in italia si e’ proggressivamente ridotta da una Baseline del 100% ad un circa 15% attuale. Nel grafico sono evidenziate in arancione le tre misure adottate dal governo (25 Febbraio, 8 e 12 Marzo). Le tre curve rappresentano i trend individiuati da Apple e si riferiscono a: Persone a piedi, con i mezzi di trasporto pubblico e con i mezzi di trasporto privato.

Se compariamo la riduzione di mobilita’ con il numero di nuovi casi giornalieri notiamo che poco dopo meta’ aprile quest’ultimo e’ ritornato circa ai livelli del 12 Marzo.

Il video seguente mostra una simulazione dell’effetto della riduzione di mobilita’ sulle connessioni tra le varie provincie. In qualche modo evidenzia quali “catene di contagio” a livello nazionale vengono rescisse. I dati sono naturalmente una stima in quando vengono rescisse le catene “deboli” sotto i 1000 spostamenti ipotzzando una minor probabilita’ di diffusione extra provincia.

Worldwide

Per l’analisi worldwide ci concentriamo su alcune nazioni: Spagna, Germania e Corea del Sud.

La Corea del Sud ha dei pattern di mobilita’ decisamente diversi dalle nazioni europee, contiene molto i contagi ed ha solo una diminuzione di mobilita di circa il 50%.

Spagna

Prima dei rispettivi lockdown, la Spagna ha avuto un incremento di mobilita’ piu’ evidente rispetto a Francia e Germania ed ha un aumento dei casi maggiore con un lockdown probabilmente tardivo; il tempo trascorso tra la mobilita’ piena ed il circa 15% di mobilita’ e’ molto breve.

Germania

La Germania ha una riduzione della mobilita’ minore rispetto alle altre due nazioni europee (poco meno del 50%) ma, nonostante questo, sembra contenere il picco di nuovi contagi.

Corea del Sud

La Corea del Sud e’ completamente diversa dalle curve europee ed e’ un caso a parte. La riduzione della mobilita’ si attesta intorno al 50% ed i nuovi casi sono stati contenuti molto efficacemente.

6 Modello di diffusione

In questa sezione il modello di diffusione del virus viene studiato come analisi di serie temporali (Time Series Forecasting) ed effettuata sul cumulato dei casi di positivita’.

Analisi modelli

Gompertz

La diffusione della malattia potrebbe essere modellata utilizzando una curva a Sigmoide in quanto la crescita e’ inizialmente esponenziale ma rallenta dopo un certo punto di flesso che e’ il punto medio della diffusione.

La funzione scelta e’ la funzione di Gompertz, funzione sigmoide che descrive la crescita come lenta all’inizio ed alla fine di un determinato periodo di tempo. L’asintoto superiore viene raggiunto molto piu’ gradualmente dalla curva rispetto all’asintoto inferiore. Al fine diminuire il rumore generato dalla raccolta dati viene applicata una funzione LOESS (Local Polynomial Regression) prima della funzione di Gompertz.


Fig: Gompertz



I grafici seguenti rappresentano una ipotesi di andamento a Sigmoide sul totale dei casi a livello Nazionale ed un dettaglio su Piemonte e Lombardia. I riferimenti verticali arancioni sono i lockdown.

ITALIA

PlotCountry <- CovidGompertzFunctionItalia("ITA-")

# total PLot Confirmed Cases
pl1 <- ggplot(PlotCountry, aes(x=days)) +
  geom_point( aes(y=ConfirmedCases), size=2, color="green4") + 
  geom_line( aes(y=PredConfirmedCases), size=1, color="orangered") +
  scale_y_continuous(
    name = "ConfirmedCases",
    sec.axis = sec_axis(~.*1, name="Pred")
  ) + 
  theme(
    axis.title.y = element_text(color = "green4", size=13),
    axis.title.y.right = element_text(color = "orangered", size=13),
    axis.text.x = element_text(angle = 90)
  ) +
  geom_vline(xintercept = firstlockdown, color="orange", size=1) +
  geom_vline(xintercept = secondlockdown, color="orange", size=1) +
  ggtitle(paste0("Confirmed Cases Comparison "))

pl2 <- ggplot(PlotCountry, aes(x=days)) +
  geom_point( aes(y=Fatalities), size=2, color="green4") + 
  geom_line( aes(y=PredFatalities), size=1, color="orangered") +
  scale_y_continuous(
    name = "Fatalities",
    sec.axis = sec_axis(~.*1, name="Pred")
  ) + 
  theme(
    axis.title.y = element_text(color = "green4", size=13),
    axis.title.y.right = element_text(color = "orangered", size=13),
    axis.text.x = element_text(angle = 90)
  ) +
  geom_vline(xintercept = firstlockdown, color="orange", size=1) +
  geom_vline(xintercept = secondlockdown, color="orange", size=1) +
  ggtitle(paste0("Fatalities Comparison "))

grid.arrange(pl1, pl2, ncol=2)

#Model and residual
ModelCountry <- CovidGompertzModelItalia ("ITA-")
summary(ModelCountry)
fitres <- nlsResiduals(ModelCountry)
plot(fitres, which = 0)

LOMBARDIA

PlotCountry <- CovidGompertzFunctionItalia("ITA-Lombardia")

# total PLot Confirmed Cases
pl1 <- ggplot(PlotCountry, aes(x=days)) +
  geom_point( aes(y=ConfirmedCases), size=2, color="green4") + 
  geom_line( aes(y=PredConfirmedCases), size=1, color="orangered") +
  scale_y_continuous(
    name = "ConfirmedCases",
    sec.axis = sec_axis(~.*1, name="Pred")
  ) + 
  theme(
    axis.title.y = element_text(color = "green4", size=13),
    axis.title.y.right = element_text(color = "orangered", size=13),
    axis.text.x = element_text(angle = 90)
  ) +
  geom_vline(xintercept = firstlockdown, color="orange", size=1) +
  geom_vline(xintercept = secondlockdown, color="orange", size=1) +
  ggtitle(paste0("Confirmed Cases Comparison "))

pl2 <- ggplot(PlotCountry, aes(x=days)) +
  geom_point( aes(y=Fatalities), size=2, color="green4") + 
  geom_line( aes(y=PredFatalities), size=1, color="orangered") +
  scale_y_continuous(
    name = "Fatalities",
    sec.axis = sec_axis(~.*1, name="Pred")
  ) + 
  theme(
    axis.title.y = element_text(color = "green4", size=13),
    axis.title.y.right = element_text(color = "orangered", size=13),
    axis.text.x = element_text(angle = 90)
  ) +
  geom_vline(xintercept = firstlockdown, color="orange", size=1) +
  geom_vline(xintercept = secondlockdown, color="orange", size=1) +
  ggtitle(paste0("Fatalities Comparison "))

grid.arrange(pl1, pl2, ncol=2)

#Model and residual
ModelCountry <- CovidGompertzModelItalia ("ITA-Lombardia")
summary(ModelCountry)
fitres <- nlsResiduals(ModelCountry)
plot(fitres, which = 0)

PIEMONTE

PlotCountry <- CovidGompertzFunctionItalia("ITA-Piemonte")

# total PLot Confirmed Cases
pl1 <- ggplot(PlotCountry, aes(x=days)) +
  geom_point( aes(y=ConfirmedCases), size=2, color="green4") + 
  geom_line( aes(y=PredConfirmedCases), size=1, color="orangered") +
  scale_y_continuous(
    name = "ConfirmedCases",
    sec.axis = sec_axis(~.*1, name="Pred")
  ) + 
  theme(
    axis.title.y = element_text(color = "green4", size=13),
    axis.title.y.right = element_text(color = "orangered", size=13),
    axis.text.x = element_text(angle = 90)
  ) +
  geom_vline(xintercept = firstlockdown, color="orange", size=1) +
  geom_vline(xintercept = secondlockdown, color="orange", size=1) +
  ggtitle(paste0("Confirmed Cases Comparison "))

pl2 <- ggplot(PlotCountry, aes(x=days)) +
  geom_point( aes(y=Fatalities), size=2, color="green4") + 
  geom_line( aes(y=PredFatalities), size=1, color="orangered") +
  scale_y_continuous(
    name = "Fatalities",
    sec.axis = sec_axis(~.*1, name="Pred")
  ) + 
  theme(
    axis.title.y = element_text(color = "green4", size=13),
    axis.title.y.right = element_text(color = "orangered", size=13),
    axis.text.x = element_text(angle = 90)
  ) +
  geom_vline(xintercept = firstlockdown, color="orange", size=1) +
  geom_vline(xintercept = secondlockdown, color="orange", size=1) +
  ggtitle(paste0("Fatalities Comparison "))

grid.arrange(pl1, pl2, ncol=2)

#Model and residual
ModelCountry <- CovidGompertzModelItalia ("ITA-Piemonte")
summary(ModelCountry)
fitres <- nlsResiduals(ModelCountry)
plot(fitres, which = 0)

Sull’ipotesi Regressione Sigmoide il paper Prediction and analysis of Coronavirus Disease 2019 mette a confronto tre tipi di modelli per la Cina: Logistic, Gompertz, Bertalanffy

Questi modelli sembra abbiamo raggiunto performance differenti a seconda della zona della Cina su cui e’ stata effettuata l’analisi (Wuhan, non-Hubei …..).

Prediction and analysis of Coronavirus Disease 2019 China university of Geosciences (Beijing), Stanford University, Stanford, CA 94305, USA

https://arxiv.org/ftp/arxiv/papers/2003/2003.05447.pdf

SIR

I modelli compartimentali sono tecniche per modellare le malattie infettive e prevede che la popolazione sia divisa in compartimenti con caratteristiche differenti tra loro. Il modello SIR e’ un modello compartimentale semplice e prevede tre gruppi in cui la popolazione puo’ essere:

  • S sana ma suscettibile alla malattia

  • I con l’infezione

  • R ripresa dall’infezione

Per modellare la dinamica dell’epidemia servono tre equazioni differenziali e relativi parametri che definiscono la trasizione tra i gruppi:

  • beta parametro che controlla la transizione tra S e I

  • gamma parametro controlla la transizione tra I e R


Fig: Modello SIR



Per adattare il modello ai dati e’ necessario risolvere le equazioni differenziali e ridurre al minimo la somma delle differenze al quadrato tra il numero di I infetti ed il numero corrispondente di casi previsti nel modello (ad un tempo t). Un numero importante nel modello e’ il numero di riproduzione di base R0 che indica il numero di nuovi casi generati in media da un singolo caso durante il proprio periodo infettivo.


Fig: Equazioni differenziali e RSS (residual sum of squares)



SIR a livello Nazionale

Come dati iniziali per il modello a livello Nazionale prendiamo in considerazione i 224 casi positivi (I) al 24 febbraio ed una popolazione Italiana (S) di circa 60 milioni di individui.

Il modello base mostra i grafici SIR ed i relativi valori di beta, gamma e R0. Il valore di R0 calcolato ad oggi e’: (1.0422969.)

Visti i valori numerici elevati e’ preferibile utilizzare una scala logaritmica.

Nel grafico le linee continue rappresentano il modello SIR con visualizzazione su scala logaritmica, i punti(blu, rossi e verdi) rappresentano i valori osservati ad oggi a livello Nazionale. Quello che si nota e’ un numero di R (recovered) minore di I (Infected) ed una curvatura che lascia intravedere un picco di infetti e di persone riprese minore di quello ipotizzato dal modello e con possibile traiettoria piu’ contenuta.

Limiti del modello

Una possibile spiegazione della discrepanza tra modello e valori reali e’ che il Modello SIR e’ un modello che fa alcune ipotesi:

  • Nessuna incubazione o periodo di latenza. Un periodo di incubazione ritarda l’intera sequenza temporale dell’epidemia.

  • Esiste un solo tipo di individuo infettivo. Nel mondo reale, diversi sistemi immunitari rispondono in modo diverso al virus, portando alcune persone ad essere completamente asintomatiche ed a casi lievemente infettivi. Nel caso di CoVID19 si ritiene che il numero di casi asintomatici sia pari o superiore al 40%.

  • Il modello non tiene conto che si sono attuate procedure di lockdown per cercare di contenere la diffusione della epidemia e che probabilmente hanno avuto un effetto positivo.

  • Un presupposto e’ che la popolazione sia mista e che ogni individuo sia in potenziale contatto con qualsiasi altro individuo. Questo ovviamente non e’ possibile ma puo’ essere un’approssimazione abbastanza buona per l’analisi qualitativa delle dinamiche epidemiche. Nella realta’ paesi e citta’ non sono popolazioni omogenee e vi sono transizioni tra aree di popolazione (come evidenziato nella matrice OD).

Questo articolo fornisce dettagli ulteriori dei concetti espressi in questa analisi su SIR.

https://medium.com/data-for-science/epidemic-modeling-101-or-why-your-covid19-exponential-fits-are-wrong-97aa50c55f8

ARIMA

ARIMA e’ un modello autoregressivo (AR) a media mobile (MA) ed e’ un tipo di modello matematico che fornisce istante per istante un valore di uscita basandosi sui precedenti valori in entrata e in uscita.

  • AR sta per regressione automatica (p)

  • I sta per termine di differenziazione (d)

  • MA sta per media mobile (q)

Il modello e’ realizzato con dati a livello nazionale.

Prima di tutto e’ necessario verificare le funzioni Stazionarieta’ e pre-autocorrelazione ACF e Partial ACF.

Verifica se i dati delle serie storiche sono stazionari

A meno che le serie storiche non siano stazionarie, non e’ possibile creare un modello. Nei casi in cui i criteri di stazionarieta’ vengono violati, e’ necessario rendere stazionarie le serie temporali e provare modelli stocastici per le previsioni. Il test Dickey-Fuller viene eseguito per verificare se i dati sono stazionari. L’Ipotesi nulla e’ che sia presente una “unit root” nel campione e quindi la serie temporale sia non stazionaria. L’ipotesi alternativa e’ che le serie storiche siano stazionarie.

p-value < 0,05 quindi la serie temporale sembra stazionaria, possiamo ora eseguire la modellazione con ARIMA.

Auto ARIMA

Per deteminare il modello ARIMA migliore utiliziamo una funzione basata sull’algoritmo di Hyndman-Khandakar (Hyndman & Khandakar, 2008) che minimizza AIC (Akaike information criterion) ed MLE (Maximum Likelihood estimator).

## Series: Nazionale$totale_casi 
## ARIMA(2,2,2) 
## 
## Coefficients:
##          ar1      ar2     ma1     ma2
##       1.2603  -0.8884  -1.444  0.9167
## s.e.  0.0448   0.0542   0.063  0.0405
## 
## sigma^2 estimated as 129882:  log likelihood=-1065.58
## AIC=2141.15   AICc=2141.58   BIC=2156.07
##                     ME     RMSE      MAE       MPE      MAPE     MASE
## Training set 0.8951039 353.0103 243.6407 0.5680988 0.9776128 0.146369
##                     ACF1
## Training set -0.01149847

Analisi dei residui

Il test Box Ljung viene eseguito per verificare l’autocorrelazione (l’ipotesi nulla e’ la non autocorrelazione). Se il p_value > 0,5 l’ipotesi nulla e’ accettata ed i residui sono indipendenti, garanzia di un modello corretto.

## 
##  Ljung-Box test
## 
## data:  Residuals from ARIMA(2,2,2)
## Q* = 42.402, df = 6, p-value = 1.531e-07
## 
## Model df: 4.   Total lags used: 10

p-values e’ di poco inferiore a 0.5 e non accettiamo l’ipotesi nulla di Non-autocorrelazione.

Le aree di Forecast sono: Low 80, High 80, Low 95, High 95 e la variabilita’ di valori previsti e’ alta.

7 Kaggle Challenge (14 Aprile 2020)

In questa sezione vengono esposti dati world wide utilizzati per la challenge COVID19 Global Forecasting (Week 4). I grafici sono quindi statici ed aggiornati al 14 Aprile 2020

I tre modelli proposti sono interessanti per la predizione dei dati cumulati ma sembra che la regressione logistica sia il modello piu’ verosimilmente adeguato. In particolare la scelta e’ Gompertz perche’ fornisce un RSMLE migliore rispetto ad altre regressioni. Prima di applicare la regressione logistica, al fine diminuire il rumore generato dalla raccolta dati, viene applicata una funzione LOESS (Local Polynomial Regression).

Valutazione del modello

Il modello viene applicato e valutato su dati a livello mondiale forniti dal Johns Hopkins University Center for Systems Science and Engineering (JHU CSSE).

Italia

Forecast

Analisi modello e Residui

## 
## Formula: ConfirmedCasesLoess ~ SSgompertz(days, Asym, b2, b3)
## 
## Parameters:
##       Estimate Std. Error t value Pr(>|t|)    
## Asym 2.160e+05  9.429e+02  229.08   <2e-16 ***
## b2   8.057e+01  2.057e+00   39.17   <2e-16 ***
## b3   9.348e-01  4.339e-04 2154.72   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 671.4 on 87 degrees of freedom
## 
## Number of iterations to convergence: 15 
## Achieved convergence tolerance: 1.49e-08

China-Hubei

Forecast

Analisi modello e Residui

## 
## Formula: ConfirmedCasesLoess ~ SSgompertz(days, Asym, b2, b3)
## 
## Parameters:
##       Estimate Std. Error t value Pr(>|t|)    
## Asym 6.837e+04  1.947e+02  351.15   <2e-16 ***
## b2   1.110e+01  6.150e-01   18.05   <2e-16 ***
## b3   8.641e-01  2.616e-03  330.27   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1347 on 87 degrees of freedom
## 
## Number of iterations to convergence: 20 
## Achieved convergence tolerance: 1.49e-08

US-New York

Forecast

Analisi modello e Residui

## 
## Formula: ConfirmedCasesLoess ~ SSgompertz(days, Asym, b2, b3)
## 
## Parameters:
##       Estimate Std. Error t value Pr(>|t|)    
## Asym 3.866e+05  4.860e+03   79.55   <2e-16 ***
## b2   1.998e+02  1.120e+01   17.83   <2e-16 ***
## b3   9.337e-01  8.418e-04 1109.18   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1225 on 87 degrees of freedom
## 
## Number of iterations to convergence: 29 
## Achieved convergence tolerance: 1.49e-08

Conclusioni

  • La significativita’ dei parametri presi in considerazione (Asym, xmid, scal) e’ buona.

  • Il Residual standard error (errore standard residuo) e’ una misura della qualita’ della regressione. RSE e’ il valore medio di quanto la risposta devia dalla linea di regressione reale. Nel caso della regressione adottata i valori di RSE variano tra 500 e 800.

  • Il diagramma “Residual vs Fitted” e’ utile per la valutazione della linearita’ e dell’omoscedasticita’. La linearitea’ viene soddisfatta se i residui (punti sul diagramma) sono distribuiti principalmente sulla linea dello zero. Se non vi e’ alcun modello visibile dei residui allora il diagramma puo’ siginificare l’esistenza di Omoscedasticita’ Nel caso della della regressione adottata notiamo funzioni “sinusoidali” che sono distributi sulla linea dello zero indica linearita’ e non Omoscedasticita’(stiamo stimando una sola variabile).

  • Il diagramma QQ viene utilizzato per verificare l’assunzione di normalita’, piu’ i punti residui sono vicini alla linea, piu’ e’ probabile che l’assunzione della normalitea’ sia soddisfatta. Come possiamo vedere, questo e’ principalmente il caso dei valori osservati.

  • Come metrica per valutare il modello si e’ considerato RMSLE root mean squared logarithmic error. L’RMSLE Nuovi Casi e’ (0.4667396), l’RMSLE Decessi: (0.1399827)


Fig: root mean squared logarithmic error