ANALISI DEI DATI OLAP (On Line Analytical Processing) Data Warehousing Data Mining
DallOLTP allOLAP La tecnologia delle basi di dati è finalizzata prevalentemente alla gestione dei dati in linea, si parla di OnLine Transaction Processing (OLTP)
Analisi dei dati I dati disponibili possono essere utilizzati non solo nella gestione, ma anche nella pianificazione Unanalisi dei dati passati e presenti può essere utile per la programmazione delle attività future dellimpresa Si parla in questo caso di On Line Analytical Processing (OLAP)
Sistemi OLTP e OLAP Lelemento principale dellarchitettura OLAP è una particolare base di dati chiamata data warehouse (magazzino dei dati), in cui sono contenuti dati che, opportunamente analizzati possono fornire un supporto alle decisioni. I sistemi OLTP forniscono i dati per lambiente OLAP, sono cioè una sorgente di dati (data source) per tale ambiente. Tra i due sistemi cambia la tipologia di utente terminalisti (OLTP), analisti (OLAP)
Sistemi OLTP e OLAP DB A1A1 A1A1 AnAn AnAn A2A2 A2A2 DW DWMS A1A1 A1A1 AnAn AnAn A2A2 A2A2 terminalisti analisti OLTP OLAP Terminalisti: utenti finali. Possono eseguire operazioni di lettura e di scrittura Analisti: Pochi utenti, occupano posizioni di alto livello nellimpresa e svolgono attività di supporto alle decisioni.
Sistemi OLTP e OLAP OLTP (On Line Transaction Processing) Sistemi per la gestione dei dati Utilizzo di un set di operazioni ben definito Bassa complessità delle operazioni Le operazioni coinvolgono una piccola quantità di dati Continuo aggiornamento dei dati Generalmente viene utilizzato lo stato corrente di unapplicazione Devono essere rispettate le proprietà ACIDe (atomicità, correttezza, isolamento, durabilità) delle transazioni OLAP (On Line Analytical Processing): Sistemi per lanalisi dei dati Permettono di eseguire operazioni non previste nella progettazione del DB (sistemi di supporto alle decisioni) Operano su grosse moli di dati I dati sono statici (usualmente si utilizzano dati storici) Operano su dati provenienti da più fonti eterogenee Le proprietà ACIDe non sono rilevanti perché le operazioni sono di sola lettura
Caratteristiche dei Data warehouse Utilizzano dati provenienti da più DB I meccanismi di importazione sono di tipo asincrono e periodico In tal modo non vengono penalizzate le prestazioni delle data source La warehouse non contiene dati perfettamente allineati con il flusso di transazioni negli OLTP Problema legato alla qualità dei dati: La semplice raccolta di dati può non essere sufficiente per una corretta analisi perché i dati possono contenere inesattezze, errori, omissioni
Architettura di un DataWarehouse Data Source Data Filter Export Data Source Data Filter Export Data Source Data Filter Export Acquisizione dei Dati Export dei dati Data mining Accesso ai Dati Allineamento dei Dati (refresh) DW Prime due componenti operano nelle data source Gli altri cinque componenti operano nella DW
Architettura di un DataWarehouse Data Source Data Filter Export Possono essere di qualsiasi tipo, anche raccolte di dati non gestite tramite DBMS oppure gestite da DBMS di vecchia generazione (legacy system). Controlla la correttezza dei dati prima dellinserimento nella warehouse. Può eliminare dati scorretti e rilevare o correggere eventuali inconsistenze tra dati provenienti da più data source. Viene fatta la pulizia dei dati (data cleaning) necessaria ad assicurare un buon livello di qualità. Lesportazione dei dati avviene in maniera incrementale: il sistema colleziona solo le modifiche (inserzioni o cancellazioni) delle data source.
Architettura di un DataWarehouse Acquisizione dei Dati (loader) E responsabile del caricamento iniziale dei dati nella DW. Predispone i dati alluso operativo, svolge operazioni di ordinamento, aggregazione e costruisce le strutture dati della warehouse. Le operazioni di acquisizione vengono svolte a lotti (in batch), quando la DW non è utilizzata. In applicazioni con pochi dati il modulo è invocato periodicamente per acquisire tutto il contenuto della DW. In genere,invece, i dati vengono allineati in modo incrementale, utilizzando il modulo di allineamento dei dati.
Architettura di un DataWarehouse Allineamento dei Dati (refresh) Propaga incrementalmente le modifiche della data source in modo da aggiornare il contenuto della DW. Laggiornamento può essere effettuato tramite: invio dei dati (data shipping) invio delle transazioni (transaction shipping) Nel primo caso allinterno delle data source vengono inseriti dei trigger che registrano cancellazioni, inserimenti e modifiche(coppie inserimento-cancellazione) in archivi variazionali. Nel secondo caso viene usato il log delle transazioni per costruire gli archivi variazionali.
Architettura di un DataWarehouse Accesso ai Dati E il modulo che si occupa dellanalisi dei dati. Realizza in maniera efficiente interrogazioni complesse, caratterizzate da join tra tabelle, ordinamenti e aggregazioni complesse. Consente nuove operazioni come roll up, drill down e data cube.
Architettura di un DataWarehouse Data mining Tecniche algoritmiche che consentono di fare deduzioni sui dati. Consente di svolgere ricerche sofisticate sui dati e di esplicitare relazioni nascoste tra i dati. Export dei dati Consente lesportazione dei dati da una DW ad unaltra. Architettura gerarchica.
Architettura di un DataWarehouse Moduli di ausilio alla progettazione e gestione di una DW: un componente per lassistenza allo sviluppo della DW, che permette di facilitare le definizione dello schema dei dati e i meccanismi per limportazione dei dati. un dizionario dei dati, che descrive il contenuto della DW, utile per comprendere quali analisi dei dati possono essere eseguite, una sorta di glossario.
Schema di un DataWarehouse Nel costruire una DW aziendale ci si concentra su sottoinsiemi molto semplici dei dati aziendali che si vogliono analizzare (dati dipartimentali). Ogni schema semplificato dei dati dipartimentali prende il nome di data mart. Lorganizzazione dei dati di un data mart avviene secondo uno schema multidimensionale (o schema a stella).
Schema a stella Vendita prodotto supermercato tempo promozione (0,N) (1,1) Unità centrale rappresenta i fatti Diverse unità poste a raggiera intorno ai fatti rappresentano le dimensioni dellanalisi
Schema a stella Varie relazioni uno a molti collegano ciascuna occorrenza di fatto con una ed una sola occorrenza di ciascuna delle dimensioni. La struttura è regolare e indipendente dal problema considerato. (occorrono almeno due dimensioni altrimenti il problema degenera in una semplice gerarchia uno-molti) Un numero elevato di dimensioni è sconsigliato perché la gestione dei fatti e lanalisi si complicano.
Schema a stella Promozione: CodPromo Nome Tipo Percentuale FlagCoupon DataInizio DataFine Costo Agenzia Vendita Amm Qta Prodotto: CodProd Nome Categoria Marca Peso Fornitore Supermercato: CodMarket Nome Città Regione Zona Dimensioni Disposizione Tempo: CodTempo GiornoSett GiornoMese GiornoAnno SettimanaMese SettimanaAnno MeseAnno… (0,N) (1,1) Ciascuna occorrenza di vendita ha per identificatore i quattro codici: CodProd CodMarket CodPromo CodTempo Gli attributi non chiave sono Amm e Qta. Ogni occorrenza di vendita è un dato aggregato
Schema a stella Nella dimensione del tempo sono presenti dati derivati e ridondanze. Le ridondanze servono per facilitare le operazioni di analisi dei dati. I fatti sono in forma normale di Boyce-Codd in quanto ogni attributo non chiave dipende funzionalmente dalla sua unica chiave. Le dimensioni sono in genere relazioni non normalizzate.
Schema a fiocco di neve Vendita Prodotto Supermercato Giorno Promozione (0,N) (1,1) Categoria (0,N)(1,1) Fornitore (0,N) Città (0,N) (1,1) Regione (0,N) (1,1) Mese (0,N) (1,1) Zona (0,N) (1,1) Anno (0,N) (1,1) Evoluzione dello schema a stella, introdotta per strutturare gerarchicamente le dimensioni non normalizzate. Tale schema rappresenta in modo esplicito le gerarchie, riducendo così le ridondanze e le anomalie
Analisi dei dati: operazioni 1)Interfaccia standard di formulazione delle query 2)Drill down 3)Roll up 4)Data Cube (Slice-and-dice)
INTERFACCIA STANDARD DI FORMULAZIONE DELLE QUERY Lanalisi dei dati di un data mart organizzato a stella richiede lestrazione di un sottoinsieme dei fatti e delle dimensioni Le dimensioni vengono usate per selezionare i dati e per raggrupparli I fatti vengono tipicamente aggregati È possibile costruire moduli predefiniti per estrarre i dati in cui si offrono scelte predefinite (selezioni, aggregazioni,valutazioni di funzioni aggregate.
Promozione.NomeProdotto.NomeTempo.MeseQtaAmm 3x2 Coupon 15% SuperSaver Vino Pasta Olio Gen … Dic SuperSaverPasta … OlioFeb … Apr Prodotto.NomeTempo.Mese sum Schema Opzioni Condizioni Vista Attributi delle dimensioni: Promozione Prodotto Tempo Attributi dei Fatti: Aggregati (SUM) INTERFACCIA STANDARD DI FORMULAZIONE DELLE QUERY
select Tempo.Mese, Prodotto.Nome, sum(Amm), sum(Qta) from Vendite, Tempo, Prodotto where Vendite.CodTempo = Tempo.CodTempo and Vendite.CodProdotto = Prodotto.CodProdotto and (Prodotto.Nome = Pasta or Prodotto.Nome = Olio) and Tempo.Mese between Feb and Apr and Promozione.Nome = SuperSaver group by Tempo.Mese, Prodotto.Nome order by Tempo.Mese, Prodotto.Nome Promozione.NomeProdotto.NomeTempo.MeseQtaAmm 3x2 Coupon 15% SuperSaver Vino Pasta Olio Gen … Dic SuperSaverPasta … OlioFeb … Apr Prodotto.NomeTempo.Mese sum Schema Opzioni Condizioni Vista Tempo.meseProdotto.nomesum(Amm)sum(Qta) INTERFACCIA STANDARD DI FORMULAZIONE DELLE QUERY
Drill-down e Roll-up Il drill down permette di aggiungere una dimensione di analisi disaggregando i dati. Il roll up dualmente consente di eliminare una dimensione di analisi. Loperazione di roll up può essere fatta agendo sui risultati dellinterrogazione, quella di drill down richiede la riformulazione dellinterrogazione(servono dati non presenti nellinterrogazione).
Drill-down e Roll-up Prodotto.NomeTempo.MeseQta Vino Pasta Olio Gen … Dic PastaFeb … Apr Prodotto.NomeTempo.Mese sum Schema Opzioni Condizioni Vista somma delle quantità vendute di pasta nel trimestre Feb-Apr Tempo.meseProdotto.NomeSum(Qta) FebPasta46 Kg MarPasta50 Kg AprPasta51 Kg
Drill-down Tempo.meseProdotto.NomeZonaSum(Qta) FebPastaNord18 FebPastaCentro15 FebPastaSud13 MarPastaNord18 MarPastaCentro18 MarPastaSud14 AprPastaNord18 AprPastaCentro17 AprPastaSud16 Tempo.meseProdotto.NomeSum(Qta) FebPasta46 Kg MarPasta50 Kg AprPasta51 Kg Il manager è interessato alle vendite per zona: Drill down on Zona
Analisi dei dati ZonaProdotto.NomeSum(Qta) NordPasta54 Kg CentroPasta50 Kg SudPasta43Kg Tempo.meseProdotto.NomeZonaSum(Qta) FebPastaNord18 FebPastaCentro15 FebPastaSud13 MarPastaNord18 MarPastaCentro18 MarPastaSud14 AprPastaNord18 AprPastaCentro17 AprPastaSud16 Il manager è interessato solo alla suddivisione delle vendite per zona: roll up on Mese
Rappresentazione Multidimensionale (Cube)
Slice-and-dice Seleziona un sottoinsieme delle celle del un cubo, ottenutaaffettando e tagliando a cubetti il cubo stesso. Seleziona e proietta riducendo la dimensionalità dei dati
Slice-and-dice Il manager vuole effettuare unanalisi relativa alle vendite in tutti i periodi nella zona Roma-2
Slice-and-dice Il manager vuole effettuare unanalisi relativa alle vendite in tutti i periodi nella zona Roma-2 Luogo Tempo Articolo
Slice-and-dice Il manager di prodotto esamina la vendita di un particolare prodotto in tutti i periodi e in tutti i mercati Luogo Tempo Articolo
Slice-and-dice Il manager finanziario esamina la vendita di tutti i prodotti in tutti i mercati relativamente ad un particolare periodo Luogo Tempo Articolo
Slice-and-dice Il manager strategico si concentra su una categoria di prodotti, una area regionale e un orizzonte temporale medio Luogo Tempo Articolo
Slice-and-dice Il manager seleziona le vendite per trimestre e per negozio dei soli lettori di DVD Lettori DVD 1 trim.032 trim.033 trim.034 trim.03 Roma Roma Milano Milano
Data mining Ricerca di informazioni nascoste allinterno delle DW. Esempi: –analisi di mercato (individuazione di oggetti acquistati assieme o in sequenza) –analisi di comportamento (frodi o usi illeciti delle carte di credito) –analisi di previsione (costo futuro delle cure mediche)
Fasi del processo di data mining 1.Comprensione del dominio. 2.Preparazione sul set di dati. Individuazione di un sottoinsieme dei dati della DW su cui effettuare il mining e loro codifica (input algoritmo) 3.Scoperta dei pattern. Ricerca e individuazione di pattern ripetitivi tra i dati. 4.Valutazione dei pattern. Partendo dai pattern scoperti si valutano quali esperimenti compiere successivamente e quali ipotesi formulare o quali conseguenze trarre. 5.Utilizzo dei risultati. Prendere decisioni operative a seguito del processo di data mining (allocazione merci, concessione credito).
Problemi di data mining Struttura ricorrente Specifici algoritmi Buona scalarità Efficenti per grandi moli di dati
Problemi di data mining Regole di associazione Discretizzazione Classificazione
Regole di associazione Scoprire associazioni ti tipo causa-effetto. Una regola associativa consta di una premessa e di una conseguenza. Pannolini Birra e possibile definire in modo preciso le probabilità associate alle regole di associazione. –supporto: probabilità che in una osservazione, cioè un insieme di elementi in esame, sia presente sia la premessa che la conseguenza di una regola. –confidenza: probabilità che in una osservazione sia presente la conseguenza di una regola essendo già presente la premessa.
Regole di associazione pane,burro latte con supporto 0.03 confidenza 0.9 Afferma che: pane, burro e latte compaiono insieme nel 3% degli scontrini Il 90% degli scontrini che contengono pane e burro contengono anche latte
Regole di associazione Il problema di data mining relativo alla scoperta delle regole di associazione viene quindi enunciato come Segue: Trovare tutte le regole di associazione X Y con supporto e confidenza superiori a valori prefissati Con riferimento ad una osservazione, la regola X Y va interpretata come nelle transazioni in cui compare X compare anche Y X è detto anche corpo o rule body, Y è detta anche testa o rule head Il supporto indica pertanto la percentuale di transazioni dellosservazione che contengono entrambe X ed Y La confidenza indica, date le transazioni che contengono X, qual è la percentuale di transazioni che contengono Y
Regole di associazione: esempio 1.Prosciutto, mozzarella 2.^*Prosciutto, mozzarella, pane, birra 3.^Prosciutto, mozzarella, pane 4.pane, yoghurt, birra, scamorza 5.yoghurt, birra, scamorza 6.mozzarella, pane 7.^*Prosciutto, mozzarella, pane, birra 8.^Prosciutto, pane 9.Birra, pane, 10.^*pane, yoghurt, birra, scamorza, prosciutto prosciutto, pane => birra: *supporto: 3/10, ^confidenza: 3/5
Il problema formale Un insieme I di item {I1…In} Una osservazione D di transazioni T, T I due insieme X e Y di elementi, X I Y I X Y indica che le transazioni T che contengono X (X T), conterranno molto probabilmente anche gli elementi di Y (Y T) Il supporto di X Y rispetto a D è calcolato come support(X Y,D) = freq(XY,D) La confidenza di X Y rispetto a D è calcolata come confidence(X Y,D) = freq(XY,D)/freq(X,D)
Il problema formale La basket analysis consiste nellindividuare strong association rules, i.e. regole aventi: supporto superiore al parametro min_sup confidenza superiore al parametro min_conf k-itemset: {pane,burro,latte} è un 3-itemset Support count è il numero di transazioni che contengono un certo itemset
Il problema formale La frequenza di un itemset è la percentuale di transazioni in cui tutti gli elementi dellitemset compaiono. Un itemset con frequenza superiore a min_sup è un frequent itemset Linsieme degli itemset di ordine k è indicato con L k N.b.: Se un itemset X non soddisfa min_sup allora nessuna sua estensione X Y soddiferà min_sup Si parte dallinsieme L1 dei frequent itemset contenenti un solo elemento L 1 è utilizzato per trovare L 2 L 2 è utilizzato per trovare L 3 Il processo continua fino a quando non è più possibile trovare frequent k-itemset
Lalgoritmo generale 1.Il supporto di ogni item viene contato e vengono determinati i frequent item set di dimensione 1 2.In ogni passo successivo, i frequent item set determinati al passo precedente sono utilizzati per generare i nuovi itemset detti candidate itemsets. 3.Il supporto di ogni candidato è calcolato e i frequent itemset sono determinati 4.Il processo è iterato fino a quando non vengono trovati nuovi frequent itemset.
La determinazione delle regole confidence(X Y) = support_count(X Y,D)/support_count(X,D) Noti i frequent itemset si determinano le regole come: for every frequent itemset X of FI for every non empty subset s of X { if support_count(X)/support_count(s)>min_conf output the rule s (X-s) }
Discretizzazione Consente di rappresentare un intervallo continuo di dati tramite pochi valori discreti, selezionati in modo da rendere più evidente il fenomeno sottoposto ad osservazione. Es. valori di pressione
Classificazione Catalogazione di un fenomeno in una classe predefinita. Fa uso di algoritmi di classificazione (es. alberi decisionali) Quando i fenomeni sono descritti da un gran numero di attributi i classificatori si occupano di determinare gli attributi significativi, separandoli da quelli irrilevanti. Es. polizza assicurazione
Classificazione: alberi decisionali vero falso Età <23 TipoAuto=Sportiva TipoAuto=Camion