sistemi di supporto alle decisioni ing. leonardo rigutini, ph.d. dipartimento di ingegneria...

66
Sistemi di supporto alle Sistemi di supporto alle decisioni decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dell’Informazione Università di Siena [email protected] http://www.dii.unisi.it/~rigutini/

Upload: giorgio-radaelli

Post on 01-May-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioniSistemi di supporto alle decisioniSistemi di supporto alle decisioniSistemi di supporto alle decisioni

Ing. Leonardo Rigutini, Ph.D.

Dipartimento di Ingegneria dell’Informazione

Università di Siena

[email protected]

http://www.dii.unisi.it/~rigutini/

Ing. Leonardo Rigutini, Ph.D.

Dipartimento di Ingegneria dell’Informazione

Università di Siena

[email protected]

http://www.dii.unisi.it/~rigutini/

Page 2: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

IntroduzioneIntroduzione

L’informazione è un bene a valore crescente, necessario per pianificare e controllare le attività produttive:

costituisce la materia prima che viene trasformata dai sistemi informativi

Come è noto ai Web navigator l’equazione dati = informazionedati = informazione non è sempre corretta:

spesso la disponibilità di troppi dati rende arduo, se non impossibile, estrarre informazioni significative

Sistemi per l’estrazione, l’analisi e l’organizzazione automatica di queste enormi moli di dati possono fornire un supporto nei processi decisionali umani:

sistemi di supporto alle Decisioni (DSS)

Page 3: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Introduzione - 2Introduzione - 2

In particolare, i DSS nascono a seguito dell’enorme accumulo di dati registrato nell’ultimo ventennio in forma elettronica, e dalla pressante richiesta di utilizzo di tali dati per scopi che superano quelli legati all’elaborazione giornaliera

Tali sistemi aiutano il decisore umano sia nelle decisioni operative, che nelle decisioni strategiche, a più lungo termine ed a più ampio respiro

Page 4: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Introduzione - 3Introduzione - 3

ApplicazioniCommercioCommercio analisi delle vendite e dei reclami, controllo di spedizioni ed inventari, cura del rapporto con i clientiManifatturaManifattura controllo dei costi di produzione, supporto fornitori e ordiniServizi finanziariServizi finanziari analisi del rischio, analisi utilizzo delle carte di credito, rilevamento di frodiTrasportiTrasporti gestione parco mezzi, gestione carico e distribuzioneTelecomunicazioniTelecomunicazioni analisi del flusso delle chiamate e del profilo dei clientiSanitàSanità analisi di ricoveri e dimissioni, contabilità per centri di costo

Page 5: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Introduzione - 4Introduzione - 4

L’utilizzo dei DSS non è ristretto in ambito aziendale e d’impresa:

spazia dall’area medicoepidemiologica a quella demografica, dalle scienze naturali alla didattica

Caratteristica comune ai diversi ambiti è la necessità di strumenti di archiviazione e di interrogazione, per ottenere, dall’enorme quantità di dati contenuti nei database o resi disponibili da Internet...

informazioni di sintesi che permettano la valutazione di un fenomeno

la scoperta di correlazioni significative

l’acquisizione di conoscenza utile a stabilire una strategia decisionale

Page 6: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - 1Sistemi di supporto alle decisioni - 1

La funzione svolta dalle basi di dati in ambito aziendale è stata, fino a tempi recenti, quella di memorizzare dati operazionali, ossia dati generati da operazioni, in genere di carattere amministrativo, svolte all’interno dei processi gestionali (gestione acquisti, gestione vendite, fatturazione)

Tuttavia, per ogni azienda, è fondamentale poter disporre in maniera rapida e completa delle informazioni necessarie al processo decisionale:

le indicazioni strategiche sono estrapolate dalla mole dei dati operazionali, attraverso un procedimento di selezione e sintesi progressiva

Page 7: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - 2Sistemi di supporto alle decisioni - 2

L’aumento esponenziale del volume dei dati operazionali ha reso il calcolatore l’unico supporto adatto al processo decisionale

