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.