ANALISI DEI DATI. OLAP (On Line Analytical Processing) Data Warehousing Data Mining

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ANALISI DEI DATI. OLAP (On Line Analytical Processing) Data Warehousing Data Mining"

Transcript

1 ANALISI DEI DATI OLAP (On Line Analytical Processing) Data Warehousing Data Mining

2 Dall OLTP all OLAP La tecnologia delle basi di dati è finalizzata prevalentemente alla gestione dei dati in linea, si parla di OnLine Transaction Processing (OLTP)

3 Analisi dei dati I dati disponibili possono essere utilizzati non solo nella gestione, ma anche nella pianificazione Un analisi dei dati passati e presenti può essere utile per la programmazione delle attività future dell impresa Si parla in questo caso di On Line Analytical Processing (OLAP)

4 Sistemi OLTP e OLAP L elemento principale dell architettura 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 l ambiente 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)

5 Sistemi OLTP e OLAP OLTP OLAP A A 1 1 A A 2 2 terminalisti A A n n A A 1 1 analisti A A 2 2 A A n n DB DWMS DW Terminalisti: utenti finali. Possono eseguire operazioni di lettura e di scrittura Analisti: Pochi utenti, occupano posizioni di alto livello nell impresa e svolgono attività di supporto alle decisioni.

6 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 un applicazione Devono essere rispettate le proprietà ACIDe (atomicità, correttezza, isolamento, durabilità) delle transazioni OLAP (On Line Analytical Processing): Sistemi per l analisi 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

7 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

8 Architettura di un DataWarehouse Export dei dati Data mining DW Prime due componenti operano nelle data source Accesso ai Dati Allineamento dei Dati (refresh) Acquisizione dei Dati Export Data Filter Data Source Export Gli Data altri Filter cinque componenti operano Data Source nella DW Export Data Filter Data Source

9 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 dell inserimento 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à. L esportazione dei dati avviene in maniera incrementale: il sistema colleziona solo le modifiche (inserzioni o cancellazioni) delle data source.

10 Architettura di un DataWarehouse Acquisizione dei Dati (loader) E responsabile del caricamento iniziale dei dati nella DW. Predispone i dati all uso 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.

11 Architettura di un DataWarehouse Allineamento dei Dati (refresh) Propaga incrementalmente le modifiche della data source in modo da aggiornare il contenuto della DW. L aggiornamento può essere effettuato tramite: invio dei dati (data shipping) invio delle transazioni (transaction shipping) Nel primo caso all interno 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.

12 Architettura di un DataWarehouse Accesso ai Dati E il modulo che si occupa dell analisi 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.

13 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 l esportazione dei dati da una DW ad un altra. Architettura gerarchica.

14 Architettura di un DataWarehouse Moduli di ausilio alla progettazione e gestione di una DW: un componente per l assistenza allo sviluppo della DW, che permette di facilitare le definizione dello schema dei dati e i meccanismi per l importazione 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.

15 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. L organizzazione dei dati di un data mart avviene secondo uno schema multidimensionale (o schema a stella).

16 Schema a stella prodotto Unità centrale rappresenta i fatti (0,N) (1,1) supermercato (0,N) (1,1) Vendita (1,1) (0,N) promozione (1,1) (0,N) tempo Diverse unità poste a raggiera intorno ai fatti rappresentano le dimensioni dell analisi

17 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 l analisi si complicano.

18 Ciascuna occorrenza di vendita ha per identificatore i quattro codici: CodProd CodMarket CodPromo CodTempo Gli attributi non chiave sono Amm e Qta. Supermercato: CodMarket Nome Città Regione Zona Dimensioni Disposizione Schema a stella (0,N) (1,1) Prodotto: CodProd Nome Categoria Marca Peso Fornitore (0,N) (1,1) Vendita Amm Qta (1,1) (0,N) Tempo: CodTempo GiornoSett GiornoMese GiornoAnno SettimanaMese SettimanaAnno MeseAnno (1,1) (0,N) Promozione: CodPromo Nome Tipo Percentuale FlagCoupon DataInizio DataFine Costo Agenzia Ogni occorrenza di vendita è un dato aggregato

19 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.

20 Schema a fiocco di neve Evoluzione dello schema a stella, introdotta per strutturare gerarchicamente le dimensioni non normalizzate. Fornitore Supermercato (1,1) (0,N) (0,N) (1,1) Prodotto (0,N) (1,1) Vendita (1,1) (1,1) (1,1) (0,N) (0,N) Categoria Promozione (0,N) (0,N) Città (1,1) (0,N) Regione (1,1) Giorno (1,1) (0,N) Mese (1,1) Tale schema rappresenta in modo esplicito le gerarchie, riducendo così le ridondanze e le anomalie (0,N) Zona (0,N) Anno

21 Analisi dei dati: operazioni 1) Interfaccia standard di formulazione delle query 2) Drill down 3) Roll up 4) Data Cube (Slice-and-dice)

22 INTERFACCIA STANDARD DI FORMULAZIONE DELLE QUERY L analisi dei dati di un data mart organizzato a stella richiede l estrazione 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.

23 INTERFACCIA STANDARD DI FORMULAZIONE DELLE QUERY Promozione.Nome Prodotto.Nome Tempo.Mese Qta Amm Schema 3x2 Coupon 15% SuperSaver Vino Pasta Olio Gen Dic Opzioni SuperSaver Pasta Olio Feb Apr Prodotto.Nome Tempo.Mese sum sum Condizioni Vista Attributi delle dimensioni: Promozione Prodotto Attributi dei Fatti: Aggregati (SUM) Tempo