Il ruolo delle basi di dati è sensibilmente cambiato, dalla fine degli anni `80, con la nascita dei DSS

Nasce il data warehousedata warehouse: una raccolta di dati integrataintegrata, subject orientedsubject oriented, variabile nel tempovariabile nel tempo e non volatilenon volatile di supporto ai processi decisionali

Page 8: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - 3Sistemi di supporto alle decisioni - 3

Un sistema informativosistema informativo “converte dati in informazioni”, ed ha lo scopo precipuo di collezionare, trasformare e distribuire informazione:

Es. search engine

Un sistema di supporto alle decisionisistema di supporto alle decisioni è un sistema informativo “intelligente” che aiuta l’utente a prendere decisioni, senza sostituirsi ad esso

Page 9: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - 4Sistemi di supporto alle decisioni - 4

Il DSS, attraverso procedure interattive, fornisce al decisore:la disponibilità di tutte le informazioni necessarie per la comprensione del problema

la possibilità di esplorare i dati secondo diversi punti di vista, in base alle esigenze dello stesso utente

la possibilità di valutare gli scenari conseguenti alle scelte compiute

I DSS si adattano al trattamento di problemi strutturati o semistrutturati, per i quali non è possibile fornire una soluzione algoritmica

Page 10: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Sistemi di supporto alle decisioni - 5Sistemi di supporto alle decisioni - 5

Tra le problematiche da affrontare per la realizzazione di un sistema di supporto alle decisioni ricordiamo la necessità di...

…gestire grandi moli di dati

…accedere a diverse fonti di dati su piattaforme eterogenee

…garantire l’accesso a più utenti con compiti differenziati per interrogazioni, analisi in tempo reale e simulazioni

…gestire versioni storiche dei dati

Page 11: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Obiettivi di un DSSObiettivi di un DSS

Permettere l’estrazione di informazione da grandi database, in tempi brevi ed in modo flessibile, per supportare e migliorare il processo decisionale

Necessità di separare i dati generati dalle operazioni di gestione (operational databaseoperational database) dai dati utili ai processi decisionali (data warehousedata warehouse)Data warehouse Data warehouse contiene un sottoinsieme dei dati mantenuti nell’operational database, ottimizzato per analisi focalizzate ai processi decisionaliNell’operational database e nel data warehouse i dati sono memorizzati a livelli diversi di aggregazione

Capacità di analisi dei dati contenuti nel data warehouse in tempo reale e da diversi punti di vista

Page 12: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Data WarehousData WarehousData WarehousData Warehous

Page 13: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data warehouse - 1Data warehouse - 1

IntegrazioneIntegrazioneNel data warehouse confluiscono dati provenienti da più sistemi transazionali e da fonti esterneL’obiettivo dell’integrazione viene raggiunto mediante l’utilizzo di metodi di codifica uniformi

Orientamento al soggettoOrientamento al soggettoI dati vengono archiviati per poter essere facilmente reperiti ed analizzati dagli utentiNon si mira a minimizzare la ridondanza, ma piuttosto a fornire dati che abbiano una struttura in grado di favorire la produzione di informazioni

Page 14: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data warehouse - 2Data warehouse - 2

Variabilità nel tempoVariabilità nel tempoNel DW sono contenute informazioni relative alle aree di interesse che colgono la situazione relativa ad un dato fenomeno in un determinato intervallo temporale (generalmente antecedente all’interrogazione)

Non volatilitàNon volatilitàNon modificabilità dei dati contenuti nel DW, che consente accessi in sola lettura Semplicità di progettazione: non si ricorre a strumenti complessi per gestire l’integrità referenziale o per bloccare record cui possono accedere più utenti in fase di aggiornamento

Page 15: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data warehouse - 3Data warehouse - 3

Pertanto, il DW contiene i dati necessari ai processi decisionali

L’operational database è aggiornato costantemente: deve “fotografare” l’istante correnteIl DW contiene i dati aggregati in particolari istanti di tempo (es. dati settimanali, mensili, trimestrali)Nel DW, i dati che provengono dall’operational database devono essere integrati con i dati relativi all’ambiente esterno (che condizionano il processo decisionale)

Il DW è una sorta di storico che raccoglie istantanee significative dell’operational database, o meglio…

…è una collezione di metodi, tecnologie e strumenti di ausilio al knowledge knowledge workerworker (amministratore, gestore, analista, dirigente) per condurre analisi dei dati finalizzate all’attuazione di processi decisionali e al miglioramento del patrimonio informativo

Page 16: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data warehouse - 4Data warehouse - 4

Operational Operational DatabaseDatabase

WeWebb

Mario Rossi5000€Mario Rossi

15000€Mario Rossi10000€

Mario Rossi Via Diotisalvi, 2 Pisa 10.000

Data WarehouseData Warehouse

Page 17: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Data miningData miningData miningData mining

Page 18: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Knowledge Data Discovery - 1 Knowledge Data Discovery - 1

Gli stadi che caratterizzano un processo KDD sono stati identificati da Fayyad, PiatetskyShapiro, Smyth e Uthurusamy (1996)

Nell’elencare e descrivere le fasi del KDD, tale ricerca ha posto particolare accento sulla fase di Data MiningData Mining (DM), cioè sulle tecniche per l’esplorazione e lo studio dei dati

Il DM è ritenuta la fase più importante dell’intero processo KDD e tale importanza rende sempre più difficile, soprattutto in termini pratici, distinguere il processo KDD dal DM

Page 19: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Knowledge Data Discovery - 2Knowledge Data Discovery - 2

Il processo KDD prevede in input “dati grezzi” e fornisce in output informazioni utili ottenute attraverso le fasi di:

Selezione

Preprocessing

Trasformazione dei dati

Data miningData mining

Interpretazione e valutazione

Page 20: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Knowledge Data Discovery - 3Knowledge Data Discovery - 3datidati

dati selezionatidati selezionati

dati elaboratidati elaborati

dati trasformatidati trasformati

patternpattern

conoscenzaconoscenza

Interpretazioni Interpretazioni e valutazionie valutazioni

SelezionSelezionee

DATA MININGDATA MINING

TrasformazioTrasformazione dei datine dei dati

PreprocessiPreprocessingng

Page 21: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Knowledge Data Discovery - 4Knowledge Data Discovery - 4

SelezioneSelezioneI dati raw vengono segmentati e selezionati secondo criteri predefiniti, per pervenire ad un sottoinsieme di dati che rappresentano i target datatarget data o dati obiettivo; il database operazionale può contenere informazioni inutili per il problema specifico

EsempioEsempio: se l’obiettivo è lo studio delle associazioni tra i prodotti di una catena di supermercati, non ha senso conservare i dati relativi alla professione dei clienti; tali dati potrebbero invece fornire informazioni d’interesse relative al comportamento di determinate fasce di clienti, per effettuare un’analisi discriminante

Page 22: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Knowledge Data Discovery - 5Knowledge Data Discovery - 5

PreprocessingPreprocessing

Spesso, pur avendo a disposizione i dati obiettivo non è conveniente, né necessario, analizzarne l’intero contenuto; occorre prima campionare le tabelle e, successivamente, effettuare un’analisi su base campionaria

Fa inoltre parte dello stadio di preprocessing la fase di pulizia dei dati, o data cleaningdata cleaning, che prevede l’eliminazione dei possibili errori e la definizione dei meccanismi di comportamento in caso di dati mancanti

Page 23: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Knowledge Data Discovery - 6Knowledge Data Discovery - 6

Trasformazione dei datiTrasformazione dei dati

Dopo il preprocessing, i dati, per essere utilizzabili, devono essere trasformatiSi possono effettuare conversioni di tipo o definizioni di

nuovi dati ottenuti attraverso l’uso di operazioni matematiche e logiche sulle variabili

Inoltre, quando i dati provengono da fonti diverse, è necessario codificarli omogeneamente, per garantirne la consistenza

Page 24: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Knowledge Data Discovery - 7Knowledge Data Discovery - 7

Data miningData miningAi dati trasformati vengono applicate tecniche per l’estrazione di informazione non banale: i tipi di dati a disposizione e gli obiettivi da raggiungere indicano implicitamente il tipo di algoritmo DM da scegliere

Il processo KDD è: interattivointerattivo, presuppone infatti un “dialogo” costante tra l’utente e il

software utilizzato iterativoiterativo, nel senso che la fase di DM può prevedere un’ulteriore

trasformazione dei dati originali o un’ulteriore pulizia dei dati, ovvero una riesecuzione delle fasi preliminari

Page 25: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Knowledge Data Discovery - 8Knowledge Data Discovery - 8

Interpretazione e valutazioneInterpretazione e valutazione

Il DM crea dei pattern, ovvero dei modelli, che possono costituire un valido supporto alle decisioni

Non è sufficiente, tuttavia, interpretare i risultati ottenuti, ma occorre utilizzarli per validare i modelli (dati e algoritmi)

È dunque possibile, alla luce di risultati non perfettamente soddisfacenti, intervenire (in maniera sia adattiva che perfettiva) su una o più fasi del processo KDD

Page 26: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining - 1Data mining - 1

Con Data MiningData Mining si indica l’attività di individuazione automatica ed estrazione di informazioni, quali relazioni ed associazioni tra i dati, precedentemente sconosciute all’utente

Principali tecniche per il data mining:

Sistemi a regole

Algoritmi di clustering

Algoritmi genetici

Reti neurali e Support Vector Machine (SVM)

Page 27: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining - 2Data mining - 2

Il data mining è l’estrazione non banale di informazione implicita, precedentemente sconosciuta e potenzialmente utile, attraverso l’utilizzo di differenti approcci tecnici (Frawley, PiatetskyShapiro e Matheus, 1991)

Il data mining è una combinazione di tecniche potenti che aiutano a ridurre i costi e i rischi e ad aumentare le entrate, estraendo informazione dai dati disponibili (T. Fahmy)

Il data mining consiste nell’uso di tecniche statistiche da utilizzare con i database aziendali per scoprire modelli e relazioni che possono essere impiegati in un contesto di business (Trajecta lexicon)

Page 28: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining - 3Data mining - 3

Il data mining è l’esplorazione e l’analisi, attraverso mezzi automatici e semiautomatici, di grosse quantità di dati allo scopo di scoprire modelli e regole significative (Berry e Linoff, 1997)

Il data mining è la ricerca di relazioni e modelli globali che sono presenti in grandi database, ma che sono nascosti nell’immenso ammontare di dati. Tali relazioni rappresentano una preziosa conoscenza del database e, se il database è uno specchio fedele, del mondo reale che esso descrive (Holshemiere e Siebes, 1994)

Page 29: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining - 4Data mining - 4

Il termine Knowledge Data DiscoveryKnowledge Data Discovery (KDD) si riferisce all’intero processo, interattivo ed iterativo, di scoperta della conoscenza, che consiste nella identificazione di relazioni tra datirelazioni tra dati che siano validevalide, nuovenuove, potenzialmente utiliutili e comprensibilicomprensibili

I datidati sono una collezione di fatti F (per esempio tuple di una tabella di un database relazionale)

Una relazionerelazione, o modello, o patternpattern, è un’espressione E in un linguaggio L che descrive fatti in un sottoinsieme FE di F; una relazione deve essere più semplice, rispetto ad un dato criterio di semplicità, dell’enumerazione di tutti i fatti in FE

Page 30: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining - 5Data mining - 5

Un processo di scoperta della conoscenza è un insieme di attività che coinvolgono la preparazione dei dati, la ricerca di relazioni, la valutazione e il raffinamento della conoscenza estratta

Si assume che il processo sia non banale, cioè che le relazioni scoperte non siano già note

Le relazioni scoperte sono validevalide se valgono, con un grado di certezza prefissato, anche su dati diversi da quelli usati per la scoperta delle stesse

Individuare un “grado di certezza” è essenziale per stabilire quanta fiducia si può riporre nel sistema e nella relazione estratta

Page 31: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining - 6Data mining - 6

Le relazioni scoperte devono essere nuovenuove almeno per il sistema, devono cioè aumentare la conoscenza necessaria ad affrontare il problema decisionale

Le relazioni dovrebbero potenzialmente condurre a delle azioni utiliutili ; per esempio, la scoperta di una dipendenza fra articoli acquistati da uno stesso cliente in un supermercato potrebbe attivare opportune strategie di marketing

I pattern devono essere comprensibilicomprensibili agli utenti per facilitare una migliore conoscenza dei fatti coinvolti

Poiché è difficile misurare “la comprensibilità di un pattern” spesso si ricorre a misure surrogate di semplicità sintattica/semantica

Page 32: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining - EsempioData mining - Esempio

xx

x

x

x

xx

x

x

x

xx

x

x

ooo

oo

o

oo

o

ooo

o

o

o

o

x

StipendioStipendio

Pre

stit

iPre

stit

i

Persone che hanno ricevuto un prestito dalla banca:Persone che hanno ricevuto un prestito dalla banca:x: persone che hanno mancato la restituzione di ratex: persone che hanno mancato la restituzione di rateo: persone che hanno rispettato le scadenzeo: persone che hanno rispettato le scadenze

Page 33: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining - EsempioData mining - Esempio

xx

x

x

x

xx

x

x

x

xx

x

x

ooo oo

o

oo

o

ooo

o

o

o

o

x

StipendioStipendio

Pre

stit

iPre

stit

i

IF stipendio < k THEN mancati pagamentiIF stipendio < k THEN mancati pagamenti

kk

Page 34: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining - esempioData mining - esempio

ValiditàValidità I pattern scoperti devono essere validi su nuovi dati con un grado di certezza prestabilito: lo spostamento a destra del valore di k porta riduzione del grado di certezza

UtilitàUtilità

Aumento di profitto atteso dalla banca associato alla regola estratta

Page 35: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining: tecniche di analisi - 1Data mining: tecniche di analisi - 1

La scelta del particolare algoritmo di data mining dipende dall’obiettivo da raggiungere e dal tipo di dati da analizzare

1)1) Regole di associazioneRegole di associazione

2)2) Classificazione Classificazione

3)3) ClusteringClustering

4)4) Similarity searchSimilarity search

Page 36: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Data mining: tecniche di analisi - 2Data mining: tecniche di analisi - 2

Le tecniche di clustering e le reti neurali non supervisionate consentono il “raggruppamento di dati”, cioè l’individuazione di gruppi omogenei, che presentano delle regolarità al loro interno, in grado di caratterizzarli e differenziarli dagli altri gruppi

Le reti neurali supervisionate, le support vector machine e gli alberi di decisione consentono di effettuare operazioni di classificazione, fanno cioè uso della conoscenza acquisita in fase di addestramento per classificare nuovi oggetti o prevedere nuovi eventi

Le tecniche di analisi delle associazioni consentono di individuare regole nelle occorrenze concomitanti di due o più eventi

Page 37: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Applicazione del DM - 1Applicazione del DM - 1

Indagini di mercatoIndagini di mercato (Database Marketing) applicazione di tecniche di clustering per individuare gruppi omogenei in termini di comportamento d’acquisto e di caratteristiche sociodemografiche; l’individuazione delle diverse tipologie di clienti...

...permette di effettuare campagne di marketing mirate e di valutarne gli effetti...permette di ottenere indicazioni su come modificare la propria offerta...rende possibile monitorare nel tempo l’evoluzione della propria clientela e l’emergenza di nuove tipologie

Analisi testualeAnalisi testuale (Text Mining) applicazione di tecniche di clustering per individuare gruppi omogenei di documenti in termini di argomento trattato; consente di accedere più velocemente all’argomento di interesse e di individuarne i legami con argomenti correlati

Page 38: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Applicazione del DM - 2Applicazione del DM - 2

Analisi del “paniere”Analisi del “paniere” (Basket Analysis) applicazione di tecniche di individuazione di associazioni a dati di vendita per conoscere quali prodotti vengono acquistati congiuntamente

Consente di migliorare l’offerta dei prodotti (disposizione sugli scaffali) e di incrementare le vendite di particolari prodotti tramite offerte su generi associati

Technology WatchTechnology Watch (Competitive Intelligence) applicazione di tecniche di clustering a banche dati di tipo tecnicoscientifico al fine di individuare i gruppi tematici principali, le loro relazioni, l’evoluzione temporale, le persone o le aziende coinvolte

Page 39: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Regole di associazioneRegole di associazioneRegole di associazioneRegole di associazione

Page 40: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Regole di associazione - 1Regole di associazione - 1

Dati del problema:Dati del problema:

II insieme di itemEsempio:Esempio: prodotti venduti da un supermercato

transazione Ttransazione T insieme di item t.c. T I Esempio:Esempio: oggetti acquistati nella stessa transazione di

cassa al supermercato

base di dati Dbase di dati D insieme di transazioni

Page 41: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Regole di associazione - 2Regole di associazione - 2

Regola di associazione:

Supporto - rilevanza statistica:

Confidenza - importanza dell’implicazione:

notare che:€

S(X,Y ) =# (X ∧Y )

# I≈ ˆ P (X,Y )

C(X,Y ) =# (X ∧Y )

# X≈ ˆ P (Y | X)

X ⇒ Y dove X,Y ⊆ I

C(X,Y ) =S(X,Y )

S(X)

Page 42: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Regole di associazione - esempio 2Regole di associazione - esempio 2

Transazioni:Transazioni:Acquisto 1: A,B,CAcquisto 1: A,B,CAcquisto 2: A,CAcquisto 2: A,CAcquisto 3: A,DAcquisto 3: A,DAcquisto 4: B,E,FAcquisto 4: B,E,F

Regole ottenute:A C

supporto 50% e confidenza 66.6%

C A supporto 50% e confidenza 100%

Page 43: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Esempi di applicazioneEsempi di applicazione

Analisi market basket

Uovacosa si deve promuovere per aumentare le vendite di uova?

Latte quali altri prodotti devono essere venduti da un supermercato che

vende latte?

Dimensione del problema:

oggetti: 105, transazioni: > 106

base di dati: 10100 GB

Page 44: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Regole di associazione - Esempio 1Regole di associazione - Esempio 1

Latte Uova

Supporto: il 2% delle transazioni contiene entrambi gli elementi (latte e uova)

Confidenza: il 30% delle transazioni che contengono latte contiene anche uova

Page 45: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Decomposizione del problemaDecomposizione del problema

Passo1:Trovare tutti gli insiemi di item che hanno supporto maggiore di una soglia pefissata frequent itemsetfrequent itemset

Passso 2:Generazione delle regole a partire dai frequent itemset

Algoritmo fondamentale: APRIORIAPRIORI (Agrawal et al., 1994)

Page 46: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Esempio decomposizione - 1Esempio decomposizione - 1

Passo 1Passo 1: estrazione frequent itemset

Frequent itemset Supporto

{A} 75%

{B} 50%

{C} 50%

{A,C} 50%

Transazioni

Acquisto 1: A,B,C

Acquisto 2: A,C

Acquisto 3: A,D

Acquisto 4: B,C,D

Page 47: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Esempio decomposizione - 2Esempio decomposizione - 2

Passo 2Passo 2 estrazione regole

confidenza minima 50%

Esempio:Esempio: regola A C

supporto {A,C} = 50%confidenza = supporto{A,C}/supporto{A} = 66.6%

regole estratteA C supporto 50%, confidenza 66.6%

C A supporto 50%, confidenza 100%

Page 48: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Importanza delle regole estratte - 1Importanza delle regole estratte - 1

Non tutte le regole con supporto e confidenza superiori ad una soglia prestabilita sono interessanti

Esempio:Esempio:

scuola con 5000 studenti

60% (3000) gioca a pallacanestro

75% (3750) mangia fiocchi di mais a colazione

40% (2000) gioca a pallacanestro e mangia fiocchi di mais a colazione

Page 49: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Importanza delle regole estratte - 2Importanza delle regole estratte - 2

Con supporto min. 40% e confidenza min. 60%:

gioca a pallacanestro mangia fiocchi di mais

supporto = 2000/5000 = 0.4

confidenza = 2000/3000 = 0.66 > 0.6

regola fuorviante perché il 75% degli studenti mangia fiocchi di mais !

Nuova “misura”:

M =S(A,B)

S(A)− S(B)

Page 50: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

ClusteringClusteringClusteringClustering

Page 51: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

ClusteringClustering

Data una bData una base di dati di oggetti: : Suddividere gli oggetti in gruppi, in modo che…...oggetti appartenenti allo stesso gruppo siano molto simili

...oggetti in gruppi diversi siano molto diversi

I gruppi possono essere disgiunti (hard clustering), parzialmente sovrapposti (soft clustering) oppure organizzati gerarchicamente (hierarchical clustering)

Page 52: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Esempi di applicazioniEsempi di applicazioni

Identificazione di popolazioni omogenee di clienti in basi di dati di marketing

Valutazione dei risultati di esperimenti clinici

Monitoraggio dell’attività di aziende concorrenti

Identificazione di geni con funzionalità simili

Nel WWW…

Classificazione di documenti

Identificazione di gruppi di utenti (in base ai file di log) con caratteristiche

di “navigazione” simili

Page 53: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Esempi di applicazioniEsempi di applicazioni

La tecniche di clustering vengono utilizzate generalmente quando si hanno dati eterogenei e si è alla ricerca di elementi anomali: le compagnie telefoniche utilizzano il clustering per individuare in anticipo gli utenti che diventeranno morosi

Normalmente, tali utenti hanno un comportamento nettamente diverso rispetto alla maggioranza degli utenti telefonici e le tecniche di clustering riescono sovente ad individuarli o, comunque, definiscono un cluster dove vengono concentrati tutti gli utenti che hanno un’elevata probabilità di diventare morosi

Page 54: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Case study: k-Means - 1Case study: k-Means - 1

Caratteristiche:

Appartiene ai metodi di tipo partitioningpartitioning Dato un intero k, si calcola un partizionamento dei dati in

ingresso in k clustercluster, che ottimizza il criterio di partizionamento scelto

Kmeans (MacQueen, 1967): ogni cluster è rappresentato dal centro (media) del cluster

La scelta iniziale dei k centroidi viene effettuata in maniera casuale

Page 55: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Case study: k-Means - 2Case study: k-Means - 2

1. Scegli i k centri iniziali2.2. RepeatRepeat

1. Assegna ciascun oggetto al cluster più vicino (il cui centro risulta il più vicino all’oggetto dato)

2. Calcola i centroidi (punti medi) dei cluster

untiluntil gli assegnamenti non cambiano (o cambiano poco)

Viene minimizzato Viene minimizzato l’errore quadratico l’errore quadratico mediomedio

E x mK k c xk

k= −∑ ( )

2

Page 56: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Case study: k-Means - 3Case study: k-Means - 3

Limiti di Kmeans:Può essere applicato solo se il tipo di dato permette di definire la mediaOccorre specificare in anticipo il numero k di clusterSebbene sia possibile dimostrare che il procedimento termina sempre, non è detto che venga raggiunto il minimo globale (il risultato è influenzato dalla scelta dei centri iniziali)Non garantisce la connessione dei cluster trovati e l’assenza di punti isolatiPuò produrre risultati scadenti quando… …i cluster hanno differenti dimensioni, densità, forma non globulare…i dati contengono outlier

Page 57: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Case study: k-Means - 4Case study: k-Means - 4

Soluzione:Soluzione: usare molti cluster

In questo caso…

…i cluster calcolati sono partizioni dei cluster effettivamente presenti

…è necessario fondere i cluster calcolati

Page 58: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Case study: k-Means - 5Case study: k-Means - 5

Tuttavia... il mondo reale non è “crisp”

Effettuando il clustering non è sempre possibile definire in maniera precisa se un punto appartiene ad un cluster oppure ad un altro

Page 59: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Case study: SOM - 1Case study: SOM - 1

Il clustering può anche essere interpretato come una forma di classificazione non supervisionata

Come tale, può essere realizzato mediante un particolare tipo di architettura neurale, chiamata SelfSelfOrganizing MapOrganizing Map (SOM), che viene addestrata in modalità non supervisionata, cioè non conoscendo l’output atteso per ciascun dato in input

Page 60: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Case study: SOM - 2Case study: SOM - 2

La SOM sarà comunque in grado, al termine della fase di apprendimento, di raggruppare i dati in cluster, ovvero di produrre output simili per input “vicini”, secondo una qualche metrica nello spazio degli ingressi

Page 61: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Similarity searchSimilarity search

Data un base Data un base di dati di sequenze temporali o oggetti, determinare:

Sequenze/oggetti simili ad una sequenza/oggetto data/o

Tutte le coppie di sequenze/oggetti simili

Due tipi di interrogazione:

Matching completoMatching completo la sequenza cercata e le sequenze della base di dati hanno la stessa lunghezza

Matching parzialeMatching parziale la sequenza cercata può essere sottosequenza di quelle recuperate dalla base di dati

Page 62: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Esempi di applicazioniEsempi di applicazioni

Identificazione delle società con comportamento simile di crescita

Determinazione di prodotti con profilo simile di vendita

Identificazione di azioni con andamento simile

Individuazione porzioni di onde sismiche non simili per determinare irregolarità geologiche

Ricerca in database visuali

Allineamento di sequenze di acidi nucleici e proteine

Page 63: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Metriche di similaritàMetriche di similarità

Definita la modalità di descrizione di sequenze/ oggetti da ricercare, è necessario definire una metrica da usare per valutarne la similarità, in base alla distanza tra i rispettivi descrittori

La metrica dovrebbe rispettare la “percezione” del concetto di similarità: descrittori “vicini” corrispondono a sequenze/oggetti simili

Una metrica d(x,y), definita su uno spazio S, è una funzione che associa uno scalare a coppie di elementi in S, con le seguenti proprietà:

Non negatività: d(x,y) 0Riflessività: d(x,y) = 0 sse x=ySimmetria: d(x,y) = d(y,x)Disuguaglianza triangolare: d(x,y)+d(y,z) d(x,z)

Page 64: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Metriche vettorialiMetriche vettoriali

In generale, una metrica di similarità per pattern in n è la metrica di Minkowsky, nota anche come metrica Lk:

Per k=1 si ha la distanza di Manhattan o cityblock

Per k=2 si ha la distanza Euclidea€

d(x,y) = (x i − y i)k

i=1

n

∑k , x,y ∈ ℜ n

Page 65: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Metriche per dati strutturatiMetriche per dati strutturati

Per il confronto tra grafi si definisce una distanza tra nodi del grafo ed una distanza tra gli archi

Generalmente, infatti, all’interno dei nodi del grafo si rappresentano caratteristiche locali delle singole regioni mentre con gli archi si descrivono le relazioni spaziali

Per calcolare una distanza si dovranno tenere presenti sia le relazioni spaziali che le caratteristiche locali delle regioni

Il problema è complicato perché spesso i grafi da confrontare hanno un diverso numero di nodi (subgraph matching – NP hard)

Le reti neurali ricorsivereti neurali ricorsive possono essere addestrate per apprendere la similarità tra grafi

Page 66: Sistemi di supporto alle decisioni Ing. Leonardo Rigutini, Ph.D. Dipartimento di Ingegneria dellInformazione Università di Siena rigutini@dii.unisi.it

Sistemi di supporto alle decisioni - Leonado Rigutini

Esempio: classificazione di immaginiEsempio: classificazione di immagini

TrasformazioTrasformazione da RAG a ne da RAG a grafo grafo orientato orientato

SegmentazioSegmentazionene

Estrazione del Estrazione del grafo di adiacenza grafo di adiacenza (RAG)(RAG)