Il 0% ha trovato utile questo documento (0 voti)
126 visualizzazioni35 pagine

Intro Data Quality

Il documento tratta il tema della qualità dei dati. Viene definita la qualità dei dati e spiegato perché è importante. Vengono inoltre descritte alcune dimensioni chiave della qualità dei dati come accuratezza, completezza e coerenza.
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
126 visualizzazioni35 pagine

Intro Data Quality

Il documento tratta il tema della qualità dei dati. Viene definita la qualità dei dati e spiegato perché è importante. Vengono inoltre descritte alcune dimensioni chiave della qualità dei dati come accuratezza, completezza e coerenza.
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 35

La Qualità dei Dati

Corso di Basi di Dati


Docente: Fabio Mercorio
Agenda
l Definizioni di base
l Dimensioni della Qualità dei Dati
l Metodologie di miglioramento basate sui dati

2
Definizioni di base

3
Che cosa si intende per dato
l Si considera come dato una rappresentazione
elettronica dell’informazione
l A seconda del supporto di memorizzazione
utilizzato, un dato può essere:
l strutturato: e.g. dati memorizzati in un database
l non strutturato: e.g. documenti Word
l semi-strutturato: e.g. documenti XML
Nel seguito si farà riferimento a dati strutturati

4
Che cosa si intende per dato 2
l Un’altra forma di classificazione distingue:
l dati elementari: ad esempio l’età di un
individuo
l dati statistici: ad esempio l’età media della
popolazione italiana

Nel seguito si farà riferimento a dati elementari

5
La qualità dei dati

l E’ genericamente definita come “fitness for


use”...
l È in realtà un concetto complesso
derivante dalla “composizione” di molte
caratteristiche o dimensioni
l È utilizzato in molti contesti, dallo statistico
all’informatico

6
Perché la Qualità dei Dati?
l I dati del mondo reale sono generalmente
«dirty»:
incompleti: mancano di attributi importanti oppure
contengono solo dati aggregati
l e.g., occupazione=null, salario_medio =“1.3k Euro”
anomali: contengono errori o anomalie (spelling, refusi,
valori multipli)
l e.g., salario=“-10”, nome=“amrio”
inconsistenti: contengono discrepanze o incongruenze
l e.g., età=“31” data_nascita=“01/11/1907”
l e.g., città_residenza=“Milano”, Stato=“England”

7
Perché i dati sono dirty?
l Incompleti:
l Alcune informazioni non erano disponibili quando il dato è stato
gestito o osservato;
l Il criterio di raccolta dei dati è variato tra il processo di raccolta e
di analisi;
l Errori umani/HW/SW nel processo di raccolta
l Anomali:
l Errori umani/HW/SW nel processo di raccolta (eg, crash del
sistema informativo)
l Data entry: errori di imputazione del dato
l Inconsistenti:
l Dati da fonti eterogenee che si contraddicono
l Violazione di vincoli di integrità, Update non andato a buon fine, 8

violazione delle proprietà ACID di un DBMS….


Perché la qualità dei dati è
importante?
l No quality data, no quality decisions!
l Da dati di pessima qualità derivano pessime decisioni !!!
l Cause it’s in the computer, doesn't mean it’s right
l Esempio:
l Sorgente: Un database storico contentente l’anagrafica del comune di Milano
degli ultimi 100 anni;
l Obiettivo: analizzare l’andamento demografico della popolazione (eg, valutare
l’età media dei residenti ogni 10 anni).
l Risultato: si scopre che l’età media della popolazione è cresciuta in 100 anni del
5%
l Rischio: alcuni dati sui decessi (soprattutto nei primi del’900) non sono stati
registrati (eg, persone scomparse).
l Problema: il valore calcolato può aver considerato un numero indefinito di
persone ultracentenarie, alterando sensibilmente il dato aggregato.

TECNICHE DI DATA QUALITY : Strumenti ed algoritmi per l’individuazione di


problemi di qualità in una sorgente di dati
9
TECNICHE DI DATA CLEANSING: Strumenti ed algoritmi capaci di
ripristinare/incrementare la qualità del dato generando un dataset “pulito”
Qualità rispetto ai livelli di analisi
I dati possono essere analizzati a diversi livelli
l Il livello dello schema
l Es. archivio dipendenti, archivio stipendi, ecc.
l Il livello d’istanza
l Es. Mario Rossi, nato a Brescia il 21-12-1977
l Il livello di formato
l Es: la data di nascita è memorizzata con il formato
GG/MM/YY invece che «5 Ottobre 1980»
L’analisi della qualità si svolge in modo diverso
nei vari livelli
10
Qualche problema di data quality
a livello di schema
l Si riferiscono alla struttura «logica» del database, cioè alla struttura
che conterrà i dati
l Un RDBMS può aiutare a prevenire alcuni problemi di qualità al livello
di schema fornendo degli strumenti per definire una struttura che eviti
alcuni problemi di data quality, ad esempio:

Gestiti dal RDBMS:


