Web analytics: premesse strategiche e metriche di misurazione
1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso...
-
Upload
roberto-caputo -
Category
Documents
-
view
213 -
download
1
Transcript of 1 UNIVERSITA DEGLI STUDI DI MILANO BICOCCA FACOLTA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso...
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
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
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)
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
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
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
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
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à
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
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
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
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
13
Accuratezza Sintattica Attributo city della relazione offices con metrica lookup table
Valore accuratezza dell’attributo
Correzione suggerita
Accuratezza singolo valore
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
15
Fase di configurazione accuratezza sintattica tuple della relazione employees
Struttura relazione da valutare
Struttura lookup table
16
Accuratezza Sintattica Tuple della relazione employees
Tupla corretta della lookup table
Valore accuratezza tupla
Tupla non accurata della relazione valutata
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
18
Report delle valutazioni delle dimensioni
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à
20
Appendice
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
22
Accuratezza Sintattica Attributo contactFirstName della relazione customers con metrica frequenza valori
Valore accuratezza dell’attributo
Correzione suggerita
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
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
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)
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