Ogni settimana l'Istituto Nazionale di Fisica Nucleare (INFN) importa un dataset anonimo a livello individuale dall'Istituto Superiore di Sanità (ISS) e lo converte in serie temporali di incidenza organizzate per data di evento e disaggregate per sesso, età e livello amministrativo con un periodo di consolidamento di circa due settimane. L'informazione disponibile all'INFN è riassunta nella seguente meta-tabella:
Nome variabile | Descrizione | Codice / Formato | Mancante |
---|---|---|---|
REGIONEDIAGNOSI |
Regione di diagnosi | Codice regionale ISTAT | No |
ETA |
Età del paziente in anni alla data di inizio dei sintomi o della diagnosi | Sì | |
SESSO |
Sesso | F = femmina; M = maschio; U = sconosciuto |
No |
NAZIONALITA |
Nazionalità | ISO3166-1 | Sì |
PROVINCIADOMICILIORESIDENZA |
Provincia di domicilio o di residenza se mancante | Codice provinciale ISTAT | Sì |
OPERATORESANITARIO |
Operatore sanitario | Y = sì; N = no; U = sconosciuto |
No |
DATAPRELIEVO |
Data prelievo del tampone | gg/mm/aaaa | Sì |
DATADIAGNOSI |
Data della diagnosi | gg/mm/aaaa | Sì |
SINTOMATICO |
Presenza di sintomi | Y = sì; N = no; U = sconosciuto |
No |
DATAINIZIOSINTOMI |
Data di inizio sintomi | gg/mm/aaaa | Sì |
RICOVERO |
Ricovero | Y = sì; N = no; U = sconosciuto |
No |
DATARICOVERO |
Data di ricovero | gg/mm/aaaa | Sì |
TERAPIAINTENSIVA |
Terapia intensiva | Y = sì; N = no; U = sconosciuto |
No |
DATATERAPIAINTENSIVA |
Data di ricovero in terapia intensiva | gg/mm/aaaa | Sì |
DECEDUTO |
Deceduto con Covid-19 | Y = sì; N = no; U = sconosciuto |
No |
DATADECESSO |
Data del decesso | gg/mm/aaaa | Sì |
CASOIMPORTATO |
Caso importato da estero | Y = sì; N = no; U = sconosciuto |
No |
I dati originali sono stati archiviati qui, riorganizzati qui e i relativi contenuti sono riassunti nella seguente tabella:
I dati di input sono stati archiviati qui e contengono le seguenti informazioni:
- Dati aggregati nella cartella
daily_incidences_by_region
:- Serie temporali giornaliere e in media mobile settimanale di casi confermati per data di inizio sintomi a livello regionale;
- Serie temporali giornaliere e in media mobile settimanale di ammissioni ordinarie per data di ammissione a livello regionale;
- Serie temporali giornaliere e in media mobile settimanale di ammissioni intensive per data di ammissione a livello regionale;
- Serie temporali giornaliere e in media mobile settimanale di casi deceduti per data di decesso a livello regionale.
- Dati disaggregati nella cartella
daily_incidences_by_region_sex_age
:- Serie temporali in media mobile settimanale di casi sintomatici per data di inizio sintomi stratificati per sesso ed età a livello regionale;
- Serie temporali in media mobile settimanale di casi confermati per data di diagnosi stratificati per sesso ed età a livello regionale;
- Serie temporali in media mobile settimanale di ammissioni ordinarie per data di ammissione stratificati per sesso ed età a livello regionale;
- Serie temporali in media mobile settimanale di ammissioni intensive per data di ammissione stratificati per sesso ed età a livello regionale;
- Serie temporali in media mobile settimanale di casi deceduti per data di decesso stratificati per sesso ed età a livello regionale.
I dati di output sono stati archiviati qui e contengono le seguenti informazioni:
- Serie temporali giornaliere ricostruite di casi confermati per data di diagnosi stratificati per sesso ed età a livello regionale;
- Serie temporali giornaliere ricostruite di casi sintomatici per data di inizio sintomi stratificati per sesso ed età a livello regionale;
- Serie temporali giornaliere ricostruite di ammissioni ospedaliere ordinarie per data di ammissione stratificati per sesso ed età a livello regionale;
- Serie temporali giornaliere ricostruite di ammissioni ospedaliere intensive per data di ammissione stratificati per sesso ed età a livello regionale;
- Serie temporali giornaliere ricostruite di casi deceduti per data di decesso stratificati per sesso ed età a livello regionale.
I dati grezzi sono scaricati dall'INFN (download diretto qui), decompressi, archiviati nella cartella 0_archive
e poi organizzati nella cartella 1_structured_archive
mediante l'esecuzione dello script data_organization.jl.
In generale, data una media mobile di una serie temporale, non è possibile recuperare la serie originale almeno che non siano noti n punti originali dove n è l'ampiezza della finestra adottata nella media mobile, ma dal momento che le serie di incidenza della sorveglianza epidemiologica sono composte strettamente da numeri naturali, possiamo sfruttare questa proprietà per arrivare ad un numero finito di potenziali serie originali, poi sfoltirle il più possibile, sperabilmente ad una unica che sarebbe la serie originale esattamente ricostruita.
L'intera procedura è effettuata mediante l'esecuzione dello script main.jl e i dettagli tecnici rilevanti si possono trovare nella documentazione del pacchetto UnrollingAverages.jl.
Le serie temporali mediate che devono essere srotolate (i.e. recuperate, ricostruite) sono quelle archiviate nella cartella 2_input/daily_incidences_by_region_sex_age
: sono organizzate in file in formato .csv, ognuno dei quali contenente le 10 serie specifiche per le classi d'età di una particolare incidenza in una particolare regione. Ogni dataset ha altri due datasets associati che sono ulteriormente stratificati per sesso.
Dal momento che minore sono i numeri coinvolti e meglio sembra performare UnrollingAverages.jl, abbiamo optato per ricostruire prima le serie stratificate per sesso ed aggregarle in seguito. Poiché non tutte le serie mediate stratificate per sesso ed età permettono ad UnrollingAverages.jl di trovare un'unica serie originale e poiché INFN non fornisce alcuna ulteriore informazione stratificata per sesso, abbiamo provato a ricostruire direttamente le serie aggregate per sesso per cui INFN fornisce informazioni addizionali nella forma di serie originali aggregate per età, che abbiamo utilizzato per selezionare la combinazione di serie disaggregate per età proposte da UnrollingAverages.jl che sommasse a quella aggregata per età. I datasets aggregati così utilizzati si trovano nella cartella 2_input/daily_incidences_by_region
. Ci riferiremo all'algoritmo di selezione appena descritto con vincolo di consistenza sezionale.
Le serie temporali esattamente ricostruite sono poi salvate nella cartella 3_output/data
, mentre le visualizzazioni di quelle stratificate per età ed aggregate per sesso si trovano nella cartella 3_output/figures
.
Il vincolo di consistenza sezionale potrebbe essere migliorato in uno dei seguenti modi:
- Utilizzando cicli in modalità multi-threading, prendendo ispirazione da questo post su Julia Discourse;
- Utilizzando LoopVectorization.jl nel ciclo for principale;
- Implementando un problema multi-obiettivo dove gli obiettivi sono le 10 medie mobili e il vincolo di consistenza sezionale, per cui potremmo fare uso dell'implementazione del Borg-MOEA di BlackBoxOptim.jl o un algoritmo di Metaheuristics.jl .
Se volete modificare o aggiungere qualche funzionalità siete pregati di aprire una issue. Alcune indicazioni si possono trovare nella sezione Sviluppi Futuri.
Se usate questi dati nel vostro lavoro siete pregati di citare questo repository usando i seguenti metadati:
@dataset{Monticone_Moroni_COVID-19_Integrated_Surveillance_Data_Italy_2021,
abstract = {COVID-19 integrated surveillance data provided by the Italian Institute of Health and processed via UnrollingAverages.jl to remove the weekly moving averages.},
author = {Monticone, Pietro and Moroni, Claudio},
doi = {10.5281/zenodo.5748142},
institution = {University of Turin (UniTO)},
keywords = {Data, Data Analysis, Statistics, Time Series, Time Series Analysis, Epidemiological Data, Surveillance, Surveillance Data, Incidence Data, Open Data, Epidemiology, Mathematical Epidemiology, Computational Epidemiology, COVID-19, SARS-CoV-2, Italy, COVID-19 Data, SARS-CoV-2 Data},
license = {CC BY-SA 4.0},
organization = {Interdisciplinary Physics Team (InPhyT)},
title = {COVID-19 Integrated Surveillance Data in Italy},
url = {https://doi.org/10.5281/zenodo.5748142},
year = {2021}
}
Istituto Superiore di Sanità. Dati Sorveglianza Integrata COVID-19 in Italia.
- Pietro Monticone, Claudio Moroni, UnrollingAverages.jl (2021) https://doi.org/10.5281/zenodo.5725301.
- Tom Breloff, Plots.jl (2021) https://doi.org/10.5281/zenodo.5747251.
- Polosky et al. (2019) Outbreak analytics: a developing data science for informing the response to emerging pathogens. Philosophical Transactions of the Royal Society B
- Jackson et al. (2019) Value of Information: Sensitivity Analysis and Research Design in Bayesian Evidence Synthesis. Journal of the American Statistical Association
- Pearce et al. (2020) Accurate Statistics on COVID-19 Are Essential for Policy Guidance and Decisions. American Journal of Public Health
- Del Manso et al. (2020) COVID-19 integrated surveillance in Italy: outputs and related activities. Epidemiologia & Prevenzione
- Sherratt et al. (2021) Exploring surveillance data biases when estimating the reproduction number: with insights into subpopulation transmission of COVID-19 in England. Philosophical Transactions of the Royal Society B
- Starnini et al. (2021) Impact of data accuracy on the evaluation of COVID-19 mitigation policies. Data & Policy, 3, E28.
- Zhang et al. (2021) Data science approaches to confronting the COVID-19 pandemic: a narrative review. Philosophical Transactions of the Royal Society A
- Vasiliauskaite et al. (2021) On some fundamental challenges in monitoring epidemics. Philosophical Transactions of the Royal Society A
- Badker et al. (2021) Challenges in reported COVID-19 data: best practices and recommendations for future epidemics. BMJ Global Health
- Kozlov (2022) NIH issues a seismic mandate: share data publicly. Nature News
- Mathieu (2022) Commit to transparent pandemic data — not fancy dashboards. Nature News
- Pooley et al. (2022) Estimation of age-stratified contact rates during the COVID-19 pandemic using a novel inference algorithm. medRxiv
- Shadbolt et al. (2022) The Challenges of Data in Future Pandemics. Epidemics