l Null entry – campo «codicefiscale» diverso da null
l Dangling entry – «id» prodotto inserito non esistente
l Duplicate detection – «codicefiscale» già presente
Non gestite dal RDBMS, come ad esempio
l Wrong data categorization – abbinare il campo «regione» al
campo «stato»

11
Lo schema

appartenere Dipartimento
Docente

Corso
effettuare erogare
locazione

Missione
Aula

12
Qualche problema di data quality
a livello di istanza
l Su Singoli Record
l Missing data in a not null field – “id” = -9999999
l Misspellings: Mario Rossi vs Mrio Rosi
l Ambiguous data: Mario Rossi, Milan, UK
l Su Record multipli
l Duplicate records: Name:Mario Rossi, Birth:01/01/1960 and
Name:Mario Rossi, Birth:01/01/1960
l Contradicting records: Name: Mario Rossi, Birth:01/01/1950
and Name:Mario Rossi, Birth:01/01/1956
l Non-standardized data: Mario Rossi vs Rossi, Mario

13
Osservazione

l Schema à Istanza
l Problemi di data quality a livello di schema spesso danno luogo
a problemi di data quality a livello di istanza.
l In questi casi correggere il problema di data quality a livello di
schema è fondamentale per ottenere un miglioramento della
qualità a livello di istanza che sia duraturo. Esempio:
§ Uno schema non normalizzato di un modello relazionale potrà
potenzalmente generare rindondanze ed anomalie sui dati che conterrà
durante il suo ciclo di vita (vedremo esempio più avanti)

14
Il formato

15
Dimensioni della QD
Dimensioni
l Una dimensione della qualità del dato cattura e descrive un
aspetto particolare di qualità del dato
l Esistono diverse dimensioni della qualità, ma è importante
sottolineare che:
l Le dimensioni forniscono un’indicazione qualitativa (e non quantitativa)
del dato in termini di proprietà a livello di schema, istanza e formato.
l Le dimensioni non forniscono una metrica per valutare il dato, ma ne
descrivono la proprietà di interesse.
l Una volta definita la dimensione, possiamo usare qualsiasi metrica per
misurare la qualità
l Le dimensioni (o caratteristiche) non sono indipendenti tra di
loro:
l correlazioni positive : migliorare una caratteristica migliora anche
l’altra
l correlazioni negative: migliorare una peggiora l’altra
l E’ fondamentale decidere a quale dimensione della qualità
siamo interessati!!! 17
Qualità – Livelli di analisi
l Istanza

Schema
Formato

18
Alcune dimensioni importanti
l Accuracy
l Completeness
l Dimensioni correlate con il tempo:
l Currency, Timeliness, Volatility
l Consistency

19
Accuracy
l Vicinanza tra i valori v e v’, considerato come la
rappresentazione corretta del fenonemo reale che v intende
rappresentare
l Es: data una persona con nome “John”, v’=John è corretto, v=Jhn è
incorretto
l Syntatic accuracy: vicinanza di v ad un valore v’ contenuto in
un dominio finito D
l Es: se v=Jack, anche se v’=John , v è considerato sintatticamente
corretto perchè appare nel dominio di nomi D
l Es: se il valore v=Andra, il nome in D più accurato potrebbe essere
“Andrea” poichè la distanza tra “Andra” ed “Andrea” è pari a 1.
l Si può valutare anche senza conoscere il valore reale v’
l Semantic accuracy: vicinanza tra il valore v ed il valore v’
reale
l Misurato con “Si,No”, oppure “Corretto,Incorretto”
l Coincide con il concetto di correctness
l Per valutarlo è fondamentale conoscere il valore reale v’
Granularità dell’Accuracy
l Si può valutare l’accuracy a diversi livelli di
granularità rispetto a:
l Un singolo valore di un attributo
l Un singolo attributo/colonna di un DB
l Una relazione di un DB
l L’intero DB
Completeness
l “Descrive quanto un dato è sufficientemente
ampio, profondo ed adeguato per il nostro
obiettivo”
l Tre Tipologie:
l Schema completeness: valuta quanto i concetti e le
proprietà sono modellati nello schema del database
l Column completeness: valuta i valori mancanti per una
specifica proprietà a livello di colonna di una tabella
l Population completeness: valuta valori mancanti rispetto
ad una popolazione di riferimento
Completeness per dati
relazionali
l La completeness di una tabella descrive quanto quella
tabella è capace di rappresentare il fenonemo del
mondo reale
l Si può caratterizzare rispetto a:
l Presenza/Assenza di valori null
l Valore null indica che un dato è andato perduto/non è
stato osservato o non è disponibile
Esempio: Person(name, surname, birthdate, email), se
email è nullo ci sono diversi scenari possibili:
1. La persona non possiede una email (non c’è
incompleteness in tal caso).
2. Email esistente ma non nota (incompletenss),
3. Non si sa se la persona possiede una email
(completeness o incompleteness)?
Completeness per dati
relazionali
l Per questo motivo, quando si ragiona con i dati è
necessario fare delle assunzioni:
l Open World Assumption (OWA):
l Non possiamo dire nulla circa la verità o la falsità di una
informazione NON contenuta in alcuna tupla della nostra relazione
l Closed World Assumpion (CWA):
l Solo i valori presenti nella relazione rappresentano la verità/falsità
dei dati reali.
l Tutto quello che non possiamo valutare poichè non contenuto nel
database si assume FALSO
l Il “mondo” inizia e finisce nella nostra base di conoscenza
Accuracy: Esempio
l Modello con valori nulli e CWA
l Possiamo valutare rispetto a:
l Valore: per descrivere la presenza di valori nulli in qualche
campo di una tupla
l Tupla: per descrivere la completezza di una tupla rispetto
a TUTTI i suoi valori
l Possiamo usare come misura il rapporto tra i valori di una tupla
rispetto al numero totale dei suoi attributi
l Esempio: Student(stID, name, surname, vote, examdate)
l Accuracy a livello di VALORE:
§ Uguale a 1 per una tupla (6754, Mike, Collins, 29, 7/17/2004)
l Accuracy a livello di TUPLA:
§ Uguale a 0.8 per una tupla (6578, Julliane, Merrals, NULL,
7/17/2004)
Dimensioni Time-related
l Currency: descrive la tempestività con la quale un dato
è aggiornato
Esempio: se l’indirizzo di residenza di un cittadino viene
aggiornato allora la currency è elevata. Si potrà scegliere una
qualsiasi metrica per misurare quanto elevata è la currency
l Volatility: descrive la frequenza con la quale il dato
varia nel tempo
Esempio: La data di nascita ha volatilità nulla mentre il numero di
prodotti di un magazzino ha un elevato grado di volatilità
l Timeliness: descrive quanto i dati sono “appropriati” per
i nostri scopi
Esempio: L’orario delle lezioni di un corso universitario è
“temporalmente appropriato” se contiene informazioni dell’anno
accademico in corso. Non lo sarebbe se l’orario venisse reso
disponibile dopo l’inizio o alla fine del corso stesso
Consistency
l Desrive la violazione di regole semantica
definite su un insieme di item di un database
relazionale, ad esempio;
l Integrità relazionale
l Vincoli di dominio, Chiavi
(Primarie/Esterne),dipendenze funzionali
l Vincoli semantici:
l Li vedremo alla fine della lezione
Metodologie di
miglioramento basate
sui dati
Metodi basati sui dati

