l’algoritmo

Qualità dei dati: un modello integrato per il data cleaning



Indirizzo copiato

Un miglioramento nella qualità dei dati può portare ad un aumento della performance, ma l’implementazione di una gestione della qualità dei dati efficace può richiedere un investimento significativo di risorse. Vediamo un approccio che può rappresentare una valida soluzione per le operazioni di data cleaning

Pubblicato il 19 set 2023



Terabytes,Of,Binary,Code,Data,Flying,In,A,Stream,Of

Nel contesto della digitalizzazione, l’enorme volume di dati prodotti e raccolti dalle grandi organizzazioni e dalle pubbliche amministrazioni rappresenta una risorsa inestimabile che offre spunti strategici e operativi.

Uno di essi è senz’altro il data cleaning, processo di rilevamento e correzione degli errori sui dati.

Le sfide della gestione dei dati

La gestione dei dati presenta infatti diverse sfide, tra cui la necessità di garantire la loro qualità. Questo è particolarmente importante quando i dati vengono utilizzati per alimentare funzionalità basate sull’intelligenza artificiale, le quali richiedono informazioni accurate e affidabili al fine di funzionare in maniera ottimale. Uno dei problemi più comuni è infatti la presenza di errori nei dati, che possono essere causati da una serie di fattori, tra cui problemi di data entry, l’uso del database in situazioni di emergenza, cattive interpretazioni da parte degli operatori, malfunzionamenti del sistema, problemi di interoperabilità e limiti nell’archiviazione.

È stata quindi avviata una collaborazione tra l’unità di Automatica dell’Università Campus Bio-Medico di Roma, diretta da Roberto Setola, ed il Comando Generale dell’Arma dei Carabinieri, Direzione di Telematica, diretta dal colonnello Marco Mattiucci, con l’obiettivo di analizzare i database attualmente in uso per identificare eventuali criticità e progettare relative strategie di risoluzione.

Un’approfondita analisi ha permesso di evidenziare diverse criticità, come ad esempio: l’utilizzo di nuovi attributi non prevedibili nella progettazione iniziale del database, l’archiviazione limitata che comporta una difficile consultazione accesso ai dati e la mancanza di un percorso che ne identifichi la provenienza portando una duplicazione dei dati, che può essere costosa in termini di spazio di archiviazione e di risorse di elaborazione. Tutto questo porta ad una mancanza di allineamento tra i sistemi con annessi problemi di standardizzazione e normalizzazione.

Da qui è emersa la necessità di un approccio più integrato che prendesse in considerazione l’intero ciclo di vita della pulizia dei dati, dalla rilevazione degli errori alla loro correzione fino alla valutazione della loro qualità.

In questa prospettiva ho implementato un algoritmo che integra sia metodi tradizionali che approcci basati su intelligenza artificiale in grado di gestire autonomamente un’ampia gamma di problemi di qualità, attenendosi alle linee guida stabilite dalle norme UNI ISO/IEC 25012 [1] e 25024 [2] intitolate rispettivamente “Modello di qualità dei dati”, e “Misura della qualità dei dati”.

Materiali e metodi

Inizialmente, si è eseguita un’analisi dei sistemi informativi attualmente in uso presso l’Amministrazione. Sono stati stabiliti sei criteri chiave per guidare le successive tecniche di data quality e data cleaning. I criteri sono basati su aspetti fondamentali della qualità dei dati come la corrispondenza delle informazioni, la completezza e l’unicità dei record, la coerenza interna dei dati, la corrispondenza dei formati e l’assenza di celle vuote. Essi sono poi stati correlati rispetto alle norme UNI ISO/IEC 25012 e 25024, con un focus sulle caratteristiche intrinseche dei dati.

Le metriche considerate includono: accuratezza, completezza, coerenza, credibilità e attualità. Per esaminare le relazioni tra i vari criteri e le metriche identificate, si è utilizzata una matrice di correlazione[3]. L’analisi basata su questa matrice ha facilitato l’identificazione delle correlazioni più forti, permettendo di concentrare l’attenzione su quelle metriche che mostrano una correlazione più significativa con i criteri selezionati. In particolare, sulla base dell’analisi condotta, sono emerse, quali metriche più pertinenti, l’accuratezza, la completezza e la coerenza.

SIMBOLOCORRELAZIONEPUNTEGGIO
Correlazione forte9 pt
Correlazione media3 pt
Correlazione debole1 pt
Figura 1: Correlazioni previste nella matrice delle relazioni
ACCURATEZZACOMPLETEZZACOERENZACREDIBILITAATTUALITA’
CR1
CR2
CR3
CR4
CR5
CR6
pt15182939

