1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso...

26
1 UNIVERSITA’ DEGLI STUDI DI MILANO BICOCCA FACOLTA’ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi per la Qualità dei Dati. Progettazione e Realizzazione di un Framework per l’Assessment della Qualità. Supervisori: Chiar.mo Prof. Carlo BATINI Dott. Daniele BARONE Relazione della prova finale di: Carmine Carella Matricola: 055465 Anno Accademico 2005/2006

Transcript of 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso...

Page 1: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

1

UNIVERSITA’ DEGLI STUDI DI MILANO BICOCCAFACOLTA’ DI SCIENZE MATEMATICHE, FISICHE E NATURALI

Corso di Laurea in Informatica

Analisi di Metriche e Algoritmi per la Qualità dei Dati.

Progettazione e Realizzazione di un Framework per

l’Assessment della Qualità.

Supervisori:

Chiar.mo Prof. Carlo BATINI

Dott. Daniele BARONERelazione della prova finale di:

Carmine Carella

Matricola: 055465

Anno Accademico 2005/2006

Page 2: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

2

Overview La Qualità dei Dati e la sua Importanza Aree di Ricerca nell’Ambito della Qualità dei Dati Dimensioni dei Valori dei Dati Data Quality Framework Caso di Studio GUI e Funzioni Accuratezza Sintattica Metadati Appendice

Page 3: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

3

La Qualità dei Dati e la sua Importanza

I dati sono elementi chiave nei processi aziendali Decisionali: guidano le decisioni di planning Operazionali: sono utilizzati nelle decisioni a livello operativo

La scarsa qualità dei dati: Aumenta con il tempo È pervasiva (si diffonde) È costosa (mancati ricavi, extra costi)

Nel processo di creazione e utilizzo dei dati si rendono necessarie attività appositamente dedicate alla gestione della qualità: Valutazione (assessment) Miglioramento (improvement)

Page 4: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

4

Aree di Ricerca nell’Ambito della Qualità dei Dati Dimensioni: le dimensioni sono

proprietà che caratterizzano uno specifico aspetto della qualità. Possono essere associate a livello:

dello schema

della rappresentazione dei dati

dei valori dei dati

Metriche: associate alle dimensioni di qualità ne misurano il livello

qualitative o quantitative

su diversi tipi di dati (strutturati, semistrutturati e non strutturati)

per i dati strutturati ai diversi livelli di granularità

Tecniche: algoritmi, euristiche, conoscenze per lo specifico problema di DQ

Le tecniche necessitano del supporto di tools: procedure automatizzate

Un insieme di tools prende il nome di framework

Page 5: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

5

Aree di Ricerca nell’Ambito della Qualità dei Dati Dimensioni: le dimensioni sono

proprietà che caratterizzano uno specifico aspetto della qualità. Possono essere associate a livello:

dello schema

della rappresentazione dei dati

dei valori dei dati Metriche: associate alle dimensioni di

qualità ne misurano il livello

qualitative o quantitative su diversi tipi di dati

(strutturati, semistrutturati e non strutturati)

per i dati strutturati ai diversi livelli di granularità

Tecniche: algoritmi, euristiche, conoscenze per lo specifico problema di DQ

Le tecniche necessitano del

supporto di tools: procedure automatizzate

Un insieme di tools prende il

nome di framework

Page 6: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

6

Completezza: il grado con il quale la relazione rappresenta la corrispondente parte del mondo reale. Definita in base a:

Modello con valori nulli (significato valore nullo: generale, di valore mancante).

Assunzione CWA (closed world assumption): i valori presenti in una tabella relazionale e nessun altro valore rappresentano i fatti veri del mondo reale.

Currency: quanto tempestivamente i dati sono aggiornati. (accuratezza temporale).

Consistenza: rileva le violazioni di regole semantiche definite su un insieme di dati. Vincoli di integrità, istanza regole semantiche, nel modello relazionale.

Dimensioni dei Valori dei Dati Accuratezza: vicinanza tra un valore v e un valore v’ considerato la corretta rappresentazione del mondo reale che v vuole rappresentare. Si distingue in accuratezza semantica e accuratezza sintattica.