24 INTERFACCIA STANDARD DI FORMULAZIONE DELLE QUERY Promozione.Nome Prodotto.Nome Tempo.Mese Qta Amm Schema 3x2 Coupon 15% SuperSaver Vino Pasta Olio Gen Dic Opzioni SuperSaver Pasta Olio Feb Apr Prodotto.Nome Tempo.Mese sum sum Condizioni Vista 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 Tempo.mese Prodotto.nome sum(amm) sum(qta) group by Tempo.Mese, Prodotto.Nome order by Tempo.Mese, Prodotto.Nome

25 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. L operazione di roll up può essere fatta agendo sui risultati dell interrogazione, quella di drill down richiede la riformulazione dell interrogazione(servono dati non presenti nell interrogazione).

26 Drill-down e Roll-up Prodotto.Nome Tempo.Mese Qta Vino Gen Dic Pasta Olio Pasta Feb Apr Prodotto.Nome Tempo.Mese sum Schema Opzioni Condizioni Vista somma delle quantità vendute di pasta nel trimestre Feb-Apr Tempo.mese Prodotto.Nome Sum(Qta) Feb Pasta 46 Kg Mar Pasta 50 Kg Apr Pasta 51 Kg

27 Drill-down Il manager è interessato alle vendite per zona: Drill down on Zona Tempo.mese Prodotto.Nome Sum(Qta) Feb Pasta 46 Kg Mar Pasta 50 Kg Apr Pasta 51 Kg Tempo.mese Prodotto.Nome Zona Sum(Qta) Feb Pasta Nord 18 Feb Pasta Centro 15 Feb Pasta Sud 13 Mar Pasta Nord 18 Mar Pasta Centro 18 Mar Pasta Sud 14 Apr Pasta Nord 18 Apr Pasta Centro 17 Apr Pasta Sud 16

28 Analisi dei dati Tempo.mese Prodotto.Nome Zona Sum(Qta) Feb Pasta Nord 18 Feb Pasta Centro 15 Feb Pasta Sud 13 Mar Pasta Nord 18 Mar Pasta Centro 18 Mar Pasta Sud 14 Apr Pasta Nord 18 Apr Pasta Centro 17 Apr Pasta Sud 16 Il manager è interessato solo alla suddivisione delle vendite per zona: roll up on Mese Zona Prodotto.Nome Sum(Qta) Nord Pasta 54 Kg Centro Pasta 50 Kg Sud Pasta 43Kg

29 Rappresentazione Multidimensionale (Cube)

30 Slice-and-dice Seleziona un sottoinsieme delle celle del un cubo, ottenuta affettando e tagliando a cubetti il cubo stesso. Seleziona e proietta riducendo la dimensionalità dei dati

31 Slice-and-dice Il manager vuole effettuare un analisi relativa alle vendite in tutti i periodi nella zona Roma-2

32 Slice-and-dice Il manager vuole effettuare un analisi relativa alle vendite in tutti i periodi nella zona Roma-2 Luogo Articolo Tempo

33 Slice-and-dice Il manager di prodotto esamina la vendita di un particolare prodotto in tutti i periodi e in tutti i mercati Luogo Articolo Tempo

34 Slice-and-dice Il manager finanziario esamina la vendita di tutti i prodotti in tutti i mercati relativamente ad un particolare periodo Luogo Articolo Tempo

35 Slice-and-dice Il manager strategico si concentra su una categoria di prodotti, una area regionale e un orizzonte temporale medio Luogo Articolo Tempo

36 Slice-and-dice Il manager seleziona le vendite per trimestre e per negozio dei soli lettori di DVD Lettori DVD 1 trim.03 2 trim.03 3 trim.03 4 trim.03 Roma Roma Milano Milano

37 Data mining Ricerca di informazioni nascoste all interno 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)

38 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).

39 Problemi di data mining Struttura ricorrente Specifici algoritmi Buona scalarità Efficenti per grandi moli di dati

40 Problemi di data mining Regole di associazione Discretizzazione Classificazione

41 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.

42 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

43 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 dell osservazione che contengono entrambe X ed Y La confidenza indica, date le transazioni che contengono X, qual è la percentuale di transazioni che contengono Y

44 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

45 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(x Y,D) La confidenza di X Y rispetto a D è calcolata come confidence(x Y,D) = freq(x Y,D)/freq(X,D)

46 Il problema formale La basket analysis consiste nell individuare 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

47 Il problema formale La frequenza di un itemset è la percentuale di transazioni in cui tutti gli elementi dell itemset compaiono. Un itemset con frequenza superiore a min_sup è un frequent itemset L insieme degli itemset di ordine k è indicato con Lk N.b.: Se un itemset X non soddisfa min_sup allora nessuna sua estensione X Y soddiferà min_sup Si parte dall insieme L1 dei frequent itemset contenenti un solo elemento L1 è utilizzato per trovare L2 L2 è utilizzato per trovare L3 Il processo continua fino a quando non è più possibile trovare frequent k-itemset

48 L algoritmo 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.

49 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)

50 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

51 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

52 Classificazione: alberi decisionali Età <23 vero falso TipoAuto= Sportiva vero falso vero TipoAuto= Camion falso

53