l Confronto dei dati con le


controparti reali
l Database bashing

l Utilizzo di business rules

29
Confronto dei dati con le
controparti reali
l E’ un metodo di miglioramento molto
efficace (+) ma molto costoso (-)
l Richiede una politica di applicazione
periodica (da cui ne dipende l’efficacia)
l Esempio: il Ministero delle Finanze, per verificare la
correttezza degli indirizzi di residenza dei cittadini
invia loro delle raccomandate con ricevuta di ritorno.

30
Database Bashing
l Prevede il confronto di record in due o più
database
l E’ meno efficace del confronto con la realtà
ma anche meno costoso
l Non è facile da applicare: richiede
l’applicazione di tecniche di record matching

31
Record Matching
l Dati due record A e B provenitenti da due diverse
sorgenti (anche dalla stessa sorgente!), l’algoritmo di
matching cerca di identificare se:
l A e B rappresentano la stessa entità: Match
l A e B rappresentano due differenti entità: No
Match
l Per il match si usano identificatori comuni a più
record. Es.: nomi, indirizzi e codici numerici (Codice
fiscale)

32
Utilizzo di business rules
l Il metodo prevede di verificare che i record
rispettino dei vincoli chiamati “business rules” o
anche “data edits”
l le business rules possono includere:
l un singolo campo (i valori del campo devo rientrare nel
range {1..10})
l Più di un campo (CAP e città non devono essere in
conflitto)
l considerazioni probabilistiche (<età=12 anni, stato
matrimoniale= sposata> à improbabile in Italia)

33
Confronto tra i tre approcci

l 1. Confronto dei dati con la realtà che rappresentano


l costoso, a campione, molto preciso, una tantum per
orientare l’ intervento
l 2. Confronto dei dati tra due o piu’ archivi
l + Facilmente applicabile, costo medio
l - Il matching non garantisce una correteezza massima
l 3. Confronto dei dati con vincoli o business rules
l un campo, piu’ campi, probabilistico
l + spesso efficace, poco costoso
l - non garantisce per il futuro, riguarda solo la conformità alle
regole, non la accuratezza, particolarmente adatti a dati
permanenti
34
Un ulteriore approccio:
sfruttare i metadati
l I metadati rappresentano informazioni sui dati
l L’introduzione di metadati può essere considerata
un ulteriore approccio per la misurazione e il
miglioramento della qualità dei dati (che non esclude
i precedenti)
l I metadati possono essere introdotti per due scopi:
l memorizzare i valori delle dimensioni di qualità calcolati
utilizzando gli approcci precedenti. Ad esempio, data
l’entità PERSONA posso avere il metadato
AccuratezzaNome=‘corretto’;
l Memorizzare informazioni utili al calcolo dei valori delle
dimensioni di qualità. Ad esempio, per misurare
l’aggiornamento, è utile avere un metadato last-update
35

Potrebbero piacerti anche