Accuratezza Sintattica: vicinanza di un valore v agli elementi del corrispondente dominio di definizione D.

Descritta durante il caso di studio

Presentate nell’ appendice

Page 7: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

7

Descrizione

Attività Assessment delle principali dimensioni di qualità dei dati e Localizzazione e Correzione degli errori

Dimensioni • Accuratezza Sintattica

• Completezza

• Currency

• Consistenza

Metriche Algoritmi quantitativi

Tipi di Dati Strutturati (Modello Relazionale)

Livelli di Granularità Database, Relazione,Tupla, Attributo, Singolo valore

Funzioni Principali

Assessment Misurazione delle quattro dimensioni

Gestione Metadati “Metadati misurazione” utilizzati dagli algoritmi durante l’esecuzione e “Metadati dimensione” danno informazioni relative alle valutazioni effettuate

Gestione Report Parziale Report parziale con le misurazioni effettuate durante l’utilizzo del framework

Gestione Reports Completi Report completi di misurazione per ogni dimensione

Strumenti Utilizzati

Java con IDE Eclipse Realizzazione

MySQL DBMS Relazionale d’appoggio

XML Organizzazione e Strutturazione logica dei metadati

Widget toolkit SWT Creazione GUI

Data Quality Framework

Page 8: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

8

Caso di Studio

Utilizzato per testare il framework

Il test è stato effettuato per Verificare la correttezza dei risultati Funzionamento degli algoritmi

Database MySQL

Recuperato dal sito del progetto Eclipse-BIRT relativo ad una compagnia ClassicModels Inc. per la vendita di modelli in scala di automobili, treni, navi, autobus, aerei, ect.

Contiene 8 relazioni, 60 attributi, 3864 tuple

Relazioni contenenti tipici dati di business: offices, employees, customers, orders, order details, payments, products, product lines

Prima di eseguire il test con tale database, i dati sono stati “sporcati” per poi poter rilevare provlemi di qualità

Page 9: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

9

Framework : GUI e Funzioni

Informazioni sul database connesso

Informazioni sulla singola relazione

Informazioni sul percorso metadati dimensione

Informazioni sul percorso metadati misurazione

Visualizzazione grafica risultati

Connessione e Disconnesione database

Funzioni per l’assessment

Gestione Reports Completi

Gestione Metadati Misurazione

Visualizzazione Report Parziale e Metadati Misurazione

Struttura Database connesso

Area Risultati

Page 10: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

10

Accuratezza Sintattica Lookup table: informazioni che vengono consultate durante la misurazione

dell’accuratezza Funzioni di distanza: Jaro Simple Ratio:

risultati desiderati / numero totale risultati 1 – ( risultati non desiderati / numero totale risultati)

Accuratezza Sintattica Attributo: due metriche Metrica basata sulla presenza della lookup table

Lookup table Jaro Simple Ratio

Metrica basata sulla frequenza dei valori dell’attributo Jaro Soundex

Accuratezza Sintattica Tupla e Relazione: una metrica Metrica basata sulla tecnica del Record Linkage

Lookup table

Page 11: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

11

Accuratezza Sintattica Attributo Prima metrica basata sulla presenza della lookup table

Lookup table: rappresenta il dominio di definizione dell’attributo

Algoritmo

Accuratezza sintattica del singolo valore dell’attributo

1. Per ogni valore v dell’attributo, controlla che v sia uno dei valori nel dominio

2. Determinazione insieme valori accurati e dell’ insieme non accurati

3. Per ogni valore dell’insieme non accurati, si effettua il confronto con ogni valore del dominio tramite Jaro, per trovare il valore massimo di similarità e il valore più vicino

Accuratezza sintattica dell’attributo

4. Determinazione accuratezza attributo tramite simple ratio

Page 12: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

12

Inserimento lookup table Accuratezza Sintattica Attributo city della relazione offices

Coordinate MySQL della lookup table

Nome attributo a cui associare la lookup table

Relazione d’appartenenza dell’attributo

Page 13: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

13

Accuratezza Sintattica Attributo city della relazione offices con metrica lookup table