Figura 2: Matrice delle relazioni

Sulla base dei criteri selezionati, è stato sviluppato un algoritmo di analisi dove il back-end dell’algoritmo è stato scritto in linguaggio Python [4].

Immagine che contiene testo, schermata, diagramma, CarattereDescrizione generata automaticamente

Fig.3. Flusso dei dati

Parallelamente, è stato sviluppato un front-end per la visualizzazione dei risultati. Come illustrato nella Fig.3, l’algoritmo lavora con un database esistente, accettando in input uno script SQL e un database in formato SQLite [5]. Ricevuti gli input, l’algoritmo inizia un’analisi preliminare estraendo tutte le informazioni fondamentali dallo script e dal database come la struttura, le chiavi primarie, le chiavi esterne e i campi dichiarati come not null.

La funzione chiave in questo processo è stata progettata per ricercare specifiche informazioni relative alla struttura dei database avvalendosi di una libreria che fornisce potenti strumenti per la manipolazione delle stringhe. A seguito di questa fase, il processo si conclude con un’analisi qualitativa dei dati acquisiti. Questo viene fatto attraverso l’implementazione di tre classi utili per misurare sotto forma di percentuali l’accuratezza, la completezza, la coerenza. Un elemento fondamentale del processo è l’applicazione dell’Agglomerative Clustering [6], uno dei metodi avanzati del machine learning. Questa tecnica ha permesso di raggruppare le tabelle con attributi simili, utilizzando la metrica di Jaccard [7] per calcolare le differenze, fornendo un metodo efficace e preciso per categorizzare e organizzare le tabelle sulla base della similarità dei loro contenuti.

Accuratezza, completezza, coerenza

La classe Accuratezza ha il compito di effettuare confronti e analisi per identificare eventuali discrepanze tra lo script SQL e il database SQLite dati in input. Il processo in questione analizza ogni tabella all’interno di ciascun cluster, identificando quelle tabelle che presentano lo stesso nome. Una volta confermata l’identità tra le tabelle, si avvia un’ulteriore fase di analisi che culmina con l’eliminazione delle tabelle duplicate.

La classe Completezza valuta la completezza dei dati contenuti in un database, identificando eventuali lacune informative.

La classe Coerenza invece si occupa di verificare la coerenza all’interno del database eseguendo operazioni di controllo di conformità tra i formati, tra cui l’unicità delle chiavi primarie e le relazioni con le chiavi esterne. Infine, i risultati del processo di data cleaning, dell’analisi qualitativa dei dati e delle immagini generate, vengono rappresentati tramite interfaccia web.

Risultati

Immagine che contiene testo, schermata, Carattere, Pagina WebDescrizione generata automaticamente

Fig.4:Componente Bootstrap

Per la prova, è stata analizzata una porzione del database, composta da dati reali e anonimizzati. Questa sezione comprende 15 tabelle relazionali interconnesse tra loro che ospitano complessivamente circa 161 milioni di record.

L’applicativo si apre con una componente Bootstrap che offre una visione chiara e immediata della qualità dei dati analizzati. Il modulo fornisce informazioni sul volume dell’analisi effettuata, riferendosi al numero totale di tabelle nel database, al numero di tabelle effettivamente analizzate e alla quantità totale di valori presenti. Il database è stato testato su una porzione dei dati disponibili, la cui natura esatta così come la sua analisi non saranno discusse in dettaglio in questo articolo per motivi di riservatezza e sensibilità.

Un’analisi qualitativa dell’efficacia del nostro framework è mostrata nelle figure 5-6. L’analisi qualitativa consente di mostrare come si riduce e si semplifica il grafo delle connessioni. Sfruttando i dati delle chiavi esterne, è stato possibile semplificare e chiarire le complesse interconnessioni esistenti avvelandosi di specifiche librerie per la manipolazione e lo studio dei grafi nonché per la creazione di visualizzazioni interattive. La Fig.5 illustra una parte dei collegamenti tra le tabelle esistenti, dove in rosso sono rappresentati gli schemi ed in blu le tabelle associate. La Fig.6 mostra la stessa struttura dopo l’applicazione del Framework, evidenziando le tabelle ridondanti. Qualitativamente si osserva come il framework ha reso possibile l’eliminazione dei dati duplicati, favorendo una significativa semplificazione dell’intero sistema.

