Intro Data Quality
Intro Data Quality
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
5
La qualità dei dati
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
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
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