Valore accuratezza dell’attributo

Correzione suggerita

Accuratezza singolo valore

Page 14: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

14

Accuratezza Sintattica Tuple e Relazioni Metrica ispirata alla metodologia ISTAT per la qualità dei dati toponomastici e a

tecniche di Record Linkage Lookup table: relazione contenete le istanze corrette della relazione da valutare,

rappresentanti la parte del mondo reale che si vuole modellare In base all’ algoritmo di record matching utilizzato (confronto tra sottostringhe), la

relazione da valutare e la lookup table dovrebbero avere la stessa struttura: ugual numero di attributi e stesso ordine

Fase di configurazione della misurazione: in cui adattare le strutture e scegliere tutti o un sottoinsieme degli attributi e in quale ordine. (normalizzazione formati)

Fase di misurazione: algoritmo di record matching che restituisce per ogni tupla “non accurata” il valore di accuratezza e la tupla più vicina della lookup table

Accuratezza Relazione: simple ratio, rapporto tra numero di tuple non accurate (match < 100%) e numero totale di tuple della relazione, sottratto ad uno

MiMilanoVittorio EmanueleCorso1

ProvinciaCittàNomeTipoID

MiMilanoVittorio EmanueleCorso1

ProvinciaComuneNomeDugKey

Milano

Città

MiCorso Vittorio Emanuele

ProvinciaTipo_Nome

Corso Vittorio Emanuele Milano Mi3

IndirizzoID

Relazione da valutare

Lookup table senza fase configurazione

Lookup table con fase configurazione

Chiave primaria dello stesso tipo Stesso numero e ordine attributi

Page 15: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

15

Fase di configurazione accuratezza sintattica tuple della relazione employees

Struttura relazione da valutare

Struttura lookup table

Page 16: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

16

Accuratezza Sintattica Tuple della relazione employees

Tupla corretta della lookup table

Valore accuratezza tupla

Tupla non accurata della relazione valutata

Page 17: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

17

Metadati (informazioni circa un dato)

Organizzati e strutturati tramite un modello di metadati, metamodello

Modello concettuale:Modello concettuale: schema ER

Modello Logico:Modello Logico: documento XML

1. Metadati misurazione: contengono le informazioni aggiuntive necessarie alle misurazioni come lookup table per l’accuratezza sintattica dell’attributo, della relazione e delle tuple, frequenza media di aggiornamento per la currency, coordinate relazione per la consistenza

2. Metadati dimensione: per ogni dimensione valutata danno informazioni circa la data, la metrica utilizzata, il livello di granularità, il valore della misurazione e eventuali metadati misurazione utilizzati. Viene creato il report parziale/totale con formattazione XSL

Page 18: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

18

Report delle valutazioni delle dimensioni

Page 19: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

19

Conclusioni e Sviluppi Futuri

Il framework potrà essere ancora migliorato: L’attivita di assessment

Creazione metriche per la valutazione di nuove dimensioni di qualità

migliorando gli algoritmi esistenti

Un’attività di miglioramento (improvement) della qualità

Page 20: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

20

Appendice

Page 21: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

21

Seconda metrica basata sulla frequenza dei valori dell’attributoConfronto tra valori attualmente presenti nell’attributo

1. Analisi dei valori, alla ricerca dei valori con una bassa frequenza (numero di occorrenze uguale ad uno), possibili candidati ad avere errori di accuratezza

2. Valori con frequenza alta costituiscono il dominio di confronto

3. Primo confronto tramite funzione Jaro per determinare i valori a bassa frequenza accurati e valori da analizzare nuovamente con il secondo confronto

4. Secondo confronto, tra valore bassa frequenza con valore più vicino, con la funzione soundex per determinare se i due valori rappresentano o meno lo stesso concetto del mondo reale

5. Determinazione accuratezza attributo tramite simple ratioNomiImpiegati

Mal

Max

Giacomo

Max

Giacomo

Marco

Palo

Paolo

Luca

Marco

Paolo….

LucaPaloMal

PaoloMarco

GiacomoMax

Luca

PaloMal

PaoloMaxSoundex

Soundex

