Sistemi informativi informazionali
I sistemi operazionali non sono adatti all'estrazione dell'informazione utilizzata dai manager, perché il loro obiettivo primario è l'ottimizzazione dei flussi operativi; in questo ambito si inseriscono i sistemi informativi informazionali che, se progettati in modo corretto, forniscono un supporto decisionale alle aziende.
Concetti chiave
Definiamo preventivamente, per poi approfondire, i concetti chiave:
- Data Warehouse: È la base di dati informazionale, che raccoglie in un unico magazzino tutti i dati di interesse per l'azienda sintetizzandoli, integrandoli e strutturandoli in modo tale da rendere agevole ed efficace la ricerca di informazioni. L'insieme delle attività che permette di definire, costruire e mantenere la struttura e le informazioni nel data warehouse è detto Data Warehousing.
- Decision Support System (DDS): Sistemi di supporto alle decisioni, forniscono supporto all'estrazione delle informazioni da basi di dati organizzate e alla loro presentazione.
- Data Mining: Insieme di tecniche e strumenti utilizzati per estrarre dalle basi di dati informazioni nascoste; spesso i dati possono rivelare relazioni che l'utente non immagina o non può scoprire, semplicemente perché sono troppi o articolati in modo troppo complesso.
Tecniche di gestione di database
Con il passare del tempo si sono implementate tecniche di gestione di database sempre più efficaci:
- BATCH: (tra '60 e '70) il significato è "a lotti": raccolgo tutte le transazioni che devo portare a termine, scelgo un momento e in una passata faccio tutto.
- OLTP (On-Line Transactional Processing): (tra '70 e '80) è la tecnologia che definisce la gestione di una base dati e mi permette di elaborare transazioni "in tempo reale"; fornisce supporto all'operatività. Con questo acronimo si indicano tutti i sottosistemi informativi aziendali per il trattamento delle transazioni, ottimizzati per garantire la massima efficienza nella gestione dei processi operativi aziendali. Sono progettati per supportare numerosi utenti che operano modificando la base di dati o ricercando informazioni puntuali (TRANSAZIONE = cambio di valori in un database → ex: Amazon deve riuscire a gestire milioni di transazioni al minuto). È una tecnologia caratterizzata da un gran numero di piccole transazioni online (insert, update, delete). Il problema dei sistemi OLTP sorge quando ho tantissime transazioni su repliche numerose dello stesso database e soprattutto risiedono nell'incapacità di fare analisi.
- OLAP (On-Line Analytical Processing): (tra '80 e '90) insieme dei sottosistemi informativi aziendali pensati per l'analisi interattiva dei dati, ottimizzati per garantire la massima efficienza nell'elaborazione dei dati di sintesi e la massima flessibilità nelle interrogazioni; fornisce supporto al processo decisionale. Caratterizzato da pochi utenti, basso volume di transazioni, le interrogazioni sono molto complesse e nei suoi database ci sono dati storici, immagazzinati in schemi multidimensionali. Il tempo di risposta diventa una misura di efficienza.
Approcci OLAP
Per quanto riguarda l'OLAP ho diversi processi a seconda dell'approccio che uso. Gli approcci sono 3:
- ROLAP (Relational): La struttura multidimensionale dei fatti viene realizzata completamente su database relazionali; le interrogazioni non sono semplici perché avvengono attraverso query SQL standard, con opportune funzioni di aggregazione. Tra i vantaggi c'è la minor occupazione di spazio, poiché nei DB relazionali viene occupato solo lo spazio richiesto dai dati istanziati, e minor difficoltà di gestione nella fase di costruzione e popolamento di data warehouse e data mart. Lo svantaggio più grande è che l'esecuzione di query multidimensionali su strutture dati relazionali è poco efficiente.
- MOLAP (Multidimensional): I dati vengono fisicamente memorizzati in vettori e l'accesso è di tipo posizionale cioè avviene attraverso coordinate che vengono fornite in input. Il vantaggio quindi, è quello di riuscire ad accedere ai dati in modo semplice sia per l'utente che per il calcolatore senza dover fornire interrogazioni SQL complesse. Il problema fondamentale è l'occupazione dello spazio che per il 20% è occupato da celle di cubi che contengono informazioni mentre le restanti celle corrispondono a fatti non realmente accaduti.
- HOLAP (Hybrid): La soluzione ottimale consiste nell'adottare un approccio ibrido, una via di mezzo tra Rolap e Molap. L'Holap è proprio questa via di mezzo: combina i vantaggi degli altri due approcci. Il popolamento dei fatti avviene a partire dalle fonti di dati operazionali esterne e il data warehouse viene realizzato su una base di dati relazionale poiché risulta più semplice.
Fasi di progettazione dei Data Warehouse
Quali sono le fasi che caratterizzano la progettazione dei Data Warehouse? Un fatto. Ho bisogno di analizzare un fatto. Un fatto è un evento che accade nell'ambito di un'organizzazione e che questa intende misurare per valutare le proprie prestazioni, per identificare possibili aree di intervento e per seguire nel tempo la dinamica dell'attività. Esso è descritto da dimensioni, misure e attributi descrittivi ma è univocamente identificato dalla sua ennupla di coordinate dimensionali. Ogni ennupla corrisponde ad un solo fatto e ad un unico insieme di misure e attributi descrittivi associati al fatto.
Prima di tutto, dato un fatto, un evento, devo capire le dimensioni di analisi (ex: Fatto = vendita di un prodotto, Dimensioni = cliente, articolo, data). Se ho come dimensione il tempo che si articola in giorno, mese, anno e tolgo "giorno", vuol dire che non mi interessa effettuare un'analisi giorno per giorno.
Processo ETL
Processo ETL: Extraction, Transformation, Loading. Si chiama così perché estrae i dati da diverse sorgenti, li trasforma per renderli omogenei e li carica nel Data Warehouse. Il processo, definito in parte dal progettista, estrae i dati e attraverso query mirate riempie il modello fatto-dimensione (tutte le possibili query estraibili). Ogni volta che serve un aggiornamento (se le analisi che voglio andare a fare sono annuali non aggiorno quotidianamente) devo fare queste operazioni di riempimento.
Il lavoro del progettista di DW deve essere quello di capire come disporre i dati in ipercubi. Questi ultimi sono ciò che l'utente finale estrae e, attraverso strumenti, posso fare operazioni su ipercubi. Le fasi che sono state descritte in precedenza, servono per arrivare alla definizione di un DW che, come è stato già detto, è un deposito centralizzato che immagazzina dati da multiple sorgenti di informazione e li trasforma in un modello comune multidimensionale di dati per efficienti interrogazioni e analisi. OLTP, cioè sistemi operazionali, forniscono sorgenti dati a DW e i sistemi OLAP aiutano ad analizzare per poi prendere determinate decisioni. Una volta che ho progettato il DW non cambia mai, l'aggiornamento dei fatti consiste praticamente nel solo inserimento di eventi nuovi ma non nella variazione di quelli preesistenti.
Spiegando nello specifico il processo ETL, le fasi di popolamento di un DW sono diverse. L'estrazione avviene da diverse fonti e i dati che andranno a popolare il DW sono solo quelli essenziali all'analisi; essi vengono solitamente memorizzati in un'area temporanea che funge da area di lavoro per le fasi successive. Come secondo passo devo rendere omogenei i dati che arrivano da diverse sorgenti riconoscendo i duplicati che vengono ricondotti ad un'unica istanza, standardizzarne i formati in modo da ricondurli al formato previsto per il DW e standardizzare i codici di classificazione ovvero definire una codifica standard aziendale a cui tutti i dati devono essere ricondotti tramite tabelle di conversione. La fase di pulizia poi, che può avvenire prima, dopo, durante la trasformazione, ha il compito di pulire il DW da eventuali errori come dati incompleti, errati o incomprensibili, inconsistenti. L'operazione di loading infine, avviene dall'esterno verso l'interno aggiornando prima i dati relativi agli attributi dimensionali con livello di aggregazione massimo, poi via via quelli di livello inferiore fino a caricare per ultimi i fatti.
Operazioni OLAP
Quando l'utente vuole analizzare dei dati formula un'ipotesi e inoltra una richiesta alla base di dati multidimensionale per verificarla quindi, l'azione e la ricerca sono sempre stimolate dall'utente. Ci sono diversi operatori OLAP che, se applicati, permettono l'analisi dei dati:
- DRILL DOWN: Letteralmente scavare, scendere in profondità verso un maggior dettaglio delle informazioni. Parte da un livello di presentazione dei dati molto generale, vede dove sta il problema e approfondisce i dettagli scendendo lungo la gerarchia o aggiungendo una dimensione di analisi (ex: analizzo le vendite di un prodotto nel 2012 e 2013; in modo generale vedo Est e Ovest e mi accorgo che all'occidente le mie vendite non sono aumentate; a questo punto applico l'operatore di drill down scendendo a maggior dettaglio e suddividendo le vendite delle varie aziende che operano ad Ovest: mi accorgo del problema, cioè qualche azienda avrà venduto meno, e cerco di risolverlo).
- ROLL UP: Opposto dell'operatore di drill down (infatti è anche chiamato drill up), esso parte da analisi dettagliate fino ad arrivare ad avere visioni più generali e sintetiche (nell'ex di prima, dalle varie aziende dell'ovest si arriva all'occidente in generale).
- SLICE: Operazione che consiste nel fissare il valore di una delle dimensioni base e analizzare la porzione di dati filtrati così ottenuta; si riduce in poche parole la quantità dei fatti elementari concentrandosi su quelli che hanno una determinata caratteristica dimensionale comune (ex: se volessimo analizzare le vendite di un certo prodotto appena lanciato sul mercato dovremmo fare un'operazione di slice sui fatti elementari relativi a quel prodotto).
- DICE: Operazione che riduce anch'essa i fatti elementari per facilitare l'analisi ma lo fa operando su più dimensioni e fissando valori per coordinate dimensionali di qualsiasi livello: in pratica seleziona un sottocubo dell'ipercubo corrente impostando su una o più dimensioni i valori da considerare.
- PIVOT: Inverte la relazione tra le dimensioni realizzando una rotazione del cubo nell'analisi: essa permette di riorganizzare i dati velocemente per mettere in evidenza un certo soggetto di analisi.
Data Management
Data Management: Gestione dei dati soprattutto a livello direzionale; comprende una fase di pianificazione, controllo e utilizzo tattiche strategiche. Il punto di partenza sono delle basi di dati che vengono inserite in input e possono essere sia interne sia esterne (i dati che non dipendono da me li prendo così come sono, possono essere anche file multimediali). Come già spiegato il compito del progettista è quello di generare DW in modo tale che i dati siano gestiti da ipercubi che entrano a far parte dell'ENGINE OLAP all'interno del quale c'è uno strumento che permette le operazioni su ipercubi. Nel DW ci devono essere necessariamente due persone, un informatico che sia in grado quindi di programmare il sistema e una persona che sia in grado di valutare la bontà di un processo. Il DW per l'utente finale risulta sempre in lettura.
Qual è la differenza tra DW e DM (DATA MART)?
- DW: Intera base informativa direzionale di un'azienda.
- DM: Sottoinsiemi del DW che rappresentano le viste logiche a disposizione delle diverse aree aziendali. Entrambi servono come supporto del processo decisionale.
Tipi di architettura
Ci sono fondamentalmente due tipi di architettura:
- Sistema centralizzato: DW e ipercubi distribuiti su un unico nodo. I dati e le applicazioni risiedono su un unico nodo elaborativo e sono accessibili dagli utenti attraverso i terminali utente (PC). La realizzazione è di tipo fisico.
- Sistema distribuito: Si usa quando ho a che fare con DM ma non ho DW fisico. Le applicazioni risiedono su più nodi operativi oppure il patrimonio informativo è ospitato su più nodi elaborativi. La sua realizzazione è di tipo virtuale.
Ci sono poi soluzioni ibride che vedono una realizzazione fisica in un sistema distribuito o realizzazione virtuale in un sistema centralizzato. Il Data Warehousing è l'insieme di tutte quelle attività volte a programmare queste strutture e popolare il DW, successivamente gli algoritmi di data mining devono essere in grado di dirmi qualcosa e portarmi ad una conclusione (ex: relazione pannolini-birra).
Data Mining
Data Mining: Processo di esplorazione e analisi di un insieme di dati generalmente di grandi dimensioni. Lo scopo è individuare pattern ovvero eventuali regolarità o regole ricorrenti significative. Come devono essere tali pattern? Validi, potenzialmente utili, comprensibili. C'è differenza tra DATA RETRIEVAL, che è simile ad una query (chi sono i diciottenni che hanno intenzione di iscriversi a ingegneria?), e DATA MINING che analizza più le relazioni (che legame esiste tra i diciottenni e la facoltà di ingegneria?).
Concetto Big Data
Big Data è il termine usato per descrivere una raccolta di dati così estesa in termini di volume, velocità e varietà da richiedere tecnologie e metodi analitici specifici per l'estrazione di valore. Il progressivo aumento della dimensione dei dataset è legato alla necessità di analisi su un unico insieme di dati, con l'obiettivo di estrarre informazioni aggiuntive rispetto a quelle che si potrebbero ottenere analizzando piccole serie, con la stessa quantità totale di dati. Big data rappresenta anche l'interrelazione di dati provenienti potenzialmente da fonti eterogenee, quindi non soltanto i dati strutturati, come i database, ma anche non strutturati, come immagini, email, dati GPS, informazioni prese dai social network.
Con i big data la mole dei dati è dell'ordine degli Zettabyte, ovvero miliardi di Terabyte. Quindi si richiede una potenza di calcolo parallelo con strumenti dedicati eseguiti su decine, centinaia o anche migliaia di server. Siccome i dati crescono in modo esponenziale la figura del data scientist sarà sempre più ricercata; egli deve cercare di rendere basi dati della complessità adatta rispetto all'algoritmo: problemi esponenziali devo cercare di renderli polinomiali.
Processo di Data Mining
Come si articola il processo di Data Mining? Ci sono fondamentalmente 6 fasi:
- Definizione Dominio: Devo determinare che cosa voglio considerare e da quale confine non posso uscire. Devo cercare di ridurre il confine al minimo possibile per non dover analizzare dati che non mi interessano per il raggiungimento del mio obiettivo.
- Definizione Data-Set: Il Data-Set è l'insieme dei dati su cui andrò ad applicare l'algoritmo, insieme di istanze che devo andare ad analizzare. In questa fase bisogna parlare anche di Training-Set e Test-Set. Il TRS è un sottoinsieme del DS usato per configurare la tecnica utilizzata, tutto il lavoro di configurazione viene fatto su un piccolo pezzetto. Il TS è sempre un sottoinsieme del DS utilizzato per testare la bontà della tecnica: il suo compito è di capire se il modello che ho configurato su una piccola parte vale anche per l'insieme più grande (se faccio l'esempio della classe possiamo definire come DS tutta la classe, come TRS la prima fila e come TS le quattro file successive. In poche parole prendo la prima fila e provo a configurare una tecnica, ne valuto la bontà sulle quattro file successive e, se è valida, la applico a tutta la classe (DS)).
- Data Integration, Cleaning, Reduction: I dati vengono integrati per armonizzare la loro rappresentazione, puliti per eliminare eventuali errori e ridotti in modo da tenere solo i dati veramente fondamentali.
- Scelta tecnica di Data Mining: Nella scelta della tecnica da utilizzare mi è permesso di decidere tra tecniche supervisionate come classificazione (albero di decisione) e analisi di regressione e tecniche non supervisionate (dove non preclassifico le mie istanze) come Clustering (K-means) e Pattern discovery (regole associative).
- Data Mining: Implemento la tecnica scelta.
- Interpretazione risultati: Ci sono due caratteristiche importantissime per quanto riguarda l'algoritmo di Data Mining; una di queste è la scalabilità ovvero la capacità di elaborare le funzioni di analisi con tempi di risposta lineari rispetto alla numerosità dei dati (la scalabilità è definita anche come la capacità di un sistema di incrementare le proprie prestazioni se a tale sistema vengono fornite nuove risorse: quanto un sistema sia scalabile dipende dalla sua architettura software o hardware. Orizzontale: aggiunta di altre macchine in distribuzione di carico; Verticale: aumento della capacità di elaborazione di una singola macchina); non sempre questo requisito è soddisfatto perché a volte queste funzioni sono estremamente complesse. L'altra caratteristica è l'interpretabilità cioè la facilità con cui l'utente interagisce con l'interfaccia utente per l'attivazione delle funzioni di analisi e per rappresentare le informazioni da queste fornite; il fattore critico per il successo di un sistema è soprattutto questo aspetto; devo capire a chi mi sto rivolgendo e chi digita le funzioni per mettere in moto l'algoritmo: nelle aziende il personale che solitamente interagisce con gli strumenti di analisi ha raramente conoscenze specialistiche in statistica, quindi semplicità di interazione e intuitività delle rappresentazioni diventano fattori determinanti per il successo di un sistema di Data Mining.
Decision Tree
Decision Tree: L'albero delle decisioni permette di classificare un soggetto seguendo un percorso guidato dai valori assunti dalle sue dimensioni. L'albero di decisione viene solitamente costruito tramite una tecnica...
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Riassunto orale Laboratorio di sistemi informativi
-
Statistica riassunto
-
Biochimica - riassunto
-
Riassunto Chimica