Immagine che contiene cerchio, arte, modelloDescrizione generata automaticamente

Fig.6: Struttura dopo applicazione del Framework

Fig.5. Grafo delle connessioni

Conclusioni

I risultati, ottenuti sulla base di un numero limitato di criteri come quelli citati, mostrano come l’approccio impiegato rappresenti una valida soluzione per le operazioni di data cleaning in linea con le normative UNI ISO/IEC 25012 – 25024. L’accento posto sulle metriche di accuratezza, completezza e coerenza è risultato fondamentale, permettendo di coprire una vasta gamma di problematiche relative alla qualità e garantendo un’analisi data-driven efficace.

Tuttavia, è importante riconoscere che l’algoritmo utilizzato non è in grado di gestire tutte le possibili tipologie di errori riscontrati. Nonostante le limitazioni, i risultati hanno confermato la versatilità e l’efficacia nel gestire le valutazioni. Risulta necessario approfondire l’equilibrio tra l’implementazione dell’algoritmo e l’impatto computazionale. Un miglioramento nella qualità dei dati può portare ad un aumento della performance, ma l’implementazione di una gestione della qualità dei dati efficace può richiedere un investimento significativo di risorse.

Bibliografia

  • [1]Uni iso 25012:2014, ingegneria del software e di sistema – modelli di qualità dei dati. Norma, 2014.
  • [2]Uni iso 25024:2016, ingegneria del software e di sistema – misura della qualità dei dati. Norma, 2016.
  • [3] Joseph F. Jr Hair, William C. Black, Barry J. Babin, and Rolph E. Anderson. Multivariate Data Analysis. 8th edition, 2019.
  • [4] Python Software Foundation. Python language reference. Python Software Foundation, 2023.
  • [5] Seyed H. Hashemi. (2015). SQLite Database System Design and Implementation. Second Edition, River Publishers.
  • [6] Richard O Duda, Peter E Hart, and David G Stork. Pattern Classification. John Wiley & Sons, 2012. Section on Hierarchical Agglomerative Clustering.
  • [7] Christopher D. Manning, Prabhakar Raghavan, and Hinrich Schütze. Introduction to Information Retrieval. Cambridge University Press, 2008.

Tesista: Dott. Camarda Nicola

Relatori: Col. CC. Ing. Marco Mattiucci, Prof. Roberto Setola

CORRELATORE: Ing. Mario Merone

EU Stories - La coesione innova l'Italia

Tutti
Analisi
Video
Iniziative
Social
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia
Programmazione europ
Fondi Europei: la spinta dietro ai Tecnopoli dell’Emilia-Romagna. L’esempio del Tecnopolo di Modena
Interventi
Riccardo Monaco e le politiche di coesione per il Sud
Iniziative
Implementare correttamente i costi standard, l'esperienza AdG
Finanziamenti
Decarbonizzazione, 4,8 miliardi di euro per progetti cleantech
Formazione
Le politiche di Coesione UE, un corso gratuito online per professionisti e giornalisti
Interviste
L’ecosistema della ricerca e dell’innovazione dell’Emilia-Romagna
Interviste
La ricerca e l'innovazione in Campania: l'ecosistema digitale
Iniziative
Settimana europea delle regioni e città: un passo avanti verso la coesione
Iniziative
Al via il progetto COINS
Eventi
Un nuovo sguardo sulla politica di coesione dell'UE
Iniziative
EuroPCom 2024: innovazione e strategia nella comunicazione pubblica europea
Iniziative
Parte la campagna di comunicazione COINS
Interviste
Marco De Giorgi (PCM): “Come comunicare le politiche di coesione”
Analisi
La politica di coesione europea: motore della transizione digitale in Italia
Politiche UE
Il dibattito sul futuro della Politica di Coesione
Mobilità Sostenibile
L’impatto dei fondi di coesione sul territorio: un’esperienza di monitoraggio civico
Iniziative
Digital transformation, l’Emilia-Romagna rilancia sulle comunità tematiche
Politiche ue
Fondi Coesione 2021-27: la “capacitazione amministrativa” aiuta a spenderli bene
Finanziamenti
Da BEI e Banca Sella 200 milioni di euro per sostenere l’innovazione di PMI e Mid-cap italiane
Analisi
Politiche di coesione Ue, il bilancio: cosa ci dice la relazione 2024
Politiche UE
Innovazione locale con i fondi di coesione: progetti di successo in Italia

Articoli correlati