Palo = Paolo

Mal ≠ Max

Errore Accuratezza Sintattica

Valori frequenza bassa

Dominio confronto

Valori accurati

Valori più viciniJaro Nuova Analisi

Page 22: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

22

Accuratezza Sintattica Attributo contactFirstName della relazione customers con metrica frequenza valori

Valore accuratezza dell’attributo

Correzione suggerita

Page 23: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

23

Completezza Livelli di granularità: Relazione, Attributo, Tupla

Metrica basata sul modello a valori nulli, sull’assunzione CWA. Utilizza la forma funzionale simple ratio.

Simple ratio:

risultati desiderati / numero totale risultati

1 – ( risultati non desiderati / numero totale risultati)

Algoritmo

1. Ricerca e conteggio valori nulli (Nvn)

2. Determinazione numero attributi (Na) e numero tuple (Nt) e numero massimo di valori che la relazione può contenere (N)

3. La completezza è determinata tramite

• Per l’attributo: CA=1 – ( Nvn / Nt)

• Per la relazione: CR= ( Nvnn / N) dove Nvnn numero valori non nulli

• Per la tupla: CT=1 – ( Nvn / Na) determinata per ogni tupla della relazione

Page 24: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

24

Currency: tempestività di aggiornamento dei dati.Livello granularità: Attributo.

Scala risultati: <current, not current>

Tre Metriche basate sul metadato “last update”, implementato con il campo Timestamp di MySQL.

Prima metrica si basa sul recupero della data di ultimo aggiornamento (massimo valore timestamp).

Due metriche basate anche sul metadato “frequenza media di aggiorn.” (espressa in giorni).

Seconda metrica con “frequenza media” inserita dall’utente

1. Differenza tra istante misurazione e last update = delta (es. 14 giorni fa)

2. Recupero frequenza media (es. 13 giorni)

3. Se delta > frequenza media → not currentnot current altrimenti se delta ≤ frequenza media → currentcurrent

Terza metrica con “frequenza media” ricavata dai valori del timestamp

uguale alla precedente metrica nei passi (1) e (3) con l’eccezione (passo 2) che la frequenza viene calcolata a runtime: con una differenza tra aggiornamenti successivi.

08/01/[email protected]

20/01/[email protected]

31/12/[email protected]

timestampe-mail Differenze

(08/01/2006) − (31/12/2005) = 8 giorni

(20/01/2006) − (08/01/2006) = 12 giorni

Somma 8 + 12 = 20 giorni

Rapporto 20 / 3 = 6 giorniOrdinamento valori timestamp

Frequenza media di aggiornamento

Page 25: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

25

Consistenza Ricerca delle violazioni ai vincoli di integrità in particolare ai vincoli interrelazionali

quindi vincoli di integrità referenziale. Livello di granularità: attributo ma anche tupla (se si considerano più attributi) Metrica basata sul record matching con una fase di configurazione Consideriamo il livello dell’attributo, l’idea è quella di confrontare i valori di un

attributo A di una relazione R1 con i valori di un altro attributo B di una relazione R2 che si suppone contenga gli stessi valori di A, in quanto B rappresenta lo stesso concetto del mondo reale di A (caso vincoli interrelazionali). Se A è chiave primaria di R1 e B chiave esterna di R2 allora caso integrità referenziale. Durante il confronto si determinano i valori inconsistenti.

AlgoritmoControllo consistenza dei valori di un attributo chiave esterna1. Scelta di due relazioni sul quale è definito un vincolo di integrità referenziale2. Collegamento relazioni con inserimento coordinate connessione della relazione con

chiave esterna nei metadati3. Fase di configurazione per la scelta degli attributi, sui cui valori deve essere

controllata la consistenza4. Misurazione con record matching5. Per ogni valore non consistente: percentuale di consistenza e valore più vicino

(ricavato dalla relazione con chiave primaria)

Page 26: 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Analisi di Metriche e Algoritmi.

26

Consistenza attributo productCode chiave primaria di product e chiave esterna di orderdetails

Valore chiave esterna inconsistente

Valore di consistenza

Valore chiave primaria più vicino