Capitolo 4 DATA MINING E CLUSTERING 4.1 Che cos'è il Data Mining Per Data Mining s'intende quel processo di estrazione di conoscenza da banche dati, tramite l'applicazione di algoritmi che individuano le associazioni non immediatamente riconoscibili tra le informazioni e le rendono visibili. In altre parole, col nome data mining intendiamo l'applicazione di una o più tecniche che consente l'esplorazione di grandi quantità di dati, con l'obiettivo di individuare le informazioni più significative e di renderle disponibili e direttamente utilizzabili nell'ambito del decision making. L'estrazione di conoscenza, ossia di informazioni significative, avviene tramite individuazione delle associazioni, patterns, o sequenze ripetute, nascoste nei dati. In questo contesto un pattern indica una struttura, un modello, o, in generale, una rappresentazione sintetica dei dati. Il termine data mining è utilizzato come sinonimo di knowledge discovery in databases (KDD), anche se sarebbe più preciso parlare di knowledge discovery quando ci si riferisce al processo di estrazione della conoscenza, e di data mining come di una particolare fase del suddetto processo. 4.2 Perché usare strumenti di Data Mining Gli algoritmi di data mining, sono stati sviluppati per far fronte all esigenza di sfruttare il patrimonio informativo contenuto nelle grandi raccolte di dati che abbiamo a disposizione. Acquisire informazioni non è, infatti, più un problema se si 52 pensa alla ricchezza delle sorgenti di dati accessibili su Web o attraverso Data Warehouse aziendali, il problema è cercare di utilizzarli, estrarne le informazioni. Spesso i dati, sia che si riferiscano all attività giornaliera dell azienda o dell ente, sia che si riferiscano alla clientela o all utenza, sia che si riferiscano al mercato o alla concorrenza, si presentano in forma eterogenea, ridondante, non strutturata. Tutto ciò fa sì che solo una piccola parte sia analizzata. D altra parte la rapida evoluzione del mercato richiede rapidità di adattamento. In questo contesto riuscire a sfruttare la potenziale ricchezza di informazioni che abbiamo a disposizione costituisce un enorme vantaggio. Per fare ciò è necessario disporre di strumenti potenti e flessibili. La gran quantità di dati e la loro natura eterogenea rende, infatti, inadeguati gli strumenti tradizionali. Questi si dividono in due tipi: strumenti di analisi statistica e strumenti tipici di interrogazione di banche dati dette data retrieval. Per quanto riguarda i primi, le difficoltà nascono dal fatto che difficilmente operano su grandi quantità di dati in quanto richiedono operazioni di campionamento con conseguente perdita di informazioni. Fig. 1. 53 Fig. 2. Il data retrieval è, infatti, uno strumento per interrogare banche dati che consiste nel formulare una query, o interrogazione. Il sistema cerca, all interno della banca dati, tutti i casi che soddisfano le condizioni poste nella query vale a dire tutti i dati che presentano le caratteristiche richieste, fornendo successivamente la risposta. L'individuazione di associazioni nascoste può quindi solo procedere per tentativi. Mentre l'uso di strumenti di data retrieval consente di avere risposte precise a qualsiasi domanda specifica, il data mining risponde a domande più generiche. Questo secondo approccio consente di far emergere dai dati le associazioni esistenti senza richiedere la formulazione di ipotesi a priori. Sarà l'algoritmo a mettere in evidenza le fasce d'età, l'insieme di prodotti acquistati, e le altre caratteristiche, che si presentano ripetutamente nei dati. Si tratta quindi di un approccio esplorativo e non, come nel data retrieval, verificativo. In questo modo possiamo scoprire relazioni che non solo erano nascoste e sconosciute, ma che non avremmo nemmeno mai ipotizzato potessero esistere. Questo approccio è utile anche nell'analisi di testi. Il secondo esempio fa riferimento a una banca dati di documenti testuali come le agenzie di stampa. La ricerca in base ad una parola specifica non sempre porta ad individuare i documenti 54 relativi all argomento che ci interessa, gli strumenti di data mining, infatti, consentono di raggruppare i documenti per argomento sulla base di tutte le parole contenute nei documenti stessi, tramite l'individuazione di associazioni tra le parole generalmente testi strutturati. Gli strumenti di data mining nascono dall integrazione di vari campi di ricerca come la statistica, la pattern recognition, o la machine learning, e sono stati sviluppati indipendentemente dai database, al fine di operare su dati grezzi. Fig. 3. 55 4.3 Tecniche ed ambiti applicativi Le tecniche utilizzabili sono varie e, di conseguenza, anche gli algoritmi che le implementano. La scelta dipende principalmente dall'obiettivo che si vuole raggiungere e dal tipo di dati da analizzare. Le tecniche più utilizzate sono: Clustering Reti Neurali Alberi di Decisione Individuazione di Associazioni Le tecniche di clustering e l'uso delle reti neurali non supervisionate consentono di effettuare operazioni di segmentazione sui dati, cioè di individuare gruppi omogenei, o tipologie, che presentano delle regolarità al loro interno in grado di caratterizzarli e differenziarli dagli altri gruppi. Le reti neurali 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 delle regole nelle occorrenze concomitanti di due o più eventi. A queste si aggiungono le sequential patterns ossia tecniche di individuazione di sequenze temporali e algoritmi genetici. Queste tecniche sono applicabili a qualsiasi ambito di indagine, in generale trovano applicazione tutte le volte che siamo di fronte a grandi quantità di dati e abbiamo l'esigenza di conoscerne il contenuto. 56 Fig. 4. 4.4 Il processo di estrazione di conoscenza Indipendentemente dal tipo di applicazione specifica, un processo di estrazione di conoscenza percorre alcune fasi che possono essere schematizzate in: Definizione dell obiettivo Individuazione delle fonti di dati Estrazione ed acquisizione dei dati Pre-processing Data mining Interpretazione e valutazione dei risultati Rappresentazione dei risultati 57 Lo schema seguente mette in luce la natura iterativa del processo. La fase di valutazione può, infatti, portare da una semplice ridefinizione dei parametri di analisi utilizzati, ad una ridefinizione dell intero processo a partire dai dati estratti. Fig. 5. Mentre l individuazione di patterns avviene automaticamente, l intero processo di estrazione della conoscenza è difficilmente automatizzabile e richiede il coinvolgimento di varie professionalità come esperti del dominio applicativo, specialisti in analisi dati, informatici. 58 4.5 L'analisi dei cluster Nella nostra tesi la metodologia di data mining è stata utilizzata adottando la tecnica di cluster analysis per la classificazione dei pazienti. L'analisi dei cluster, cluster analysis, a volte tradotta come analisi dei grappoli è una tecnica nata negli anni 60 e 70, mirata all'individuazione di agglomerati di dati all'interno di una popolazione nota. Gli obiettivi finali possono essere i più disparati, come l'individuazione o la convalida di un'ipotesi di ricerca a partire dai dati, l'isolamento di pattern caratteristici in determinate sotto-popolazioni, o la classificazione dei dati. In questa sezione saranno esposti i principali strumenti dell'analisi dei cluster con quest'ultimo scopo in mente. Fig. 6. 59 Fig. 7. L'analisi dei cluster si basa su procedure semplici e facilmente automatizzabili, fa uso di tecniche euristiche e poggia su una matematica piuttosto elementare. D'altra parte, proprio la sua semplicità ne ha favorito la diffusione tra i ricercatori delle scienze naturali, e la leggibilità dei suoi risultati, l'alto potenziale euristico e la disponibilità di numerosi strumenti di analisi automatica ne fanno uno strumento valido e meritevole di considerazione. Nell'ambito di un'analisi discriminante, o di una procedura di classificazione automatica in generale, può aver senso chiedersi se alcune variabili, si supponga in un numero q, non siano ridondanti, cioè se non aggiungano alcun'informazione utile alla classificazione rispetto all'insieme delle rimanenti p-q. La risposta a questa domanda si rivela di notevole interesse se alcune variabili sono particolarmente costose o difficili da ottenere. Paradossalmente, l'eliminazione di variabili che singolarmente presentano un basso indice di separazione può rivelarsi una pessima idea. Viceversa, è possibile che 60 una variabile con un alto contenuto informativo ai fini della classificazione sia superflua se utilizzata con altre variabili. Come nei metodi statistici, è utile ora invece analizzare le principali procedure di trasformazione e di normalizzazione delle variabili. 4.6 Trasformazione e normalizzazione delle variabili Nell'analisi dei cluster è fortemente consigliato l'utilizzo della trasformazione nonché della normalizzazione, poiché rende il risultato indipendente dalle unità di misura adottate per le variabili stesse. Inoltre, la normalizzazione fa si che tutte le variabili contribuiscano in ugual misura alla classificazione. Per trasformazione di una variabile, o attributo, si intende la derivazione di nuove variabili attraverso l'applicazione di funzioni a quelle originarie. In formula: def Yi 1 f i (Y i ) i p In alcuni casi può essere utile applicare ad alcune variabili delle trasformazioni non lineari, al fine di correggerne la distorsione. Tra le trasformazioni lineari, la più usata è senz'altro la seguente: Yi Yi E [Y i ] Var [ Y i ] 1 i p spesso denominata normalizzazione. Naturalmente, nella pratica si utilizzano le stime campionarie di queste quantità. Si verifica facilmente che, le variabili così trasformate, hanno media campionaria nulla e varianza campionaria unitaria. Si noti infine che le nuove variabili sono adimensionali. Esistono forme alternative di 61 normalizzazione. Ad esempio, nel caso in cui i valori delle variabili siano non negative, si può far uso della formula: Yi max e i d Yi 1 j 1 i p j dove si è indicato con ei l'i-esimo versore, e quindi il prodotto scalare, mentre dj rappresenta la componente i-esima dell'osservazione j-esima (si ricordi che dj è stato definito come un vettore colonna). In sostanza, si dividono i dati rilevati di ciascuna variabile per il valore massimo, in modo che tutti i valori delle nuove variabili siano comprese nell'intervallo unitario. Anche quest'ultimo sia il più piccolo intervallo contenente tutti i nuovi valori, si può ricorrere alla seguente formula: Yi Yi max 1 j eid min 1 eid j j j 1 min 1 j eid i p j Nei paragrafi a seguire si assumerà di lavorare con una matrice di variabili normalizzate. Ora iniziamo a trattare le principali tecniche di analisi dei cluster che si suddividono in due ampie categorie: i metodi di ripartizione e i metodi gerarchici. Preme sottolineare che il nostro studio verte principalmente sull'utilizzo di procedure di tipo gerarchico, ampiamente descritte in questo capitolo, ricordando invece che pur fornendo una descrizione dettagliata dei metodi di ripartizione, essi non saranno tecnicamente sfruttati nel nostro lavoro. 62 4.7 Metodi di ripartizione L'obiettivo di questa classe di algoritmi è la ripartizione dei dati disponibili in n sottoinsiemi o cluster C1, .,Cn quindi tali per cui: C1 .... C C j C d 1 i i j=k 0 k in modo che gli elementi di ogni sottoinsieme siano il più compatti possibile. E' l'interpretazione e la formalizzazione di questa proprietà alquanto sfumata che caratterizza i singoli algoritmi. Alcuni di loro procedono euristicamente, mentre altri cercano di ottimizzare una determinata funzione obiettivo. Principale esponente della categoria dei metodi di ripartizione è l'algoritmo Kmeans, di gran lunga il più noto ed utilizzato. Esso utilizza come funzione obiettivo da minimizzare la somma dei quadrati delle distanze tra i punti e la media campionaria del cluster cui appartengono. In formula: def S n N j d w j 1 m ji ' j d ji m j i 1 Prima di presentare l'algoritmo si fa notare che il numero di configurazioni possibili degli n cluster sugli N dati si dimostra essere pari a 1 n! n 1 n j n j j j 1 63 che esplode facilmente per valori non banali dei due parametri. Aggiungiamo quindi che una ricerca esaustiva della configurazione ottima è quindi improponibile. Sia x il vettore di lunghezza N che conserva i codici associati ai cluster di appartenenza di ciascun dato. Il metodo K-means, partendo da un assegnamento iniziale x0 e scandendo i dati uno ad uno, ad ogni passo calcola le medie e la funzione obiettivo, e assegna l'osservazione in esame al cluster per cui la nuova valutazione della funzione obiettivo è minima. Il procedimento si arresta allorquando x rimane invariato per N cicli consecutivi. Questo algoritmo è ottimo ad ogni passo, ma non trova necessariamente la soluzione ottima cercata. E' consigliabile pertanto ripetere la procedura con diverse configurazioni iniziali. Si tenga in considerazione, comunque, che la funzione obiettivo soffre di alcune limitazioni, e fornisce risultati scadenti per cluster non sufficientemente compatti e separati, o aventi cardinalità molto diverse tra loro. 4.8 Metodi gerarchici Nella nostra tesi ci siamo avvalsi invece di algoritmi prettamente gerarchici, che più di altri hanno riscosso successo all'interno delle comunità scientifiche di fisici, naturalisti e sociologi, tanto che alcune pubblicazioni si riferiscono con il termine cluster analysis alla sola analisi gerarchica dei cluster. L'obiettivo di questi algoritmi è l'organizzazione dei dati in una struttura gerarchica, che raggruppa osservazioni molto simili in piccoli cluster ai livelli più bassi, e osservazioni più basicamente collegate in cluster più grandi e generici ai livelli più alti, fino ad arrivare all'insieme di tutti i dati. Formalmente, si ottiene una sequenza di h partizioni di cardinalità strettamente crescente degli N dati. Sia nh la cardinalità della i-esima partizione. Sarà allora: 1 n1 .... 64 nh N In altre parole, la prima partizione della sequenza è rappresentata da un solo insieme C1 ={di|1 < i < N} comprendente tutte le osservazioni; la seconda partizione prevede n2 > 2 sottoinsiemi disgiunti e complementari di C1, e così via, fino all'ultima partizione, che si noti non prevede necessariamente la frammentazione dei dati in N singoletti o cluster degeneri. I metodi di analisi gerarchica si distinguono in due importanti categorie: le divisive o di suddivisione, nonché le procedure da noi utilizzate, ossia le agglomerative o associative. Nelle prime i nuovi cluster sono ottenuti per suddivisione di cluster appartenenti al livello precedente. In partenza c'è un unico cluster con tutti gli individui, alla fine ci sono tanti cluster quanti sono gli individui. Le divisive costruiscono un diagramma ad albero, dendrogramma, che dà un'immagine delle relazioni fra gli oggetti. Fig. 8. Il dendrogramma si costituisce partendo dai rami, oggetti a sinistra {a, b, c, d, e}, sino ad arrivare, per fusioni successive, ad un unico ramo finale, radice. Le fusioni sono rappresentate dai punti in cui due rami si congiungono. Infine approfondiamo le procedure impiegate nel nostro lavoro, le agglomerative o associative, dove un nuovo cluster è il risultato della fusione di due cluster del livello precedente. In partenza ci sono tanti cluster quanti sono gli individui; alla fine vi sarà un unico cluster o radice composto da tutti gli individui. Ricordiamo comunque che indifferentemente dal tipo di categoria utilizzata, ogni procedura di cluster analysis gerarchica procede attraverso i seguenti passaggi: 65 Identificazione delle variabili da utilizzare per la classificazione Selezione di una misura di distanza tra unità Selezione di una tecnica di raggruppamento delle unità Identificazione del numero di gruppi entro i quali ripartire le unità Valutazione ed interpretazione della soluzione 4.9 Criteri di fusione nei metodi gerarchici Sia le procedure divisive che le agglomerative dei metodi gerarchici si avvalgono di diverse tecniche di fusione degli oggetti. La prima tra quelle che analizzeremo è l'Average group linkage o legame medio entro gruppi, metodo da noi sfruttato per la classificazione dei nostri pazienti. Con questo tecnica ogni gruppo formato è rappresentato dal valore medio di ogni variabile, così, il loro vettore medio e la distanza inter-gruppo viene definita come la distanza tra i due vettori medi. Considerando due ipotetici clusters r e s, si attua un'unione dei medesimi in modo che la distanza media sia minima. La distanza tra i due clusters D (r,s) viene quindi definita come : D (r,s) = Media { d (i,j) : dove i e j sono nel cluster t, cluster formato dall'unione di r e s } In ogni fase del procedimento i clusters r e s, in cui D (r,s) è minima, vengono congiunti ma, in questo caso, i due cluster uniti, hanno mediamente la minima distanza tra i loro punti. 66 Fig. 9. In questa finestra derivante dal pacchetto Xlminer si evidenzia la tecnica di lavoro da noi seguita per l'operazione di clustering sui nostri pazienti. Si procede opzionando la normalizzazione dei dati, dopo la scelta del metodo euclideo per il calcolo della distanza, viene scelto l'Average group linkage come metodo di clustering gerarchico da impiegare. Fig. 10. In questa finestra invece viene indicato il numero di clusters che vogliamo impiegare nella classificazione dei nostri pazienti (2 o 3 classi). 67 Nei metodi gerarchici sia di tipo divisivo che agglomerativo sono compresi anche altri criteri di fusione di cui forniremo solo una descrizione sommaria in quanto non utilizzati nel nostro studio. Infatti un secondo metodo fornito dal clustering gerarchico nonché da Xlminer è il Single linkage o legame singolo il quale tende a concatenare gli oggetti in una sorta di "serpentina" costruendo cluster contigui e poco separati. Il metodo del Complete linkage o legame completo invece tende a costruire raggruppamenti più separati e definiti. Entrando sempre più nel dettaglio possiamo distinguere che tramite il metodo dell'Average linkage o legame medio la distanza tra due cluster è uguale alla media aritmetica delle distanze definite su tutte le coppie di oggetti nei due cluster. Si termina con il Ward's method o metodo di Ward basato sulla minimizzazione della devianza entro i gruppi che è uguale a quando tutti i casi sono separati, ed è massima quando essi appartengono tutti a un gruppo unico. 4.10 Tecniche gerarchiche e non gerarchiche Contrapposti ai metodi gerarchici esistono anche metodi non gerarchici che non sono stati utilizzati nella nostra tesi. Quest'ultimi risentono meno della presenza di errori di misura e di altre fonti di varianza spuria riuscendo in tal modo ad individuare meglio gruppi coesi. Spiccano alcune sostanziali differenze tra le due tecniche di clustering: innanzitutto una maggiore rigidità dovuta ad eventuali aggregazioni improprie ai primi livelli dell'aggregazione viene evidenziata nei metodi gerarchici, aggiungiamo inoltre che se un individuo viene assegnato ad un gruppo in un determinato stadio, vi rimarrà in tutti gli stadi successivi, contrariamente ai metodi non gerarchici dove l'assegnazione può cambiare finché il processo di classificazione non giunge a convergenza. 68 Il limite principale dei metodi non gerarchici sta nel dover avere in anticipo un'idea del numero di gruppi presenti;un ulteriore limite sta nel fatto che questi metodi possono essere utilizzati solo con variabili misurate per lo meno al livello degli intervalli, e solo con funzioni di distanza euclidee. 69 This document was created with Win2PDF available at http://www.daneprairie.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.