SlideShare a Scribd company logo
1 of 140
Download to read offline
UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II
DIPARTIMENTO DI SCIENZE POLITICHE
CORSO DI LAUREA MAGISTRALE IN
SCIENZE STATISTICHE PER LE DECISIONI
TESI DI LAUREA IN
METODI STATISTICI PER DATI COMPLESSI
CLASSIFICAZIONE AUTOMATICA PER DATI AD ALTA
DIMENSIONALITÀ: UN APPROCCIO FUZZY PER DATI
CATEGORICI
High-dimensional data clustering: a fuzzy approach for
categorical data
Relatore:
Chiar.mo Prof.
Francesco Palumbo
Candidato:
Marco D’Alessandro
Matricola: M10/217
Correlatore:
Chiar.mo Prof.
Alfonso Iodice D’Enza
ANNO ACCADEMICO 2017/2018
i
"Un’analisi statistica, condotta nel modo appropriato, è una delicata dissezione di
una serie di incertezze, un intervento chirurgico sulle supposizioni."
Michael Joseph Moroney
ii
iii
Nomenclatura
Abbreviazioni
AC Analisi delle Corrispondenze
ACM Analisi delle Corrispondenze Multiple
ACNS Analisi delle Corrispondenze Non Simmetrica
ACP Analisi in Componenti Principali
ALS Alternating Least Squares
clusCA Cluster Correspondence Analysis
clusMCA Cluster Multiple Correspondence Analysis
EVD Eigen-Value Decomposition
i-FCB Iterative Factor Clustering per dati Binari
iter Iterazione
SVD Singular Value Decomposition
Indici
χ2 Indice di associazione di Pearson
Φ2 Indice di contingenza media quadratica
τ Indice di associazione di Goodman e Kruskal
ARI Indice di Rand corretto
DE Distanza euclidea per dati binari
G(X) Indice di eterogeneità di Gini
MC Matching coefficient
R2 Indice della bontà di adattamento della struttura di gruppo ai dati
RR Coefficiente di similarità di Russel e Rao
iv
RI Indice di Rand
SJ Coefficiente di similarità di Jaccard
V Indice V di Cramer
Matrici
Π Matrice dei profili colonna centrati, di generico elemento πhh
Σ Matrice dei valori singolari
ΣM Matrice di varianze e covarianze tra le variabili. Nella distanza di Mahalanobis
tra i gruppi, tale matrice contiene le varianze e le covarianze dei gruppi.
X Matrice dei dati di partenza, di generico elemento xij. La generica riga è
indicata con il simbolo xi.
A Matrice delle coordinate principali delle righe
B Matrice delle coordinate principali delle colonne
D Matrice di diversità, di generico elemento dii . I valori contenuti al suo interno
rispecchiano la definizione di un’applicazione D(i,i ).
F Matrice di contingenza che incrocia i K clusters con le H modalità totali
G Matrice dei centroidi dei gruppi nello spazio ridotto
Q Matrice di Burt
S Matrice degli scarti standardizzati, di generico elemento shh
U Matrice dei vettori singolari di sinistra
UK K-partizione sfocata, di generico elemento uik. I marginali di riga sono indicati
con u.i, mentre i marginali di colonna sono indicati con uk..
V Matrice dei vettori singolari di destra
W Matrice di pesi assegnati alle variabili, di generico elemento diagonale wj.
Y Matrice degli objects scores
Z Matrice dei dati in codifica disgiuntiva completa
Zk Matrice di assegnazione delle osservazioni ai gruppi, di generico elemento zik.
I marginali di riga sono indicati con z.i, ed i marginali di colonna con zk..
C Matrice dei dati in codifica ridotta
N Generica matrice di contingenza
P Matrice delle frequenze relative
v
Scalari
h Indice del numero di modalità di una variabile categorica. L’estremo superiore
è p.
i Indice del numero di osservazioni. L’estremo superiore è n.
j Indice del numero di variabili. L’estremo superiore è q.
k Indice del numero di gruppi. L’estremo superiore è K.
Simboli Matematici
[0,1] Intervallo di valori
α, ε, γ, m Parametri
∩ Intersezione di due (o più) insiemi
∪ Unione di due (o più) insiemi
∈ Appartenenza ad un insieme
max,min Massimizzazione, minimizzazione
φ Funzione
⇒ Implicazione
→ Tendere a
sup Estremo superiore
θ Parametro
∅ Insieme vuoto
T Trasposto
A, B Elementi di un generico insieme
d(xh,xh) Differenza semplice media
d1 Distanza di Manhattan
d2 Distanza euclidea
dΣ Distanza di Mahalanobis
dθ Distanza di Minkowsky
dw Distanza euclidea pesata
dχ2 Distanza del Chi-quadrato
vi
E Generico insieme
P(E) Partizione di un generico insieme
tr Traccia
Vettori
xj Vettore delle medie delle variabili. Per il k-esimo gruppo, tale vettore è indicato
con il simbolo xjk (o anche con il simbolo ck), e rappresenta il centroide.
1h Vettore contenente h volte il valore 1 al suo interno
1n Vettore contenente n volte il valore 1 al suo interno
1h Vettore contenente h volte il valore 1 al suo interno
h Vettore contenente i marginali di riga di P
h Vettore contenente i marginali di colonna di P
uk Vettore contenente la k-esima colonna di ¯Um
K
vii
viii
Sommario
I tradizionali algoritmi di cluster analysis, che suddividono un insieme di osservazioni
in gruppi omogenei (cioè con le stesse caratteristiche), si sono da sempre focalizzati
su dati quantitativi, sfruttandone le relative proprietà geometriche e statistiche per cal-
colare le diversità tra i punti che devono essere "clusterizzati". Tale approccio, basato
fondamentalmente sul concetto di distanza, però, non è risultato essere di aiuto dal
momento che la maggior parte dei dataset in circolazione ha iniziato a contenere va-
riabili assumenti valori non numerici, ossia di tipo qualitativo (o categorico). Lavorare
con tale tipo di variabili non è per nulla semplice, siccome le loro proprietà geometri-
che e statistiche non hanno le stesse funzionalità rispetto alle variabili quantitative.
Sebbene per un periodo ci sia stato un parziale disinteresse verso i dati categorici, da
qualche decennio a questa parte molti studi scientifici hanno iniziato a focalizzarsi sul
loro utilizzo nelle più complesse tecniche di analisi statistica, tra cui anche gli algo-
ritmi di cluster analysis. A tal proposito, primo obiettivo del presente lavoro - che si
inserisce all’interno di un vasto filone di indagine - è quello di illustrare le problemati-
che connesse al raggruppamento di tali dati, proponendo specifiche soluzioni.
Se al problema di cui sopra si aggiunge, poi, la considerazione che nella maggior parte
dei casi è difficile raggruppare determinate osservazioni in gruppi ben distinti (nel sen-
so che esiste la possibilità che ciascuna di loro possa appartenere ad uno o più gruppi,
sintetizzabile nella fuzzy cluster analysis), la faccenda diventa abbastanza complicata.
Secondo obiettivo del presente lavoro è, dunque, quello di adattare la cluster analysis
per dati categorici al caso in cui l’assegnazione delle osservazioni ad uno ed un solo
gruppo non rispecchia fedelmente la struttura dei dati: le osservazioni, cioè, presenta-
no delle caratteristiche intermedie rispetto a quelle di due (o più) gruppi. Quanto detto
porterà alla costruzione ed alla successiva validazione di un particolare algoritmo, in
grado di rivelare informazioni utili presenti nei dati di partenza, sia in termini di inter-
relazioni tra le variabili categoriche, sia in termini di struttura di gruppo.
La suddivisione del lavoro avviene come segue:
• il primo capitolo fornisce una panoramica dei concetti di base della cluster ana-
lysis. Esso ne introduce le definizioni generali, per esempio i concetti di partizio-
ne, gruppo (o cluster) e distanza; ne presenta una variante non gerarchica (meto-
do delle k-medie), tecnica di base di tutta la trattazione; ne sottolinea, infine, le
tecniche per la validazione, per verificarne cioè la qualità;
• nel secondo capitolo si discute delle variabili qualitative, in termini di relati-
ve proprietà statistiche e geometriche. Di queste variabili si presentano alcune
ix
misure di variabilità e di associazione, dalle quali parte un importante percorso
che coinvolge alcuni metodi per l’analisi bivariata (sulle tabelle di contingenza
in particolare) ed in parte anche multivariata (sulla matrice dei dati);
• il terzo capitolo rappresenta il punto di incontro tra i precedenti due, il punto
di svolta dell’intera trattazione. Vengono presentate alcune misure di distanza
per dati categorici, evidenziandone poi i problemi in contesti ad alta dimen-
sionalità. Inoltre, a partire dalle soluzioni a tali problemi (feature selection
e feature transformation), vengono descritti alcuni algoritmi che mostrano la
complementarietà tra la riduzione della dimensionalità e la cluster analysis;
• il quarto capitolo costituisce un’estensione di quello precedente, in quanto par-
ticolarizza uno degli algoritmi presentati (clusCA) al caso in cui la riduzione
della dimensionalità è combinata con la fuzzy cluster analysis. Tale nuova me-
todologia - della quale ne vengono descritti punti di forza e di debolezza - è in
grado di fornire importanti informazioni sulla struttura intrinseca dei dati;
• nel quinto capitolo, infine, si analizzano dati simulati e dati reali, non tanto per
verificare la performance statistica e la velocità di convergenza del contributo
proposto, quanto per evidenziare le differenze tra l’approccio tandem e l’ap-
proccio iterativo. Per dati simulati, l’attenzione viene posta sull’analisi di un
particolare scenario. Per dati reali, invece, l’intenzione è quella di studiare la
struttura di gruppo quando il numero di variabili è elevato.
Il lavoro, infine, si conclude con una rassegna dei più importanti risultati ottenuti tra-
mite lo sviluppo dell’intero percorso, e con specifiche direttive verso coloro che si
vorranno cimentare nell’analisi simultanea dell’eterogeneità dei gruppi e dell’associa-
zione tra le modalità delle variabili.
Il principale punto di riferimento di questo lavoro è stato l’articolo "On Joint Dimen-
sion Reduction and Clustering of Categorical Data" [38], i cui autori sono stati tra
i pochi ad applicare le tecniche di riduzione e raggruppamento dei dati categorici in
maniera simultanea. Un altro punto di riferimento è stato l’articolo "Beyond Tandem
Analysis: Joint dimension reduction and clustering in R" [46], in cui gli autori pre-
sentano un paragone interessante tra gli esistenti metodi per il raggruppamento di dati
multivariati categorici e non, con due relative applicazioni pratiche.
L’analisi dei dati presentata nel Capitolo 5 è stata effettuata con l’aiuto del free software
R [54], in particolare sfruttando le nozioni di codice del pacchetto clustrd.
x
xi
Indice
1 Elementi di Cluster Analysis 1
1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Alla ricerca di una partizione . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Una parte del tutto: il concetto di cluster . . . . . . . . . . . . 5
1.2.2 Ulteriori obiettivi della cluster analysis . . . . . . . . . . . . 6
1.3 Distanze, (dis)similarità e prossimità . . . . . . . . . . . . . . . . . . 6
1.3.1 La distanza euclidea . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2 Altre misure di distanza . . . . . . . . . . . . . . . . . . . . 10
1.4 Algoritmi gerarchici e non gerarchici . . . . . . . . . . . . . . . . . . 11
1.4.1 Tra gli algoritmi non gerarchici: il metodo delle k-medie . . . 12
1.4.2 Un’estensione del metodo delle k-medie: fuzzy k-means . . . 15
1.5 Criteri di valutazione della partizione finale . . . . . . . . . . . . . . 18
1.5.1 Misure di validazione esterna . . . . . . . . . . . . . . . . . 19
1.5.2 Misure di validazione interna . . . . . . . . . . . . . . . . . . 21
1.6 In sintesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2 Analisi statistiche su dati qualitativi 23
2.1 Caratteristiche delle variabili qualitative . . . . . . . . . . . . . . . . 23
2.1.1 Classificazione . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.2 Organizzazione in dati . . . . . . . . . . . . . . . . . . . . . 24
2.1.3 Codifica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 L’indice di eterogeneità di Gini . . . . . . . . . . . . . . . . . . . . . 29
2.2.1 Caso univariato . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.2 Caso bivariato . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3 Indipendenza tra variabili qualitative . . . . . . . . . . . . . . . . . . 33
2.3.1 Indice di associazione χ2 di Pearson . . . . . . . . . . . . . . 34
2.3.2 Indice di associazione τ di Goodman e Kruskal . . . . . . . . 38
2.3.3 Test Chi-quadrato d’indipendenza . . . . . . . . . . . . . . . 40
2.4 Visualizzazione di una tabella di contingenza . . . . . . . . . . . . . 41
2.4.1 La distanza del Chi-quadrato . . . . . . . . . . . . . . . . . . 43
2.5 L’Analisi delle Corrispondenze . . . . . . . . . . . . . . . . . . . . . 44
2.5.1 Caratteristiche ed obiettivi del metodo . . . . . . . . . . . . . 44
2.5.2 Come funziona in pratica . . . . . . . . . . . . . . . . . . . . 45
2.5.3 L’Analisi delle Corrispondenze Multiple . . . . . . . . . . . . 49
2.5.4 L’Analisi delle Corrispondenze non Simmetrica . . . . . . . . 52
2.6 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
xii
3 Verso un approccio combinato 54
3.1 Cluster analysis per dati qualitativi . . . . . . . . . . . . . . . . . . . 54
3.2 Misure di diversità per dati qualitativi . . . . . . . . . . . . . . . . . 55
3.2.1 Misure di (dis)similarità per dati binari . . . . . . . . . . . . 55
3.2.2 Misure di (dis)similarità per dati qualitativi non binari . . . . 57
3.3 Il problema legato all’alta dimensionalità dei dati . . . . . . . . . . . 60
3.3.1 La "maledizione" della dimensionalità . . . . . . . . . . . . . 60
3.3.2 Differenti aspetti del problema nella cluster analysis . . . . . 62
3.3.3 Soluzioni al problema . . . . . . . . . . . . . . . . . . . . . 63
3.4 Metodi per dati categorici . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4.1 Tandem Analysis . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4.2 Iterative Factor Clustering per dati binari: i-FCB . . . . . . . 67
3.4.3 Cluster Correspondence Analysis: clusCA . . . . . . . . . . . 70
3.5 Differenze tra i metodi proposti . . . . . . . . . . . . . . . . . . . . . 74
3.6 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4 Fuzzy cluster correspondence analysis 76
4.1 Assegnazione delle osservazioni ai clusters . . . . . . . . . . . . . . 76
4.2 Dalla matrice F alla scomposizione . . . . . . . . . . . . . . . . . . . 77
4.3 Applicazione del fuzzy k-means sulle coordinate . . . . . . . . . . . 78
4.4 L’algoritmo riparte, con importanti modifiche . . . . . . . . . . . . . 80
4.4.1 La nuova forma della matrice DK . . . . . . . . . . . . . . . 80
4.4.2 Come cambia la funzione obiettivo? . . . . . . . . . . . . . . 81
4.4.3 L’importanza del vincolo di massima separabilità . . . . . . . 83
4.4.4 Generalizzazione al caso di più clusters . . . . . . . . . . . . 85
4.5 Sintesi dell’algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5 Applicazioni 88
5.1 Studio di simulazione . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.1.1 Fasi fondamentali di uno studio di simulazione . . . . . . . . 89
5.1.2 Caratteristiche dello studio . . . . . . . . . . . . . . . . . . . 90
5.1.3 Analisi di scenario . . . . . . . . . . . . . . . . . . . . . . . 92
5.2 Analisi di dati reali: dataset DermaDef . . . . . . . . . . . . . . . . . 96
5.2.1 I dati e le variabili . . . . . . . . . . . . . . . . . . . . . . . 97
5.2.2 ACM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.2.3 Tandem Analysis: ACM + fuzzy k-means . . . . . . . . . . . 98
5.2.4 Fuzzy i-FCB . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Conclusioni 102
A Dimostrazione 104
B Due scomposizioni matriciali 106
C Codici R 108
C.1 Cluster Correspondence Analysis . . . . . . . . . . . . . . . . . . . . 109
C.2 Fuzzy i-FCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
xiii
Elenco delle tabelle
1.1 Matrice casi x variabili X . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Esempio di matrice di partizione Zk . . . . . . . . . . . . . . . . . . 4
1.3 Matrice di diversità D . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Struttura della K-partizione sfocata UK . . . . . . . . . . . . . . . . . 16
1.5 Confronto tra due partizioni P e P : matrice tetracorica . . . . . . . . 19
1.6 Confronto tra due partizioni P e P : matrice K ·K . . . . . . . . . . . 20
2.1 Distribuzione di frequenza di una variabile categorica X . . . . . . . . 24
2.2 Distribuzione doppia di frequenza . . . . . . . . . . . . . . . . . . . 25
2.3 Matrice in codifica ridotta C . . . . . . . . . . . . . . . . . . . . . . 27
2.4 Esempio di blocco della matrice indicatrice Z . . . . . . . . . . . . . 28
3.1 Co-occorrenza di attributi per due osservazioni i e i . . . . . . . . . . 55
3.2 Matrice di similarità per una singola variabile categorica . . . . . . . 58
3.3 Esempio di blocco della matrice F per una variabile a p modalità . . . 67
5.1 Confronto tra la reale struttura di gruppo presente nei dati simulati e
quella ottenuta tramite la tandem analysis. . . . . . . . . . . . . . . . 94
5.2 Confronto tra la reale struttura di gruppo presente nei dati simulati e
quella ottenuta tramite il fuzzy i-FCB. . . . . . . . . . . . . . . . . . 96
5.3 Confronto tra la reale struttura di gruppo presente nei dati e quella
ottenuta tramite la tandem analysis sul dataset DermaDef. . . . . . . . 99
5.4 Confronto tra la reale struttura di gruppo presente nei dati e quella
ottenuta tramite il fuzzy i-FCB sul dataset DermaDef. . . . . . . . . . 101
xiv
Elenco delle figure
1.1 Clusters con coesione interna e/o separazione esterna . . . . . . . . . 5
1.2 Distanza della città a blocchi e distanza euclidea . . . . . . . . . . . . 11
1.3 Primo step del metodo delle k-medie . . . . . . . . . . . . . . . . . . 13
1.4 Secondo step del metodo delle k-medie . . . . . . . . . . . . . . . . 14
1.5 Terzo step del metodo delle k-medie . . . . . . . . . . . . . . . . . . 14
1.6 Esempi di funzioni di appartenenza . . . . . . . . . . . . . . . . . . . 16
2.1 Rappresentazione baricentrica triangolare . . . . . . . . . . . . . . . 42
2.2 La procedura matematica dell’Analisi delle Corrispondenze . . . . . . 45
3.1 La "maledizione" della dimensionalità . . . . . . . . . . . . . . . . . 61
3.2 Selezione delle variabili . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.3 Trasformazione delle variabili . . . . . . . . . . . . . . . . . . . . . 64
5.1 Applicazione dell’ACM al dataset simulato. . . . . . . . . . . . . . . 93
5.2 Applicazione della tandem analysis al dataset simulato. . . . . . . . . 94
5.3 Applicazione del fuzzy i-FCB al dataset simulato. . . . . . . . . . . . 95
5.4 Diagramma a barre verticali della variabile Class . . . . . . . . . . . 97
5.5 Applicazione dell’ACM al dataset DermaDef. . . . . . . . . . . . . . 98
5.6 Applicazione della tandem analysis al dataset DermaDef. . . . . . . . 99
5.7 Applicazione del fuzzy iFCB al dataset DermaDef. . . . . . . . . . . 100
B.1 Elementi geometrici della decomposizione in valori singolari. . . . . . 106
xv
xvi
Capitolo 1
Elementi di Cluster Analysis
L’idea di dividere cose simili in categorie, ovvero di raggrupparle per produrre una
classificazione, è da sempre una delle "attività" più basilari di ogni essere umano. [22]
Trattare qualsiasi cosa come se appartenente ad un’unica grande entità, e magari non
differenziarla da un insieme di altre cose, potrebbe risultare sbagliato, soprattutto per-
chè non è detto che tutto ciò di cui si è circondati sia caratterizzato sempre dalle stesse
proprietà: esiste, cioè, una certa componente di diversità a cui fare riferimento, che
consente di non «fare di tutta l’erba un fascio».
Inserendo tale problema in ambito statistico, una delle tecniche più utilizzate dagli stu-
diosi dei dati che cerca di "smascherare" tale diversità è la cluster analysis (o cluste-
ring), valida per riconoscere ed organizzare, appunto, differenti tipi di eventi, oggetti,
persone, animali e tanto altro ancora. In questo primo capitolo, si presentano in ma-
niera semplice le caratteristiche e gli obiettivi della cluster analysis, evidenziandone
alcuni concetti importanti: quello di partizione, quello di cluster (classe, gruppo) e,
con le dovute differenze, quello di diversità.
Per renderne semplice la comprensione, si ritiene utile partire da due esempi.
1.1 Introduzione
Si pensi ad un’azienda che vive in un mercato caratterizzato da forte concorrenza.
Per attuare strategie di marketing vincenti, essa deve ricercare una serie di vantaggi
competitivi, tra cui le informazioni relative al target a cui punta, decisivi per conosce-
re i desideri/bisogni/problemi dei clienti e soddisfarli, così, in modo più efficace ed
efficiente. Per questo motivo le ricerche di mercato sulla clientela sono importanti;
riescono, infatti, a valutare le caratteristiche ed i comportamenti dei clienti, persona-
lizzando l’offerta, in un’ottica di fidelizzazione ed aumento delle quantità dei prodotti
venduti. I clienti, infatti, non sono tutti uguali, ma presentano preferenze, aspettati-
ve, e comportamenti diversi. Lo strumento attraverso il quale l’azienda tiene conto di
tutti questi aspetti psicologici, emotivi, comportamentali ecc., e raggruppa, appunto, i
clienti attraverso le variabili che li rendono simili, prende il nome di segmentazione.
A titolo di secondo esempio, si pensi ora ad un laboratorio di analisi che sta pensando
di studiare la situazione clinica di un insieme di pazienti diabetici. Quest’ultima varia
da paziente a paziente, visto che sono molteplici i segni ed i sintomi con i quali il dia-
bete si presenta agli occhi dei medici, e non è detto che tutti i pazienti ne presentino le
1
stesse caratteristiche. I pazienti non sono tutti uguali, ma presentano situazioni fami-
liari, personali, ed abitudinarie diverse. Per distinguere, dunque, i soggetti analizzati
in base ai sintomi rilevati (diagnosi) e magari anche al rischio di future complicanze
dovute al diabete, il laboratorio decide di prendere in considerazione una serie di para-
metri, tra cui quelli derivanti per esempio dall’analisi del movimento o dalle abitudini
alimentari, utili per raccogliere informazioni e per proporre soluzioni al problema.
In linea generale, procedimenti come la segmentazione empirica della clientela e la
strutturazione della diagnosi per i pazienti, avvengono tramite l’utilizzo, da parte di
chi sta effettuando l’analisi, di tecniche di data mining1 in grado di individuare rela-
zioni, informazioni e schemi, che si trovano all’interno di grandi databases e che sono
utili anche ai fini previsionali. Tra di esse, particolare rilievo assume la cluster ana-
lysis (o analisi dei gruppi), che secondo Robert Tryon [61], colui che ne ha coniato
il termine nel 1939, è «un insieme di tecniche di analisi multivariata dei dati volte alla
selezione ed al raggruppamento di elementi omogenei in un insieme di dati».
Formalmente, lo scopo di una qualsiasi tecnica di cluster analysis è quello di scopri-
re la "naturale" struttura di gruppo di un set di osservazioni (clienti, per esempio, nel
caso dell’azienda, e pazienti diabetici nel caso del laboratorio) descritte da un insieme
di variabili: ognuna di queste tecniche, cioè, può essere interpretata come un metodo
per estrarre informazioni dai dati, con una logica orientata alle osservazioni, assai di-
versa da tutt’un’altra serie di metodi che si concentrano, invece, sulle variabili. Dato,
quindi, un set di osservazioni sulle quali sono state misurate determinate variabili, si
vogliono suddividere/distinguere gli elementi del primo in gruppi omogenei (rispetto
alle ultime), anche detti clusters, andandone poi a studiare le caratteristiche in termini
di informazioni condivise dagli appartenenti.
I due esempi illustrativi e le poche righe di presentazione del metodo permettono di
caratterizzare la cluster analysis con delle prime proprietà che la rendono una tecnica
molto utilizzata dagli studiosi. La cluster analysis, infatti, è:
• diffusa. Il marketing e la ricerca medica sono solo due dei possibili ambiti in cui
essa è prevalente; in effetti c’è un grande interesse nel raggruppare cose dovuto al
vasto ammontare di dati in settori che spaziano dall’astronomia alla psicologia,
dall’informatica all’archeologia, ecc. [22];
• una metodologia non supervisionata. Essa ricerca nelle osservazioni una strut-
tura, a gruppi, che non esiste o almeno non è nota a priori. Per questo motivo, si
distingue dalla discriminazione (o analisi discriminante), la quale si concentra
sul trovare dei confini ottimali sui gruppi da discriminare, e per la quale, quin-
di, esiste già una struttura all’interno dei dati - l’obiettivo, infatti, è quello di
assegnare correttamente ulteriori osservazioni al corrispondente gruppo;
• conosciuta anche con il nome di classificazione automatica. Per trasformare,
infatti, un numeroso complesso di unità di rilevazione in una serie coerente di in-
formazioni restituite sotto forma di gruppi, c’è bisogno di algoritmi formalizzati
e costruiti in base a criteri di ottimizzazione predefiniti (automatici).
1Per data mining si intende l’insieme delle tecniche e delle metodologie che hanno per oggetto
l’estrazione di informazioni utili da grandi quantità di dati (ad esempio dai databases), attraverso metodi
automatici o semi-automatici e l’utilizzo scientifico, aziendale/industriale o operativo delle stesse.
2
1.2 Alla ricerca di una partizione
I dati base per la maggior parte delle applicazioni della cluster analysis sono rappre-
sentati da una matrice, nota come matrice dei dati o anche come matrice casi per
variabili, all’interno della quale sono riportati i valori delle q variabili - per semplicità
di natura quantitativa - misurate sugli n casi. La matrice è, dunque, di dimensioni n·q:
ciascuna riga contiene le q informazioni relative ad una determinata osservazione (ca-
so), mentre ciascuna colonna contiene i valori assunti da un determinata variabile nelle
diverse osservazioni. Volendo scrivere la matrice in simboli, si ha:
X
n,q
= xij, per i = 1,2,3,...,n e j = 1,2,3,...,q (1.1)
dove il generico elemento xij rappresenta il valore che la j-esima variabile assume in
corrispondenza dell’ i-esima osservazione. In tabella 1.3 ne è illustrato un esempio.
Tabella 1.1: Matrice casi x variabili X
Casi Variabili
Variabile 1 Variabile 2 Variabile 3 ... Variabile q
Caso 1 x11 x12 x13 ... x1q
Caso 2 x21 x22 x23 ... x2q
Caso 3 x31 x32 x33 ... x3q
... ... ... ... ... ...
Caso n xn1 xn2 xn3 ... xnq
X può essere vista come un insieme di n vettori riga (di dimensioni 1 · q) contenenti
ciascuno il profilo dell’i-esima osservazione, ovvero i valori che in essa assumono le q
variabili osservate. In aggiunta, essa può essere vista come un insieme di q vettori co-
lonna (di dimensioni n·1) contenenti ciascuno il profilo della j-esima variabile, ovvero
i valori che essa assume per tutte le osservazioni. Queste caratteristiche sono molto
importanti, perchè consentono di fare alcune considerazioni.
Operando alcune trasformazioni sulla matrice X, il principale obiettivo della cluster
analysis è quello di ricercare la partizione del collettivo di n osservazioni in k (con
k < n ed intero, per k = 1,2,3,...,K) sottoinsiemi (appunto i clusters) tali che le os-
servazioni appartenenti ad uno stesso sottoinsieme siano il più possibile omogenee tra
loro rispetto alle misurazioni dell’insieme di variabili. È fondamentale definire, quin-
di, il concetto di partizione, ricavabile dalla teoria degli insiemi [16], ed evidenziarne
quelle che sono le proprietà salienti.
Definizione 1.1. Una partizione P(E) di un insieme E è l’insieme delle parti o delle
classi di E tale che:
1. Due elementi A e B della partizione sono disgiunti o coincidenti:
A,B ∈ P(E) ⇒ A∩B = ∅ oppure A∪B = A = B
2. L’unione di tutte le parti esaurisce E:
{A,B,...,Z} = P(E) ⇒ A∪B∪...∪Z = E
3
La definizone 1.1, applicata alla cluster analysis, esplicita la suddivisione (la partizione
P(E)) dell’insieme delle n osservazioni (E) in una serie di gruppi (le parti, le classi, i
clusters), tali per cui:
• ciascuno di essi non deve essere vuoto,2 deve cioè contenere un determinato
numero di osservazioni. Per questo motivo la partizione si definisce rigida;
• presi a due a due non devono avere nessun elemento in comune, ciascuna osser-
vazione deve quindi appartenere ad uno ed un solo gruppo. A questo proposito
la partizione si definisce senza sovrapposizione;
• la loro unione deve ricostituire l’insieme di partenza; non vi devono essere ele-
menti al di fuori dei gruppi e quindi dell’insieme di partenza. In questo caso la
partizione si definisce esaustiva.
Algebricamente parlando, la suddivisione delle n oosservazioni in k gruppi prende
la forma di una matrice di dimensioni n · K, denominata matrice di partizione ed
indicata con il simbolo Zk, che raccoglie l’appartenenza di ciascuna delle osservazioni
al k-esimo gruppo, per k = 1,2,...,K. Essa è una matrice binaria le cui entrate zik
assumono solamente due valori:
zik =
1, se l’i-esima osservazione appartiene al k-esimo gruppo;
0, se l’i-esima osservazione non vi appartiene
Così costruita, Zk (un esempio in Tabella 1.2) rispecchia le prime due considerazioni
fatte precedentemente. In primo luogo, essa è tale per cui ogni colonna contiene alme-
no un valore pari ad 1, e non ci sono righe contenenti solo valori pari a 0, indi per cui
ciascun gruppo non è vuoto ma contiene informazioni sulle osservazioni. In secondo
luogo, essa è tale per cui ciascuna riga contiene un unico valore pari ad 1 e tutti gli altri
pari a 0, e ciò è esemplificativo del fatto che ciascuna osservazione è stata assegnata
correttamente ad uno ed un solo gruppo.
Tabella 1.2: Esempio di matrice di partizione Zk
Casi Gruppi
Gruppo 1 Gruppo 2 Gruppo 3 ... Gruppo K
Caso 1 1 0 0 ... 0
Caso 2 0 0 1 ... 0
Caso 3 0 1 0 ... 0
... ... ... ... ... ...
Caso n 0 0 0 ... 1
Analizzandone, ora, i totali (di riga e di colonna), è possibile tenere conto anche della
terza considerazione. Zk, infatti, è tale per cui i totali di riga - che rappresentano
il numero di gruppi a cui un’osservazione può essere assegnata - sono tutti pari ad 1,
mentre i totali di colonna - che sono delle frequenze assolute - rappresentano il numero
2In alcuni casi, l’esistenza di gruppi vuoti potrebbe compromettere i risultati delle analisi.
4
di osservazioni appartenenti al k-esimo gruppo. Sommando, rispettivamente, i totali di
riga ed i totali di colonna, si ottiene la numerosità n dell’insieme di partenza (ottenibile
anche sommando tutti gli elementi presenti all’interno di Zk). In formule:
n
∑
i=1
z.i =
K
∑
k=1
zk. =
n
∑
i=1
K
∑
k=1
zik = n (1.2)
dove z.i rappresenta il totale marginale dell’i-esima riga e zk. rappresenta, invece, il
totale marginale della k-esima colonna. È proprio considerando la somma di questi
ultimi che si riesce a capire come l’unione delle parti ricostituisca il tutto.
1.2.1 Una parte del tutto: il concetto di cluster
Fin qui, i termini "gruppo", "classe" e "cluster" sono stati utilizzati in maniera intuitiva
senza alcun accenno ad una definizione formale. Infatti, sembra che essa non sia solo
difficile da trovare, ma potrebbe addirittura non essere appropriata. Ciò che sicura-
mente può essere di aiuto è il fatto che ciascun gruppo deve contenere al suo interno
elementi che sono omogenei rispetto alle variabili osservate, come già definito.
Uno dei contributi più interessanti al riguardo è quello di Cormack [17]. Egli tenta di
definire ciò che un cluster rappresenta attraverso i concetti di coesione interna - omo-
geneità - e di separazione esterna - eterogeneità. La coesione interna è la proprietà
secondo cui le più piccole correlazioni tra le osservazioni accettate all’interno di un
cluster devono essere più grandi di una determinata soglia: le osservazioni all’inter-
no dei gruppi devono cioè condividere delle caratteristiche, presentare un qualcosa di
simile tra di loro. La separazione esterna, invece, è la proprietà secondo cui le osser-
vazioni che non hanno nulla di simile tra di loro devono essere posizionate in gruppi
differenti: i gruppi devono essere il più possibile distinti, nel senso che deve essere
osservabile una discontinuità tra di loro. L’obiettivo della cluster analysis è la massi-
mizzazione congiunta di entrambe. Può risultare ora interessante visualizzare, al meno
in maniera informale, queste due proprietà attraverso la Figura 1.1.
Figura 1.1: Illustrazione dei concetti di coesione interna e separazione esterna dei
gruppi: (a sinistra) i gruppi sono coesi ma non isolati; (al centro) i gruppi sono isolati
ma non coesi; (a destra) i gruppi sono isolati e coesi.
5
I clusters presenti in figura risultano chiari a chi li osserva anche senza alcuna defini-
zione formale, e risulta anche chiaro che la situazione migliore è quella definita nella
figura a destra, nella quale i clusters sembrano poter massimizzare sia la loro omo-
geneità che l’eterogeneità tra di loro. Ciononostante, la figura indica che non esiste
un’unica definizione valida per tutte le situazioni. Questo potrebbe spiegare il motivo
per il quale ci sono stati numerosi tentativi per rendere matematicamente precisi i con-
cetti di cui sopra, portando alla definizione di numerosi e diversi criteri.
Non è perfettamente chiaro come dovrebbe essere riconosciuto un cluster, ma un valido
ausilio è dato dalla valutazione delle relative diversità tra gli oggetti.
1.2.2 Ulteriori obiettivi della cluster analysis
La definizione di partizione e la presentazione dei concetti di omogeneità e di ete-
rogeneità hanno consentito di sviluppare un primo importante obiettivo della cluster
analysis: l’identificazione di gruppi di osservazioni simili nei dati originari.
Provvedendo, dunque, ad una partizione degli n oggetti in k gruppi, essa inoltre con-
corre alla determinazione di due ulteriori obiettivi, da non trascurare:
• descrizione ed esplorazione delle strutture interne ai dati, in particolare delle
relazioni nell’insieme delle osservazioni. Essa è una tecnica di tipo descrittivo,
perchè non ha le basi statistiche sulle quali fondare procedimenti inferenziali
dal campione osservato alla popolazione, e perchè consente di suggerire delle
interpretazioni circa il ruolo e l’effetto delle variabili presenti nei dati. Poichè
è anche una tecnica esplorativa, essa postula che i dati potrebbero contenere
gruppi distinti ma non parte da una precisa indicazione sul numero di gruppi già
esistenti [33];
• sintesi (seppur parziale) delle informazioni contenute all’interno della matrice
dei dati iniziali, attraverso la costruzione di pochi clusters. Essa, cioè, consente
di ridurre all’essenziale il numero di informazioni, e di riportarle all’interno di
ciascun cluster, attribuendo a quest’ultimo il significato di indicatore riassuntivo
e di "rappresentante" per confronti, valutazioni, e decisioni.
1.3 Distanze, (dis)similarità e prossimità
Lo studio delle diversità è un passaggio chiave in molte applicazioni del data mining.
La forma più effettiva per il loro studio può essere espressa solamente nei termini di
un particolare contesto, nel senso che dipende dalla tipologia di dati a disposizione, e
risulta una sfida non banale riuscire a trovarla. [2]
Nella cluster analysis, di centrale importanza nel tentativo di identificare gruppi omo-
genei nei dati originari è la conoscenza di quanto vicine (o lontane) siano le osser-
vazioni tra di loro. Generalmente, il punto di partenza per questo tipo di obiettivo è
rappresentato dalla trasformazione della matrice dei dati X in una matrice di diversità
D (simmetrica, semidefinita positiva e con valori nulli sulla diagonale principale) di
dimensioni n · n (quindi anche quadrata), i cui elementi dii (per i = 1,2,...,n, e per
i = 1,2,...,n) rappresentano una misura di come differiscono tra di loro due osser-
vazioni a confronto, riflettono cioè una misura di vicinanza, più comunemente detta
6
dissimilarità, distanza o similarità, e con un termine specifico che è prossimità [22].
In Tabella 1.3 è presente la struttura generale di D.
Sostanzialmente, si fa il confronto fra tutte le n2 possibili coppie di osservazioni, ana-
lizzandone le analogie e le differenze rispetto alle variabili osservate. Essendo poi D
una matrice simmetrica e con n valori pari a 0 sulla diagonale principale, il numero di
confronti di interesse è pari a n2−n
2 = n(n−1)
2 .
Tabella 1.3: Matrice di diversità D
Casi (i) Casi (i )
Caso 1 Caso 2 Caso 3 Caso 4 Caso 5 ... Caso n
Caso 1 0 d12 d13 d14 d15 ... d1n
Caso 2 d21 0 d23 d24 d25 ... d2n
Caso 3 d31 d32 0 d34 d35 ... d3n
Caso 4 d41 d42 d43 0 d45 ... d4n
Caso 5 d51 d52 d53 d54 0 ... d5n
... ... ... ... ... ... ... ...
Caso n dn1 dn2 dn3 dn4 dn5 ... 0
Il concetto di cluster presuppone l’esistenza di un criterio globale - un indice - che
misuri la prossimità tra le osservazioni, e che sia quindi in grado di riempire le en-
trate della matrice sopra indicata. Si può allora definire un’applicazione D che faccia
corrispondere un numero reale positivo o nullo a ciascuna coppia (i,i ) appartenente
all’insieme di dati considerato, e le seguenti condizioni, ad alcune delle quali sono
collegate le caratteristiche di D:
1. Non negatività: D(i,i ) ≥ 0. L’applicazione D su due osservazioni i ed i deve
essere un numero sempre positivo, al limite uguale a 0.
2. Separabilità, o coincidenza: (caso limite della condizione 1) D(i,i ) = 0 ⇔ i = i .
L’applicazione D è uguale a 0 se e solo se le due osservazioni coincidono. Non
a caso, gli elementi sulla diagonale principale della matrice D - che derivano
dall’incrocio dell’i-esima osservazione con sè stessa - sono pari a 0;
3. Simmetria: D(i,i ) = D(i ,i). L’applicazione D tra i ed i assume lo stesso valore
rispetto all’applicazione D calcolata tra i ed i. L’i-esima riga di D corrisponde,
cioè, all’i-esima colonna. D è simmetrica;
4. Disuguaglianza triangolare, o sub-additività: D(i,i ) ≤ D(i,i ) + D(i ,i ). In
un triangolo la lunghezza di un lato (distanza che intercorre tra due punti) non
supera la somma delle lunghezze degli altri due (somma delle distanze tra tali
punti ed un altro). Considerate, quindi, tre osservazioni nella matrice D, le cui
applicazioni si incrociano tra di loro, si verifica che la somma di due applicazioni
D (con D = 0, quindi per i = i ) all’interno della corrispondente sottomatrice - di
dimensioni 3·3 - è sempre maggiore o uguale rispetto alla terza applicazione.
D è, dunque, semidefinita positiva;
7
5. Disuguaglianza ultrametrica, o di Krassner: D(i,i ) ≤ sup(D(i,i ),D(i ,i )).
L’applicazione D tra i ed i è minore o uguale rispetto all’applicazione più gran-
de tra D(i,i ) e D(i ,i ). Questa condizione è detta anche del triangolo isoscele,
perchè le lontananze che caratterizzano ciascuna terna di punti sono date dal
triangolo isoscele la cui base è data dalla distanza dei punti più vicini tra loro.
Considerate, quindi, tre osservazioni nella matrice D, le cui applicazioni si in-
crociano tra di loro, si verifica che una delle tre possibili applicazioni D (con
D = 0, quindi per i = i ), all’interno della sottomatrice di dimensioni 3 · 3, è
sempre minore o uguale rispetto alla più grande tra le altre due.
Si parlerà di indice di (dis)similarità se si verificano solamente le prime tre condizio-
ni; esso assume valori sempre compresi nell’intervallo chiuso [0,1]3, può risultare nul-
lo anche quando i = i , e consente il solo confronto tra le caratteristiche di coppie di ele-
menti dell’insieme [24]. La matrice D assumerà il nome di matrice di (dis)similarità,
e sarà soltanto simmetrica con elementi nulli sulla diagonale principale.
Si parlerà di indice di distanza, o di metrica, se si verificano soltanto le prime quattro
condizioni; esso può assumere qualsiasi valore non negativo, e consente la definizione
di una relazione d’ordine tra le distanze tra i punti - ossia la determinazione di una "so-
glia" che definisca una partizione dell’insieme iniziale in gruppi tale che un elemento
si trovi in uno di essi a seconda che la distanza da tutti gli altri elementi rispettivamente
sia minore o uguale della soglia fissata, o maggiore di questa [24]. In questo caso, la
matrice D assumerà il nome di matrice delle distanze: essa sarà simmetrica, semide-
finita positiva e con elementi sulla diagonale principale pari a 0.
Si parlerà, infine, di ultrametrica se si verificano le condizioni 1, 2, 3 e 5. La cor-
rispondente matrice D prenderà il nome di matrice delle distanze ultrametriche, e
sarà simmetrica e con elementi sulla diagonale principale pari a 0, ma non semidefinita
positiva. Tale matrice costituisce però a tutti gli effetti una matrice di distanze, perchè
la disuguaglianza ultrametrica implica la disuguaglianza triangolare.
La scelta della misura di diversità è strettamente legata alla natura dei dati, risultando
infatti diverse le misure da adottare a seconda che le osservazioni siano descritte da
variabili numeriche, da frequenze o da variabili non numeriche. Una scelta sbagliata
della misura di diversità può, a sua volta, influenzare i risultati della cluster analysis.
1.3.1 La distanza euclidea
Considerando che le n righe della matrice X sono rappresentabili come punti all’in-
terno dello spazio a q dimensioni formato dalle variabili [24], è possibile calcolare le
distanze all’interno dello stesso spazio tra tutte le coppie di osservazioni (i,i ), a partire
dalle loro coordinate. Per raggiungere tale scopo, probabilmente la più nota e la più
utilizzata misura di diversità è la distanza euclidea. Presi, quindi, due punti i ed i in
uno spazio a q dimensioni, la loro distanza euclidea - risultante dall’applicazione del
Teorema di Pitagora - è calcolata come la radice quadrata della somma dei quadrati
3Generalmente, un indice di similarità sii
è il complemento ad 1 di un indice di dissimilarità δii
.
Due osservazioni i e i sono, quindi, vicine tra di loro se la loro misura di dissimilarità è piccola, o
alternativamente se la loro misura di similarità è grande. Viceversa, sono lontane se la loro misura di
(dis)similarità è piccola (grande).
8
delle differenze tra i valori xij ed xi j delle variabili osservate rispettivamente per i ed
i . In formule, si ha quanto segue:
d2(i,i ) =
q
∑
j=1
(xij −xi j)2 (1.3)
Per j = 1,2,3 (cioè in uno spazio al massimo tridimensionale) risulta che d2(i,i ) rap-
presenta il segmento che congiunge i rispettivi punti [31].
La particolarità della distanza euclidea sta nel fatto che essa è in grado di rendere
euclidea una matrice di dissimilarità, nel senso che permette l’interpretazione delle
dissimilarità come se fossero delle distanze fisiche. Dunque la distanza euclidea tra
due punti i ed i è pari ad una misura di dissimilarità. Se una matrice di dissimilarità è
euclidea, allora è anche metrica, ma non vale il contrario.
Sostituendo le medie dei gruppi (note anche come centroidi) al posto dei valori del-
le variabili nella (1.3), si costruisce una misura di distanza tra i gruppi, nota come
distanza euclidea tra i gruppi:
d2(k,k ) =
q
∑
j=1
(xk j −xk j)2 (1.4)
dove xk j e xk j sono i vettori delle medie (relative alle variabili osservate) dei gruppi
presi a due a due.
La distanza euclidea pesata
Se le q variabili sono misurate attraverso differenti unità di misura, è necessario ri-
scalarle per rendere i loro valori comparabili. Ciò equivale a calcolare la cosiddetta
distanza euclidea pesata, che assume la seguente espressione:
dw(i,i ) =
q
∑
j=1
wj(xij −xi j)2 (1.5)
dove wj rappresenta il peso attribuito alla j-esima variabile, e proviene da una matrice
diagonale W (di dimensioni q·q) che ha elementi pari a wj sulla diagonale principale
e nulli altrove. Questa matrice viene utilizzata per evidenziare la differente importanza
delle variabili all’interno del processo. Se W è una matrice unitaria, cioè se tutte le
variabili hanno lo stesso peso pari ad 1, allora la (1.5) si riduce alla (1.3).
Un modo alternativo per scrivere la (1.5) è:
dw(i,i ) =
q
∑
j=1
(x∗
ij −x∗
i j
)2 (1.6)
con x∗
ij = xij · wj che rappresenta il valore pesato della j-esima variabile misurata per
l’i-esima osservazione.
Esistono due metodi per scegliere i valori dei pesi wj: 1) in maniera soggettiva, nel
senso che il ricercatore è libero di pesare le variabili secondo considerazioni al di fuori
dei dati; 2) i pesi sono scelti in maniera inversamente proporzionale alle varianze delle
variabili, e quindi sono scelti dai dati.
9
Caso particolare: la distanza di Mahalanobis
Quando si definisce la distanza euclidea, si suppone che le variabili non siano mu-
tualmente correlate, ossia che non abbiano nessuna relazione lineare prese a due a
due. Quando questa assunzione è violata, si potrebbe verificare una distorsione nella
computazione delle distanze tra le osservazioni. In tal caso, è applicata solitamente la
distanza di Mahalanobis, definita come:
dΣ(i,i ) = (xi −xi )T Σ−1
M (xi −xi ) (1.7)
che è una variante generalizzata della distanza euclidea. La matrice ΣM rappresenta la
matrice di varianze e covarianze delle variabili calcolata nel seguente modo:
ΣM =
1
n
n
∑
i=1
(xi −xj)(xi −xj)T
(1.8)
con xj = 1
n ∑n
i=1 xi pari al vettore delle medie delle variabili. Quando le variabili sono
indipendenti, la matrice ΣM è diagonale: gli elementi diversi da 0 presenti sulla diago-
nale principale sono uguali alle varianze delle variabili. La risultante misura è perciò
definita distanza euclidea normalizzata.
La distanza di Mahalanobis è invariante rispetto a trasformazioni lineari delle variabili
originarie, e viene utilizzata per l’identificazione delle osservazioni atipiche (outliers)
all’interno dei dati. Esiste, inoltre, una versione di tale distanza riferibile ai gruppi, che
tiene conto dei rispettivi centroidi; essa assume la seguente espressione:
dΣ(k,k ) = (xk −xk )T Σ−1
M (xk −xk ) (1.9)
dove ΣM ora rappresenta la matrice di varianze e covarianze riferite ai gruppi presi
a due a due. Essa aumenta all’aumentare delle distanze tra i centri dei gruppi, ed al
diminuire della varianza entro i gruppi. Tiene, infine, conto della forma (possibilmente
non sferica) dei clusters. [22]
1.3.2 Altre misure di distanza
Tra le misure di distanza utilizzate nel caso di osservazioni descritte da variabili quan-
titative rientrano anche altre due misure non meno frequenti rispetto alla distanza
euclidea.
La distanza City block
Detta anche distanza rettilineare (o metrica di Manhattan), è così chiamata in quanto
rappresenta la distanza che deve coprire un individuo che si muova in una città di
blocchi rettangolari, con strade tra di loro perpendicolari o parallele. L’individuo non
può attraversare diagonalmente la città, ma si deve muovere lungo una dimensione alla
volta del blocco (Figura 1.2). La sua espressione è:
d1(i,i ) =
q
∑
j=1
|xij −xi j| (1.10)
10
rappresentante la somma delle differenze assolute delle coordinate dei due punti. L’am-
piezza dei blocchi non influenza le distance nello spazio. Si noti anche che tra due punti
esistono molti percorsi della stessa lunghezza.
Figura 1.2: Nella metrica di Manhattan, i percorsi in rosso, blu e giallo hanno tutti
la stessa lunghezza più breve pari a 12; nella distanza euclidea, il percorso in verde è
l’unico più breve, ed ha lunghezza pari a 6
√
2=8.49.
La distanza di Minkowsky
Può essere considerata come una metrica generale a cui si riconducono sia la metri-
ca euclidea che la metrica di Manhattan, mediante scelte particolari del valore di un
parametro θ. La distanza tra due punti i ed i è definita nel modo seguente:
dθ (i,i ) = (∑
j
|xij −xi j|θ
)
1
θ (1.11)
in cui la scelta di θ dipende dal rilievo che si vuole dare alle differenze più grandi:
maggiore è θ, maggiore è l’enfasi che si dà alle differenze |xij −xi j| più grandi.
Per θ = 1 la (1.11) si riduce alla formula della distanza di Manhattan, mentre per θ = 2
l’espressione risultante è quella della metrica euclidea.
1.4 Algoritmi gerarchici e non gerarchici
Un altro passo importante, che caratterizza la cluster analysis, è la scelta del metodo di
formazione dei gruppi che porta alla partizione finale. Le due metodologie di cluster
analysis largamente utilizzate, che costituiscono le solide fondamenta di quest’ultima,
sono di tipo partizionale e gerarchico. Queste vengono utilizzate nella maggior parte
delle applicazioni in virtù della loro facilità e semplicità di implementazione, rispetto
ad altre tecniche. [3]
I metodi di tipo partizionale (anche chiamati di tipo non-gerarchico) si propongo-
no di scoprire i raggruppamenti presenti nei dati, ottimizzando una specifica funzione
obiettivo (per esempio la variabilità entro i gruppi) e migliorando in maniera iterativa la
11
qualità delle partizioni. Questi metodi, generalmente, richiedono la pre-specificazione
da parte del ricercatore di alcuni parametri sia per scegliere il numero di gruppi in
cui suddividere le osservazioni di partenza, sia per scegliere i punti rappresentativi di
ciascun cluster, i quali sono scelti in differenti iterazioni e possono essere dei punti
"virtuali" - come i centroidi dei clusters - nel senso che non esistono nei dati. Inoltre
hanno il vantaggio di ricercare dei clusters compatti di forma sferica.
I metodi di tipo gerarchico, invece, approcciano al problema del raggruppamento svi-
luppando dati strutturati "ad albero" con il cosiddetto dendrogramma, il quale mostra
la topologia del raggruppamento e non i legami tra le osservazioni [43]. Essi possono
essere inizializzati attraverso i dati individuali, ed una volta costruito il dendrogramma,
il ricercatore può scegliere il corretto numero di clusters suddividendo l’albero a diffe-
renti livelli, per ottenere differenti soluzioni sullo stesso set di dati senza riprocessare
l’algoritmo. Essi possono, inoltre, funzionare in due modi, agglomerativo o divisivo, a
seconda del criterio utilizzato nel processo. Infine, essi abbisognano del calcolo delle
matrici delle (dis)similarità o delle distanze D.
Tra le due tipologie di metodi, per sviluppare la metodologia presentata nella tesi, la
scelta ricade sui metodi non gerarchici. Questi ultimi, rispetto ai metodi gerarchici, ri-
sentono meno della presenza di errori di misura; operano una suddivisione diretta delle
osservazioni in gruppi (perchè non costruiscono una gerarchia innestata di partizioni),
assegnando le prime agli ultimi in maniera non irrevocabile (nel senso che le osserva-
zioni vengono riassegnate ad un diverso cluster se l’allocazione iniziale risulta inappro-
priata); possono fare a meno del calcolo della matrice D (risparmio computazionale,
quindi convergenza abbastanza veloce).
1.4.1 Tra gli algoritmi non gerarchici: il metodo delle k-medie
Il metodo delle k-medie [45] costituisce l’algoritmo di cluster analysis non gerarchica
di uso più comune che permette, a partire dalla matrice dei dati X, di suddividere un
insieme di n osservazioni in k = 1,2,3,...,K gruppi sulla base dei loro attributi, in
modo da rispettare i principi della coesione interna e della separazione esterna. Date,
quindi, n osservazioni misurate su j = 1,2,3,...,q variabili quantitative e modellizzatie
come vettori in uno spazio q-dimensionale, il metodo conduce ad una diretta partizione
di esse in k = 1,2,3,...,K gruppi distinti, con k fissato a priori: ovviamente, deve valere
che 1 < k < n, nel senso che il numero di gruppi da ricercare non deve essere nè pari
ad 1 nè pari ad n ma un numero compreso tra i due.
La funzione obiettivo
La procedura che il metodo utilizza per raggruppare le osservazioni in maniera tale
che ognuna di essa venga assegnata esclusivamente ad uno ed un solo gruppo è di tipo
iterativo, e si basa sulla minimizzazione di una funzione obiettivo (in questo caso una
funzione quadratica di errore) rappresentata dalla somma delle distanze al quadrato
tra i punti ed i centroidi dei clusters:
J =
K
∑
k=1
n
∑
i=1
||xi −ck||2
(1.12)
12
dove ||xi − ck||2 rappresenta generalmente la distanza euclidea (è quella che garanti-
sce la migliore convergenza dell’algoritmo iterativo) tra il valore xi della variabile per
l’osservazione i-esima ed il centroide ck del k-esimo gruppo.
Con l’utilizzo della distanza euclidea, il metodo delle k-medie ha come obiettivo im-
plicito la ricerca della partizione (con k clusters) che soddisfa un criterio di coesione
interna fondato sulla devianza nei gruppi, ossia sulla minimizzazione della quantità
W =
K
∑
k=1
q
∑
j=1
nk
∑
i=1
(xij −ck)2
(1.13)
dove W è la devianza nei gruppi, ed nk è la numerosità del k-esimo gruppo.
Se si volesse adottare, ad esempio, la distanza City block, occorrerebbe calcolare la
distanza tra ciascun elemento ed i vettori q-dimensionali che hanno per coordinate le
mediane (anzichè le medie) delle variabili in ciascun gruppo. Tali vettori costituisco-
no una versione robusta dei centroidi, in quanto non sono influenzati dall’eventuale
presenza di valori anomali. [40]
Le fasi dell’algoritmo
Le fasi che compongono l’algoritmo alla base del metodo delle k-medie, le quali si
susseguono in maniera iterativa, sono le seguenti [64]:
1. si scelgono k = 1,2,3,...,K "poli" iniziali, cioè k punti abbastanza distanti tra di
loro nello spazio q-dimensionale che costituiscono i centroidi dei clusters nella
partizione iniziale. Si costruisce la partizione iniziale, costituita da k gruppi,
allocando ciascuna osservazione al cluster il cui polo risulta il più vicino;
Figura 1.3: Primo step del metodo delle k-medie. Fonte: [49]
2. per ogni elemento si calcola la distanza dai centroidi dei k gruppi: se la distanza
minima non è ottenuta in corrispondenza del centroide del gruppo di appartenen-
za, l’osservazione è assegnata al cluster corrispondente al centroide più vicino.
In caso di riallocazione di un’osservazione, si ricalcola il centroide sia del nuovo
che del vecchio gruppo di appartenenza;
13
Figura 1.4: Secondo step del metodo delle k-medie. Fonte: [49]
3. si ripete il passo 2 sino a quando non è raggiunta la convergenza dell’algoritmo,
cioè finchè non si verifica alcuna modificazione dei poli - e quindi dei grup-
pi - rispetto all’iterazione precedente, od anche finchè il valore della funzione
obiettivo non decresce oltre una certa soglia prefissata.
Figura 1.5: Terzo step del metodo delle k-medie. Fonte: [49]
Sebbene possa essere dimostrato che la procedura iterativa terminerà sempre, l’algorit-
mo delle k-medie non trova necessariamente la configurazione ottimale, che corrispon-
de al minimo globale della funzione obiettivo. L’algoritmo, inoltre, è anche sensibile
in maniera significativa alla scelta casuale iniziale dei centroidi, e può condurre ad una
soluzione ben peggiore dell’ottimo globale; per ridurre questo effetto bisogna eseguire
l’algoritmo molte volte, provando a scegliere dei poli iniziali diversi.
Come scegliere i poli della partizione iniziale?
Una volta determinato il numero di gruppi attraverso i quali suddividere le n osserva-
zioni (non oggetto di approfondimento), occorre individuare i poli che costituiscono i
14
centroidi dei clusters nella partizione iniziale. Un criterio poco dispendioso consiste
nell’individuare come semi iniziali le prime K osservazioni dell’insieme dei dati; un
metodo leggermente più formalizzato conduce, invece, all’estrazione di un campione
casuale (o sistematico) di K osservazioni dalle n iniziali. Entrambe le regole, però, non
risultano molto soddisfacenti perchè non sono in grado di garantire che i semi inizia-
li siano effettivamente rappresentativi dell’intera nuvola di punti multidimensionale:
tale requisito è di notevole importanza nelle applicazioni reali, perchè consente di mi-
gliorare significativamente la velocità di convergenza dell’algoritmo. A questo punto,
quindi, la rappresentatività dei poli viene ottenuta attraverso la ricerca di osservazioni
sufficientemente equispaziate nello spazio pieno (utilizzando, ad esempio, anche una
soglia minima fissata a priori).
1.4.2 Un’estensione del metodo delle k-medie: fuzzy k-means
Il semplice contesto in cui è inserito k-medie, rende quest’ultimo un metodo molto
flessibile da modificare, e mette in gioco la possibilità di costruire algoritmi molto più
efficienti partendo da esso [3]. Una delle possibili variazioni proposte per il metodo
consiste nell’assegnazione di gradi di appartenenza alle nosservazioni in due o più
classi latenti, i quali costituiscono a tutti gli effetti dei parametri da stimare all’interno
del processo di cluster analysis [22]. Sostanzialmente, questo nuovo algoritmo si libera
dell’assunzione secondo cui ciascuna delle n osservazioni deve appartenere ad uno ed
un solo cluster, e consente l’appartenenza anche a più di 2 clusters: quanto detto rientra
a pieno all’interno di una serie di metodi - GOM, o Grade of membership - che fanno
capo al fuzzy clustering. Ad essi è stata dedicata in letteratura un’attenzione molto
minore rispetto a quella dei metodi che individuano partizioni senza sovrapposizione:
le ragioni sono da ricercarsi nelle incertezze alle quali può dare luogo l’attribuzione di
una medesima osservazione a due o più clusters. [24]
Prima di analizzare uno dei più utilizzati algoritmi inseriti all’interno di questa clas-
se di metodi, è necessario introdurre alcune nozioni relative all’idea sottostante la
classificazione sfocata, così come definita in molte applicazioni.
Fuzzy clustering
Si consideri la seguente domanda: "l’individuo i è alto quasi due metri?". C’è una pic-
cola componente di dubbio sulla risposta che ci si aspetta - si, o no - e la parola quasi
è fonte di incertezza in base al modo in cui si determina la risposta; nel caso specifico
si dovrebbe prima decidere il significato di "quasi due metri", e poi estrarre da esso
abbastanza informazione per prendere una decisione. È senza dubbio vero che questo
dilemma può essere superato attraverso un’apposita convenzione che riguarda il signi-
ficato di "quasi due metri", ma nella situazione specifica c’è un elemento di incertezza
non-statistica (detta fuzziness), non causato nè da un errore di misurazione nè da un
risultato casuale [10]. Quanto appena detto è esemplificativo del fatto che nel fuzzy
clustering (così denominato perchè prevale una componente di incertezza, sfocatura),
le osservazioni non sono assegnate ad un particolare cluster: esse bensì possiedono
una funzione di appartenenza (alcune sono indicate in Figura 1.6), la quale assume
valori nell’intervallo [0,1] che indicano il grado di appartenenza di ciascuna delle n
osservazioni in tutti o in alcuni dei clusters [22]. In questo tipo di raggruppamento si
15
assume che due osservazioni siano tra loro tanto più simili quanto più prossimo ad 1 è
il valore della loro funzione di appartenenza al medesimo cluster [68].
Figura 1.6: Esempi di funzioni di appartenenza. Fonte: [39]
A questo proposito, assume un ruolo centrale il concetto di K-partizione sfocata,
illustrato anche con l’ausilio della Tabella 1.4.
Definizione 1.2. Si definisce K-partizione sfocata di n osservazioni la seguente ma-
trice, di dimensioni n·K:
UK = [uik, per i = 1,2,3,...,n e k = 1,2,3,...,K] (1.14)
ove uik è il valore della funzione di appartenenza dell’i-esima osservazione al cluster
k-esimo, soggetto ai seguenti due vincoli:
0 ≤ uik ≤ 1 ed anche
K
∑
k=1
uik = 1
dove il primo indica che i valori della funzione di appartenenza devono essere com-
presi o uguali tra 0 ed 1; il secondo, invece, indica che per ogni osservazione ci sono
possibilità di appartenere al k-esimo cluster che sommano ad 1.
Tabella 1.4: Struttura della K-partizione sfocata UK
Casi Gruppi
Gruppo 1 Gruppo 2 Gruppo 3 ... Gruppo K
Caso 1 u11 u12 u13 ... u1K
Caso 2 u21 u22 u23 ... u2K
Caso 3 u31 u32 u33 ... u3K
... ... ... ... ... ...
Caso n un1 un2 un3 ... unK
La matrice Uk è tale per cui i marginali di riga risultano essere tutti pari ad 1 (stes-
sa caratteristica della matrice ZK), in virtù del secondo vincolo; mentre i marginali
16
di colonna non rappresentano più le ampiezze dei clusters, ma una misura assoluta
dell’incertezza all’interno di ognuno di essi. Inoltre, come nel caso della matrice ZK,
risulta che la somma dei marginali di riga e di colonna (così come la somma di tutti gli
elementi al suo interno) è pari ad n. Quindi:
K
∑
k=1
n
∑
i=1
uik =
K
∑
k=1
uk. =
n
∑
i=1
u.i = n (1.15)
dove uk. rappresenta il marginale della k-esima colonna, mentre u.i rappresenta il mar-
ginale della i-esima riga.
Gli algoritmi di fuzzy clustering, dunque, si propongono di ottenere, in base alle q va-
riabili osservate, una K-partizione sfocata che ottimizzi un determinato criterio (come
quello dei metodi non gerarchici).
Fuzzy k-means
Sia allora uik il valore della funzione di appartenenza per l’i-esima osservazione al-
l’interno del k-esimo gruppo, che soddisfa i vincoli di cui sopra. Si denoti con ck il
centroide del k-esimo gruppo, e con m uno scalare (indicato come fuzzifier) che agisce
da peso [36] e che influenza la distribuzione finale delle memberships.
Supponendo che la matrice dei dati X sia nota, l’algoritmo del fuzzy k-means è equi-
valente alla minimizzazione della seguente funzione obiettivo rispetto a ck ed a uik:
Jfuzzy =
K
∑
k=1
n
∑
i=1
um
ik(xi −ck)2
(1.16)
dove la differenza (xi − ck)2 rappresenta generalmente la distanza euclidea tra i punti
ed i centroidi dei gruppi. Questi ultimi sono calcolati come medie ponderate rispetto
ai valori xi delle variabili, ed ai livelli di appartenenza al relativo cluster
ck =
∑n
i=1 um
ikxi
∑n
i=1 um
ik
; (1.17)
I valori uik, invece, sono proporzionali alla distanza tra i punti ed i centroidi dei clusters,
e sono calcolati come segue:
uik =



∑K
k=1( ||xi−ck||
||xi−c
k
||)
2
m−1
−1
, se ||xi −ck|| > 0;
1, se ||xi −ck|| = 0
Si noti che, in tutte le espressioni ricavate, X può essere una qualunque matrice usata
per la classificazione dei rispondenti. Inoltre, quando m = 1 e uik = 1 oppure uik =
0 (appartenenza binaria), la funzione obiettivo del metodo si riduce a quella del k-
medie. La minimizzazione della 1.16 per m > 1 può essere raggiunta utilizzando una
procedura alternata di ottimizzazione (per esempio un algoritmo ALS, cfr paragrafo
2.5.3), che aggiorna ripetutamente uik e ck: il processo può iniziare sia dando dei valori
iniziali casuali alla matrice UK, sia dando dei valori iniziali casuali per i vettori ck, e
continua finchè i valori di UK nelle successive iterazioni differiscono di poco.
17
Il processo, cioè, si ferma con valori di UK tali che la differenza tra questi ultimi in una
iterazione e quella precedente sia minore di una soglia ε
||Uiter+1
K −Uiter
K || < ε (1.18)
dove ε è un numero piccolo positivo scelto dal ricercatore. [32]
Nel fuzzy k-means, il valore di m dovrebbe essere noto a priori. Comunque, valori di
m prossimi ad 1 porteranno ad una matrice di partizione in cui tutte le memberships sa-
ranno vicine a 0 o ad 1; contrariamente, valori di m eccessivamente grandi porteranno
a sovrapposizioni sproporzionate, e tutte le memberships avranno valori prossimi a 1
K .
Di conseguenza, nessuno di questi valori di m è consigliato. Sebbene ci siano state
alcune procedure euristiche per la determinazione di m, sembra che non esista un me-
todo formale per la scelta. Nelle applicazioni pratiche, m = 2 è la scelta più sensata
quando si tratta di algoritmi di fuzzy cluster analysis.
Vantaggi del fuzzy clustering legati alle memberships
Nella maggior parte delle tecniche di clustering, tra le quali anche il metodo delle k-
medie, il grado di appartenenza assume valori pari agli estremi 0 o 1 dell’intervallo,
a seconda che l’osservazione appartenga o meno al k-esimo cluster. Nel gergo della
cluster analysis, i metodi per i quali il grado di appartenenza è esattamente pari a 0
od 1 sono conosciuti come metodi crisp. Rispetto a questi ultimi, il contesto fuzzy
ha due vantaggi notevoli: in primo luogo, l’appartenenza può essere combinata con
ulteriori informazioni, quando essa rappresenta una probabilità4; in secondo luogo, le
appartenenze indicano per un’osservazione la possibile esistenza di un secondo miglior
gruppo che è tanto buono quanto il migliore, e questo fenomeno è spesso nascosto
quando si utilizzano altre tecniche di cluster analysis. In una fuzzy cluster analysis,
il numero di sottoinsiemi è noto a priori, e la funzione di appartenenza di ciascuna
osservazione in ogni cluster è stimata usando un metodo iterativo, di solito una tecnica
di ottimizzazione basata su una funzione obiettivo.
1.5 Criteri di valutazione della partizione finale
In quanto tecnica di analisi non supervisionata, per la cluster analysis è necessario
trovare un modo per validare la bontà della partizione finale ottenuta alla fine del pro-
cesso. La validazione della cluster analysis è stata a lungo riconosciuta come una delle
questioni di vitale importanza per la buona riuscita di essa. Nonostante i notevoli sforzi
fatti per risolvere questo problema, non c’è una soluzione consistente e conclusiva a
tale validazione. Le migliori misure adatte, da utilizzare in pratica, rimangono igno-
te. In effetti, ci sono molti problemi impegnativi che non sono stati completamente
affrontati nella letteratura sulla cluster analysis, per esempio quello relativo alla poca
chiarezza della relazione tra le differenti misure di validazione, oppure quello relativo
alla selezione delle misure da utilizare (che deriva dalle proprietà intrinseche di queste
4In generale, i gradi di appartenenza non rispettano le regole della teoria probabilistica [67], sebbene,
una volta stimati, essi possano essere riscalati in modo tale da essere compresi nell’intervallo [0,1] e
possono essere interpretati come probabilità.
18
ultime). Infine, dato che differenti misure di validazione potrebbero essere appropriate
a seconda del tipo di algoritmo utilizzato, è necessario provvedere ad uno studio che si
focalizzi di più su questo aspetto. [3]
Generalmente, le misure di validazione dei risultati della cluster analysis si suddivido-
no i due grandi gruppi:
• misure di validazione esterna, che utilizzano informazioni non presenti nei da-
ti per valutare fino a che punto la naturale struttura di gruppo rivelata da un
algoritmo corrisponde ad una struttura esterna, per esempio quella specificata
dalle "etichette" date ai gruppi. Esse partono dalla conoscenza a priori della "ve-
ra" struttura di gruppo (che normalmente nota non è), e quindi possono essere
utilizzate per scegliere l’algoritmo ottimale per uno specifico dataset;
• misure di validazione interna, che valutano la bontà di una struttura di gruppo, e
possono essere utilizzate per scegliere il miglior algoritmo per un dataset, senza
il bisogno di informazioni esterne. Esse, in particolare, valutano fino a che punto
i gruppi sono in grado di soddisfare (tra gli altri) i criteri definiti da Cormack [17]
(cfr paragrafo 1.2.1), ossia la coesione e l’isolamento [22].
Sebbene entrambe siano cruciali per molti scenari applicativi, la principale differenza
tra le due sta nella possibilità o meno di utilizzare informazioni esterne per la vali-
dazione dei risultati. Inoltre, quando le informazioni esterne non sono disponibili, le
seconde sono l’unica opzione.
1.5.1 Misure di validazione esterna
Nella letteratura esistono numerose misure di validazione esterna per la cluster analy-
sis. In questo paragrafo si presentano, in particolare, due misure, valide per l’algoritmo
del k-medie. Tali misure rappresentano un buon inizio per la valutazione dei risultati
ottenuti, in campi differenti come il data mining od il recupero delle informazioni (in-
formation retrieval). Ciò che le accomuna è il fatto che esse possono essere calcolate
a partire dalla seguente matrice di contingenza tetracorica (Tabella 1.5)
Tabella 1.5: Confronto tra due partizioni P e P : matrice tetracorica
Partizione P
Valore 1 0 Totale
Partizione P 1 n11 n10 n1.
0 n01 n00 n0.
Totale n.1 n.0
n·(n−1)
2 = n11 +n10 +n01 +n00
la quale confronta la partizione P, ottenuta per esempio tramite il metodo delle k-
medie, con una partizione P , generata a partire dalla "vera" struttura di gruppo nei
dati (nota a priori); per ogni partizione, a ciascuna coppia di osservazioni può essere
associata una variabile indicatrice che assume valore 1 se la coppia è costituita da
elementi appartenenti allo stesso gruppo in entrambe le partizioni, e valore 0 se la
coppia è costituita da elementi appartenenti a gruppi distinti [68]. Tale matrice, quindi,
19
contiene le informazioni relative alla sovrapposizione tra coppie di osservazioni nelle
due partizioni. I suoi elementi rappresentano, rispettivamente:
• n11, il numero di coppie di osservazioni che appartengono allo stesso gruppo per
entrambe le partizioni P e P ;
• n10, il numero di coppie di osservazioni che appartengono allo stesso gruppo in
P ma appartengono a gruppi diversi in P ;
• n01, il numero di coppie di osservazioni che appartengono allo stesso gruppo in
P ma appartengono a gruppi diversi in P;
• n00, il numero di coppie di osservazioni che appartengono a gruppi diversi per
entrambe le partizioni P e P .
dove le quantità n11 ed n00 sono il numero di coppie di osservazioni "trattate" in mo-
do analogo nelle due partizioni (misura di accordo), e le quantità n10 ed n01 sono il
numero di coppie trattate in modo diverso nelle due partizioni (misura di disaccordo).
Ovviamente, valgono le seguenti relazioni:
n1. = n11 +n10 ed anche n.1 = n11 +n01
n0. = n01 +n00 ed anche n.0 = n10 +n00
valide, rispettivamente, per P e P . I marginali di riga coincidono con il numero di
coppie assegnate correttamente e non correttamente a P, mentre i marginali di colonna
coincidono con il numero di coppie assegnate correttamente e non correttamente a P .
Il totale generale della tabella è pari al numero di possibili confonti tra coppie di os-
servazioni, n(n−1)
2 .
Alternativamente, ed in maniera più diretta, il confronto tra le due partizioni P e P
può essere portato avanti a partire da una seconda matrice di contingenza (Tabella
1.6), tetracorica quando il numero di clusters è pari a 2, così costruita
Tabella 1.6: Confronto tra due partizioni P e P : matrice K ·K
Partizione P Partizione P
Cluster 1 Cluster 2 Cluster 3 ... Cluster K Totale
Cluster 1 n11 n12 n13 ... n1K n1.
Cluster 2 n21 n22 n23 ... n2K n2.
Cluster 3 n31 n32 n33 ... n3K n3.
... ... ... ... ... ... ...
Cluster K nK1 nK2 nK3 ... nKK nK.
Totale n.1 n.2 n.3 ... n.K n
per k = 1,2,3,...,K e k = 1,2,3,...,K . Il generico elemento nkk di tale matrice rap-
presenta, questa volta, il numero di osservazioni raggruppate simultaneamente nel k-
esimo cluster di P e nel k -esimo cluster di P . I marginali di riga nk. sono le numerosità
20
del k-esimo cluster di P, mentra i marginali di colonna n.k sono le numerosità del k -
esimo cluster di P . Il totale della tabella è pari ad n.
Il vantaggio della costruzione di questa seconda tabella, rispetto alla prima, sta sem-
plicemente nel fatto che è possibile non calcolare i confronti tra tutte le coppie di
osservazioni, poichè disagevoli da gestire al crescere di n.
A partire da ciascuna delle due tabelle proposte, si presentano ora due misure di
validazione strettamente collegate tra di loro, l’una la correzione dell’altra.
Indice di Rand
L’indice di Rand [53] è il più popolare tra gli indici di validazione esterna, ed è
calcolato a partire dalla prima matrice. Esso è definito come:
RI =
n11 +n00
n(n−1)
2
(1.19)
ossia come la frequenza dell’occorrenza del numero di accordi sul numero di coppie
totali, oppure come la probabilità che entrambe le partizioni si troveranno in accordo su
una coppia di osservazioni scelta a caso. L’indice assume valori nell’intervallo [0,1],
con il minimo che si verifica quando le due partizioni non sono in accordo su ogni
coppia di osservazioni (ciò avviene, ad esempio, se P è costituita da un unico gruppo
di n osservazioni, e P è costituita da n gruppi di una sola osservazione ciascuno), ed il
massimo che si verifica quando entrambe le partizioni sono identiche (solo se k = k ).
Indice di Rand corretto
L’indice di Rand corretto (o ARI) [34], invece, è calcolato a partire dalla seconda
matrice, e costituisce la versione corretta - per situazioni di casualità - della (1.19).
Tale correzione stabilisce una linea di base attraverso l’utilizzo della similarità attesa
di tutti i confronti di coppia tra le partizioni, specificate da un modello casuale. In
formule, si ha che l’indice è pari a:
ARI =
Indice− Indice Atteso
Indice Massimo− Indice Atteso
=
∑kk
n
kk
2
− ∑k
nk
2 ∑k
n
k
2
/ n
2
1
2 ∑k
nk
2 +∑k
n
k
2
− ∑k
nk
2 ∑k
n
k
2
/ n
2
dove i valori sono presi dalla Tabella 1.6. L’indice è limitato superiormente da 1, ed è
uguale a 0 se Indice = Indice Atteso. Può, inoltre, assumere valori negativi.
1.5.2 Misure di validazione interna
Nella letteratura, esiste un’ampia gamma anche di misure di validazione interna. Tali
misure cercano di rispettare l’obiettivo di fondo della cluster analysis, cioè quello di
ottenere gruppi che contengano osservazioni simili al loro interno, e che si differenzino
tra di loro. Due sono, in particolare, i criteri su cui si basano tutte le misure:
21
• compattezza, che indica quanto vicine siano le osservazioni all’interno dello stes-
so cluster, sia attraverso il calcolo della varianza (bassi valori di quest’ultima
indicano migliore compattezza), sia attraverso il calcolo delle distanze;
• separazione, che indica quanto distinto o ben separato sia un cluster rispetto a
tutti gli altri.
Una delle tante misure, quindi, può essere quella rappresentata dalla scomposizione
della devianza totale delle q variabili, e conseguentemente dall’indice
R2
= 1−
W
T
=
B
T
(1.20)
dove T è la devianza totale, W è la devianza within e B è la devianza between; le ri-
spettive formule sono definite in [68]. Tale indice misura la quota di variabilità totale
nella matrice dei dati (considerando tutte le variabili) che può essere spiegata dalla par-
tizione considerata. Esso, inoltre, assume valori nell’intervallo [0,1], dove il massimo
valore è raggiunto quando le osservazioni che appartengono al k-esimo gruppo sono
molto simili tra di loro, e cioè quando i gruppi stessi sono ben separati.
Numerose altre misure si basano sugli stessi criteri di cui sopra, ma per brevità di
trattazione si preferisce non entrare nel dettaglio.
1.6 In sintesi
Nella cluster analysis c’è un’importante dose di soggettività da parte dell’analista: ef-
fettivamente, i passaggi chiave propri della tecnica (in particolare quelli riguardanti le
misure di diversità e le tipologie di algoritmi) costituiscono delle scelte da compie-
re per poter ottenere il miglior risultato possibile in termini di partizione finale. Ciò
non vuol significare che la cluster analysis sia una questione facile da affrontare, so-
lo perchè l’analista è coinvolto "soggettivamente" nel processo. Anzi, proprio perchè
l’analista deve effettuare delle scelte, è importante che la scelta fatta sia quella giusta,
altrimenti rischia di compromettere l’andamento del processo stesso e di non ottenere i
risultati sperati. Inoltre, considerando che le misure di distanza e gli algoritmi presen-
tati sono solo una piccola parte dell’ampio bagaglio che la cluster analysis porta con
sè, la scelta diventa ancora più difficile.
22
Capitolo 2
Analisi statistiche su dati qualitativi
Dallo studio del tipo di acquisto abitualmente fatto al centro commerciale alla più accu-
rata indagine sugli sbocchi occupazionali, dalla verifica del valore di nuovi trattamenti
medici alla valutazione dei fattori che influenzano le opinioni e gli atteggiamenti, gli
odierni analisti sono in grado di trovare una miriade di usi diversi per tutti quei me-
todi che richiedono l’analisi di variabili che non sono facilmente misurabili in termini
quantitativi: le variabili qualitative. Obiettivo del presente capitolo, primo punto cru-
ciale di tutta la metodologia sviluppata nella tesi, è quello di presentare le importanti
caratteristiche di queste variabili, analizzandone in prima istanza la classificazione,
l’organizzazione in dati e la ricodifica, ed in secondo luogo alcune tecniche all’interno
delle quali queste variabili sono predominanti - l’Analisi delle Corrispondenze e due
sue varianti - al fine di poterne, nel seguito, provare ad effettuare la cluster analysis.
2.1 Caratteristiche delle variabili qualitative
Le variabili qualitative (anche denominate variabili categoriche nella letteratura sta-
tistica internazionale [52]), sono variabili che esprimono una qualità, ovvero le cui mo-
dalità (attributi) sono dei valori non numerici (ad esempio la variabile che esprime il
genere di un individuo, con gli attributi "maschio" e "femmina") e non misurabili, cioè
che non richiedono unità di misura nella loro determinazione. Esse sono prevalenti
in numerosissimi ambiti, tra cui, per citarne alcuni: le scienze sociali, per analizza-
re i comportamenti dell’essere umano; le scienze della salute, per valutare lo stato di
avanzamento di una malattia; il marketing, per studiare le preferenze dei consumatori
nei confronti di un prodotto; il controllo della qualità, per etichettare items in base alla
loro conformità a determinati standards [4].
2.1.1 Classificazione
Secondo Stevens [59], si possono distinguere due tipologie di variabili qualitative:
• variabili qualitative su scala nominale (o sconnesse), se le modalità non pos-
seggono alcun ordine naturale (ad esempio il nome di una malattia o il colore
degli occhi). Per queste variabili, cioè, esiste una relazione di equivalenza che
permette di determinare se due modalità sono diverse o uguali, perchè da un pun-
to di vista statistico possono solamente fornire tale tipo di contenuto informativo.
23
L’unico indice di tendenza centrale che ha senso determinare con tale tipo di va-
riabili è la moda, ossia la modalità caratterizzata dalla massima frequenza (in
altri termini, il valore che compare più frequentemente);
• variabili qualitative su scala ordinale (o ordinabili o rettilinee), se le modalità
posseggono naturalmente un ordine, ovvero possono essere disposte lungo una
scala crescente (ad esempio quando si chiede ad un paziente di valutare l’effetto
di un farmaco attraverso gli attributi "pessimo", "cattivo", "mediocre", "buono"
e "ottimo") o decrescente (ad esempio quando si parla di indice di gradimento
attraverso gli attributi "molto", "abbastanza", "poco", "per niente"). È possibi-
le, cioè, stabilire sia una relazione di equivalenza che una relazione di ordine in
termini di maggioranza, uguaglianza o minoranza rispetto alle modalità. Il van-
taggio derivante dall’ordinabilità tra le modalità di queste variabili sta nel fatto
che è possibile, oltre alla moda, calcolare anche la mediana, ossia la modalità
assunta dalle unità statistiche che si trovano nel mezzo della distribuzione;
Nella categoria delle variabili nominali rientrano, a loro volta, le variabili dicoto-
miche, anche denominate variabili binarie, ossia variabili che assumono solamente
due modalità (ad esempio la variabile indicante il genere, con le modalità "maschio"
e "femmina"), e le variabili politomiche, anche denominate variabili multinomiali,
ossia variabili che assumono più di due modalità (ad esempio la variabile che descrive
il colore degli occhi, con le modalità "verde", "marrone", "azzurro", ecc).
2.1.2 Organizzazione in dati
Il modo più semplice per organizzare una variabile categorica, che rappresenta anche
quello di gran lunga più importante, è la distribuzione di frequenza, la quale indica
come le unità della popolazione si distribuiscono in termini di frequenze (assolute o
relative che esse siano) rispetto alle modalità della variabile in esame; essa consente
il confronto tra due fenomeni al variare delle circostanze, ovvero rispetto ad un al-
tro fenomeno. Date, quindi, n osservazioni sulle quali è stata misurata una variabile
categorica X, una generica distribuzione di frequenza è presentata in Tabella 2.1:
Tabella 2.1: Distribuzione di frequenza di una variabile categorica X
Modalità (h) Frequenze assolute (nh) Frequenze relative (fh = nh
n )
1 n1 f1
2 n2 f2
3 n3 f3
... ... ...
p np fp
Totale n 1
dove h = 1,2,3,..., p sono le modalità della variabile categorica; n1,n2,...,np sono le
frequenze assolute con le quali le diverse modalità vengono osservate, il cui totale n
è il numero complessivo delle osservazioni; f1, f2,..., fp sono le frequenze relative,
calcolate come rapporti tra le frequenze assolute ed il numero complessivo delle os-
servazioni (il loro totale è pari ad 1). Disponendo di una distribuzione di frequenza,
24
l’attenzione è concentrata sulla sua caratterizzazione complessiva e/o su una sintesi
opportuna (ad esempio attraverso operazioni aritmetiche sulle frequenze). Lo studio
delle distribuzioni di frequenza per le variabili categoriche ha, infatti, senso compiuto
purchè i metodi e le analisi si limitino a queste ultime; tale studio sarà portato avanti
nel prosieguo della tesi.
Quando su ogni unità appartenente ad una determinata popolazione si rilevano due va-
riabili categoriche, si parla di distribuzione doppia di frequenza. Essa è una tabella
a doppia entrata, comunemente nota con il termine matrice di contingenza, che regi-
stra quante volte (in termini di frequenze assolute) una coppia di modalità si presenta
contemporaneamente. Date, quindi due variabili categoriche X ed Y, ed indicate, ri-
spettivamente, con h = 1,2,3,..., p le modalità di X, e con h = 1,2,3,..., p le modalità
di Y, un esempio di tabella a doppia entrata è presentato in Tabella 2.2:
Tabella 2.2: Distribuzione doppia di frequenza
Variabile X Variabile Y
Modalità 1 Modalità 2 Modalità 3 ... Modalità p Totale
Modalità 1 n11 n12 n13 ... n1p n1.
Modalità 2 n21 n22 n23 ... n2p n2.
Modalità 3 n31 n32 n33 ... n3p n3.
... ... ... ... ... ... ...
Modalità p np1 np2 np3 ... npp np.
Totale n.1 n.2 n.3 ... n.p n
dove nhh indica il numero di elementi tra gli n della popolazione che possiedono con-
temporaneamente la modalità h-esima per X e la modalità h -esima per Y; nh. rappre-
sentano i totali di riga della tabella e riguardano esclusivamente la variabile X; n.h
rappresentano, invece, i totali di colonna della tabella, che valgono per la variabile Y.
A queste ultime due quantità, spesso si fa riferimento come frequenze assolute mar-
ginali, le quali a loro volta costituiscono delle distribuzioni di frequenza marginali
univariate (relative, quindi, alle variabili X ed Y prese singolarmente, come in Tabella
2.1). È facile intuire come, per entrambe, vale la seguente relazione:
p
∑
h=1
nh. =
p
∑
h =1
n.h =
p
∑
h=1
p
∑
h =1
nhh = n (2.1)
che indica l’eguaglianza, ad n, delle somme delle frequenze marginali di riga e di
colonna, così come pure di tutti gli elementi presenti all’interno della tabella.
In molti casi, piuttosto che lavorare con le frequenze assolute, si preferisce utilizzare
le frequenze relative o delle particolari frequenze ottenute dividendo le prime per i
marginali (di riga o di colonna) della tabella stessa. Le possibili tabelle di frequenze in
questione sono tre, ognuna delle quali con un diverso contenuto informativo:
• una prima tabella può essere ottenuta dividendo le frequenze assolute nhh per i
marginali di riga nh., e questa viene chiamata matrice dei profili riga. Per essa
25
vale la relazione secondo cui
p
∑
h=1
nhh
nh.
= 1 (2.2)
ossia che la somma per riga delle frequenze risulta essere pari ad 1. Da qui, la
somma di tutti gli elementi al suo interno è pari al numero di righe h.
Dividendo, poi, i totali di colonna (la riga Totale della Tabella 2.2) per n si
ottengono le frequenze (gli elementi) del cosiddetto profilo medio di riga:
n.h
n
= f.h (2.3)
• una seconda tabella può essere ottenuta dividendo le frequenze assolute nhh per
i marginali di colonna n.h , e questa viene chiamata matrice dei profili colonna.
Per essa vale la relazione secondo cui
p
∑
h =1
nhh
n.h
= 1 (2.4)
ossia che la somma per colonna delle frequenze risulta essere pari ad 1. Da qui,
la somma di tutti gli elementi al suo interno è pari al numero di colonne h .
Dividendo, poi, i totali di riga (la colonna Totale nella Tabella 2.2) per n si
ottengono le frequenze (gli elementi) del cosiddetto profilo medio di colonna:
nh.
n
= fh. (2.5)
• un’ultima e più generale tabella può essere ottenuta dividendo le frequenze as-
solute nhh per il totale n, e questa prende il nome di matrice delle frequenze
relative (o delle proporzioni). Per essa vale la relazione secondo cui
p
∑
h=1
p
∑
h =1
nhh
n
=
p
∑
h=1
p
∑
h =1
fhh = 1 (2.6)
cioè che la somma delle frequenze relative fhh è pari ad 1. Inoltre, i marginali di
riga e di colonna risultano esattamente pari ai profili medi di riga e di colonna.
Lo studio di queste tre tipologie di tabelle risulterà importante per una tecnica nota
come Analisi delle Corrispondenze, la quale ne consente una rappresentazione grafica.
Considerando tre variabili categoriche X, Y e Z, rispettivamente con h, h ed h moda-
lità, l’insieme degli incroci possibili tra le modalità stesse può essere raccolto in una
tabella a tre vie con numero di celle definito dal prodotto h·h ·h ed in cui ciascuna
cella contiene le frequenze relative all’incrocio tra la modalità h-esima della variabile
X, la modalità h -esima della variabile Y e la modalità h -esima della variabile Z.
Quando il numero di variabili categoriche osservate è superiore a tre, tale tabella non è
rappresentabile, ma è possibile immaginare una tabella a q vie, dove q è il numero di
26
variabili complessivamete prese in esame, in cui ciascuna cella contiene le frequenze
assegnate a quella particolare combinazione di modalità. La caratteristica principale di
questa matrice è che quasi sempre il numero di celle è superiore ad n, con il risultato
che la maggior parte delle celle risultano vuote [24]. Lo studio di tabelle del genere ri-
sulta, quindi, particolarmente complesso, motivo per cui nella stragrande maggioranza
dei casi si preferisce limitare le analisi alle tabelle a doppia entrata.
Le variabili categoriche, infine, possono comparire (insieme alle variabili quantita-
tive, o anche senza di esse) all’interno della matrice dei dati X. Sarà poi compito
dell’analista trovare il giusto compromesso per la trattazione di queste.
2.1.3 Codifica
Frequentemente, la matrice dei dati X si presenta agli occhi dell’analista nella sua più
totale grezzitudine (si parla, a tal proposito, di dati grezzi, ossia non elaborati), poichè
le modalità delle variabili categoriche al suo interno sono indicati per iscritto. Risulta,
perciò, impossibile poter effettuare elaborazioni matematiche sui dati così definiti, e
ne sarebbe difficile anche la leggibilità. Per poter ovviare a questo inconveniente, c’è
bisogno di attuare una serie di operazioni volte ad una migliore interpretazione e lettura
dei dati stessi. Tra queste, c’è sicuramente quella di codifica, ossia l’associazione di un
valore numerico discreto alle modalità delle variabili categoriche. Due, in particolare,
sono le tecniche di codifica maggiormente utilizzate per questo tipo di variabili, e
prendono il nome di codifica ridotta e codifica disgiuntiva completa.
Codifica ridotta
Questo tipo di codifica è molto intuitivo, perchè segue la definizione stessa di codifica:
in particolare, esso prevede il passaggio dalla matrice dei dati X alla matrice dei dati
in codifica ridotta C (Tabella 2.3), in cui ogni colonna rappresenta una variabile che
può assumere valori da 1 al numero di modalità previste dalla variabile stessa. Si
assegna, cioè, ad ogni modalità della j-esima variabile un codice, che però non funge
esattamente da numero, ma solamente da indicatore. La codifica così definita ha il
vantaggio di raccogliere i dati osservati in modo compatto e leggibile; tuttavia, sulla
tabella così definita le operazioni di somma non hanno alcun senso.
Tabella 2.3: Matrice in codifica ridotta C
Casi Variabili
Variabile 1 Variabile 2 Variabile 3 ... Variabile q
Caso 1 1 2 1 ... 2
Caso 2 2 3 3 ... 1
Caso 3 3 2 3 ... 1
Caso 4 2 3 4 ... 4
... ... ... ... ... ...
Caso n 1 3 2 ... 3
27
Codifica disgiuntiva completa
A partire dalla matrice dei dati, la condizione necessaria per poter applicare i metodi di
analisi multivariata descritti nel seguito consiste nella sua trasformazione attraverso la
codifica disgiuntiva completa, di gran lunga più informativa rispetto alla precedente
codifica. Sostanzialmente, si ordinano i dati in una matrice di indicatori Z (univer-
salmente nota come matrice indicatrice), di dimensioni n · H, dove n è il numero di
osservazioni, ed H è il numero complessivo di tutte le modalità previste dalle variabili
categoriche. Date, cioè, j variabili categoriche (per j = 1,2,3,...,q), ciascuna con h
modalità, per h = 1,2,3,..., p, il numero di colonne di Z è pari a:
q
∑
j=1
hj = h1 +h2 +h3 +...+hq = H (2.7)
dove hj è il numero di modalità della j-esima variabile, ed H quindi è il numero di
colonne di Z. La (2.7) rivela una informazione importante su Z: essa è una matrice a
blocchi, in cui ciascun blocco, formato da h colonne per quante sono le modalità della
j-esima variabile ed indicato con Zj, rappresenta una variabile, e l’accostamento di
tutti i blocchi ricostituisce la matrice Z stessa.
Z = Z1,Z2,Z3,...,Zq (2.8)
All’interno di ciascun blocco, all’incrocio dell’i-esima riga con l’ h-esima colonna, il
valore 1 indica la modalità scelta per ciascuna variabile (quindi se l’i-esima osserva-
zione presenta quella modalità), mentre il valore 0 indica le modalità non scelte della
stessa variabile (quindi se l’i-esima osservazione non presenta le restanti modalità).
Inoltre, per ciascun blocco si verifica che la somma per riga è costante e pari ad 1 -
quindi sull’intera matrice Z la stessa somma è pari al numero di variabili j, mentre la
somma per colonna, che non varia considerando l’intera matrice Z, riporta le frequen-
ze assolute di ciascuna delle modalità della j-esima variabile. In Tabella 2.4 è dato un
semplice esempio di blocco della matrice indicatrice.
Tabella 2.4: Esempio di blocco della matrice indicatrice Z
Casi Variabile 1
Modalità 1 Modalità 2 Modalità 3 ... Modalità p
Caso 1 1 0 0 ... 0
Caso 2 0 0 1 ... 0
Caso 3 0 1 0 ... 0
... ... ... ... ... ...
Caso n 0 0 0 ... 1
Dall’esempio, si capisce il motivo per cui la codifica viene detta disgiuntiva completa:
• disgiuntiva perché in ogni cella della matrice, ad ogni caso (osservazione) vie-
ne attribuito un valore uguale a 0 oppure 1, rispettivamente per l’assenza o la
presenza dell’h-esima modalità1;
1Anche in questo caso, come nel caso della codifica ridotta, i valori 0 ed 1 non devono essere trattati
come numeri, ma come semplici indicatori.
28
• completa perchè le diverse modalità di ciascuna variabile si escludono a vicen-
da, ogni riga presenta cioè un solo 1 per ogni variabile;
Un’altra caratteristica importante, deducibile ancora dalla Tabella 2.4, sta nel fatto che
le colonne di Z individuano H nuove variabili dette variabili indicatrici (altro nome
delle variabili dicotomiche, cfr. paragrafo 2.1.1), che assumono quindi valore 0 o 1
a seconda dell’assenza o della presenza delle rispettive modalità, e che comportano il
paradossale aumento della dimensionalità dei dati di partenza (se ne analizzeranno le
conseguenze). A questo proposito, lo studio delle j variabili qualitative di partenza
è riconducibile allo studio delle H variabili indicatrici, e ciò sarà utile nei prossimi
capitoli, perchè l’intera matrice Z verrà utilizzata come punto di partenza sia per la
definizione della distanza tra le unità che per la formulazione di un algoritmo.
2.2 L’indice di eterogeneità di Gini
Presentati i principali modi attraverso cui è possibile organizzare e codificare una o più
variabili categoriche, risulta ora interessante chiedersi come si ripartiscono le frequen-
ze tra le modalità, ossia come variano le frequenze a parità di modalità. Si vuole, cioè,
confrontare la diversità della distribuzione di un fenomeno che assume delle modalità
non specificate, mediante l’analisi della distribuzione di frequenza stessa. Non essen-
do, però, possibile pensare al concetto di variabilità per variabili categoriche come
misura dello scarto di un set di osservazioni dalla propria media (perchè per variabili
categoriche la media non è definita) [44], una formulazione alternativa di quest’ultimo
prevede quello di eterogeneità (o mutabilità)2: per definizione, l’eterogeneità misura
la variabilità delle frequenze relative fh, per h = 1,2,3,..., p, senza coinvolgere le mo-
dalità della variabile categorica [52].
L’eterogeneità si collega al concetto di incertezza ed a quello di informazione, perchè
in caso di minima eterogeneità (quando tutte le frequenze relative sono accentrate in
una sola modalità h) è minima l’incertezza decisionale ed è massima l’informazione
derivabile dalla singola osservazione. Viceversa, nel caso opposto di massima eteroge-
neità (quando le frequenze relative si distribuiscono in parti eguali tra le h modalità), si
ha massima incertezza e minima informazione derivabile dalla singola osservazione.
Tra gli indici di eterogeneità più diffusi vi è sicuramente quello di Gini [25], colui
che ha definito la mutabilità come «l’attitudine di un carattere ad assumere differenti
modalità qualitative».
2.2.1 Caso univariato
Sia X una variabile categorica con h = 1,2,3,..., p modalità, e sia nota la sua distribu-
zione di frequenza (come quella in Tabella 2.1), con frequenze assolute nh e frequenze
relative fh. Sia, dunque, noto un vettore di dimensioni n · 1 che indica per ognuna
delle i = 1,2,3,...,n osservazioni il solo valore della variabile X che è stato scelto.
L’obiettivo è quello di costruire un indice che tenga conto della variabilità delle fre-
quenze, confrontando i valori della variabile X per ogni coppia di osservazioni (i,i ),
2La sua applicazione vale sia per variabili quantitative, che per variabili qualitative. Tuttavia, oggetto
di interesse è l’eterogeneità applicata alle ultime.
29
ed utilizzando quale criterio quello della differenza semplice media (adattata al ca-
so di variabili qualitative). Considerate, cioè, tutte le possibili n2−n
2 = n(n−1)
2 coppie
di osservazioni diverse3, alle quali sono associate altrettanto n2−n
2 coppie di modalità
(xh,xh), la differenza semplice media esamina tutte le diversità tra le modalità a due a
due, assumendo come appropriata misura d(xh,xh) la funzione più elementare:
d(xh,xh) =
0, se la modalità è la stessa per entrambe le osservazioni
1, se la modalità differisce
In altre parole, la differenza semplice media elenca e conta - senza ripetizione - il
numero di coppie per le quali si verifica che sono state scelte modalità diverse. Alge-
bricamente, è possibile scrivere l’indice nella seguente forma:
1
n2
p
∑
h=1
d(xh,xh)nhnh (2.9)
dove il prodotto nhnh rappresenta la ponderazione per le frequenze assolute delle mo-
dalità coinvolte nelle coppie. Svolgendo ulteriormente i calcoli, si ha ancora che:
1
n2
p
∑
h=1
d(xh,xh)nhnh =
1
n2
[(0)n1n1 +(1)n1n2 +...+(1)n1nl +...+(0)npnp]
=
1
n2
[n1(n−n1)+n2(n−n2)+...+np(n−np)]
=
1
n2
p
∑
h=1
nh(n−nh) =
p
∑
h=1
nh ·n
n2
−
p
∑
h=1
n2
h
n2
=
p
∑
h=1
nh
n
−
p
∑
h=1
(
nh
n
)2
=
p
∑
h=1
fh −
p
∑
h=1
(fh)2
= 1−
p
∑
h=1
(fh)2
= G(X)
dove quest’ultimo risultato rappresenta l’indice di eterogeneità di Gini.
Il minimo valore di questo indice si ha nella situazione di minima eterogeneità - o
massima omogeneità - ossia quando l’intera distribuzione di frequenza si accentra su
una sola modalità, per cui n1 = n ed f1 = 1:
G(X)min = 1−
p
∑
h=1
(fh)2
= 1− ∑
h=1
f2
1 = 1−1 = 0
D’altronde, l’indice non può mai essere negativo perchè la somma delle frequenze
relative (numeri compresi tra 0 ed 1) per costruzione risulta essere pari ad 1 (si veda il
paragrafo 2.1.2).
Il massimo valore dell’indice, invece, si verifica in caso di minima omogeneità - o
massima eterogeneità - ossia quando ciascuno degli h = 1,2,.., p possibili attributi
3Vale lo stesso discorso fatto nel Capitolo 1, nel senso che dalle n2 coppie di individui vanno tolte
quelle n per cui un individuo si incrocia con sè stesso. Il 2 al denominatore sta ad indicare la non
ripetizione del calcolo.
30
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici
Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici

More Related Content

Similar to Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici

Algoritmi di clustering
Algoritmi di clusteringAlgoritmi di clustering
Algoritmi di clusteringRosario Turco
 
Bressan, M., Pastore, M., Iotti, G. (2014). Proposta di innovazione metodolog...
Bressan, M., Pastore, M., Iotti, G. (2014). Proposta di innovazione metodolog...Bressan, M., Pastore, M., Iotti, G. (2014). Proposta di innovazione metodolog...
Bressan, M., Pastore, M., Iotti, G. (2014). Proposta di innovazione metodolog...Marco Bressan
 
La metodologia statistica nel data mining
La metodologia statistica nel data miningLa metodologia statistica nel data mining
La metodologia statistica nel data miningFrancesco Tamburini
 
L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...
L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...
L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...Tiziana Capozzoli
 
Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Valerio Eletti
 
Algoritmi di clustering e correlazione: una panoramica
Algoritmi di clustering e correlazione: una panoramicaAlgoritmi di clustering e correlazione: una panoramica
Algoritmi di clustering e correlazione: una panoramicaPaolo Caressa
 
Tesi fabbri marco
Tesi fabbri marcoTesi fabbri marco
Tesi fabbri marcoimartini
 
MODELLI FUNZIONALI AUTOREGRESSIVI PARAMETRICI E NON PARAMETRICI
MODELLI FUNZIONALI AUTOREGRESSIVI PARAMETRICI E NON PARAMETRICIMODELLI FUNZIONALI AUTOREGRESSIVI PARAMETRICI E NON PARAMETRICI
MODELLI FUNZIONALI AUTOREGRESSIVI PARAMETRICI E NON PARAMETRICIFilippo Cantarello
 
Gli indici di posizione
Gli indici di posizioneGli indici di posizione
Gli indici di posizioneVispo Srl
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...mfurlanetto
 
Appunti Metodologia Della Ricerca Educativa
Appunti Metodologia Della Ricerca EducativaAppunti Metodologia Della Ricerca Educativa
Appunti Metodologia Della Ricerca Educativagiosiele
 
Ldb 25 strumenti gis e webgis_2014-05-14 gullotta - 2 modelli di rappresentaz...
Ldb 25 strumenti gis e webgis_2014-05-14 gullotta - 2 modelli di rappresentaz...Ldb 25 strumenti gis e webgis_2014-05-14 gullotta - 2 modelli di rappresentaz...
Ldb 25 strumenti gis e webgis_2014-05-14 gullotta - 2 modelli di rappresentaz...laboratoridalbasso
 
Il feedback valutativo tra pari in un corso universitario: costruzione di un...
 Il feedback valutativo tra pari in un corso universitario: costruzione di un... Il feedback valutativo tra pari in un corso universitario: costruzione di un...
Il feedback valutativo tra pari in un corso universitario: costruzione di un...Collaborative Knowledge Building Group
 
Lss dispersione correlazione_covarianza_excel
Lss dispersione correlazione_covarianza_excelLss dispersione correlazione_covarianza_excel
Lss dispersione correlazione_covarianza_excelSimone Vecchi
 

Similar to Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici (20)

Algoritmi di clustering
Algoritmi di clusteringAlgoritmi di clustering
Algoritmi di clustering
 
La tesi in slide
La tesi in slideLa tesi in slide
La tesi in slide
 
Una procedura statistica multivariata per l’ottimizzazione di reti di monitor...
Una procedura statistica multivariata per l’ottimizzazione di reti di monitor...Una procedura statistica multivariata per l’ottimizzazione di reti di monitor...
Una procedura statistica multivariata per l’ottimizzazione di reti di monitor...
 
Bressan, M., Pastore, M., Iotti, G. (2014). Proposta di innovazione metodolog...
Bressan, M., Pastore, M., Iotti, G. (2014). Proposta di innovazione metodolog...Bressan, M., Pastore, M., Iotti, G. (2014). Proposta di innovazione metodolog...
Bressan, M., Pastore, M., Iotti, G. (2014). Proposta di innovazione metodolog...
 
La metodologia statistica nel data mining
La metodologia statistica nel data miningLa metodologia statistica nel data mining
La metodologia statistica nel data mining
 
14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica14a Conferenza Nazionale di Statistica
14a Conferenza Nazionale di Statistica
 
L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...
L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...
L'applicazione delle tecniche di data mining alla personalizzazione dei siti ...
 
Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)
 
Algoritmi di clustering e correlazione: una panoramica
Algoritmi di clustering e correlazione: una panoramicaAlgoritmi di clustering e correlazione: una panoramica
Algoritmi di clustering e correlazione: una panoramica
 
Tesi fabbri marco
Tesi fabbri marcoTesi fabbri marco
Tesi fabbri marco
 
FSTI1112 1 1/2
FSTI1112 1 1/2FSTI1112 1 1/2
FSTI1112 1 1/2
 
MODELLI FUNZIONALI AUTOREGRESSIVI PARAMETRICI E NON PARAMETRICI
MODELLI FUNZIONALI AUTOREGRESSIVI PARAMETRICI E NON PARAMETRICIMODELLI FUNZIONALI AUTOREGRESSIVI PARAMETRICI E NON PARAMETRICI
MODELLI FUNZIONALI AUTOREGRESSIVI PARAMETRICI E NON PARAMETRICI
 
Competitive intelligence overview
Competitive intelligence overviewCompetitive intelligence overview
Competitive intelligence overview
 
Statistica
StatisticaStatistica
Statistica
 
Gli indici di posizione
Gli indici di posizioneGli indici di posizione
Gli indici di posizione
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
 
Appunti Metodologia Della Ricerca Educativa
Appunti Metodologia Della Ricerca EducativaAppunti Metodologia Della Ricerca Educativa
Appunti Metodologia Della Ricerca Educativa
 
Ldb 25 strumenti gis e webgis_2014-05-14 gullotta - 2 modelli di rappresentaz...
Ldb 25 strumenti gis e webgis_2014-05-14 gullotta - 2 modelli di rappresentaz...Ldb 25 strumenti gis e webgis_2014-05-14 gullotta - 2 modelli di rappresentaz...
Ldb 25 strumenti gis e webgis_2014-05-14 gullotta - 2 modelli di rappresentaz...
 
Il feedback valutativo tra pari in un corso universitario: costruzione di un...
 Il feedback valutativo tra pari in un corso universitario: costruzione di un... Il feedback valutativo tra pari in un corso universitario: costruzione di un...
Il feedback valutativo tra pari in un corso universitario: costruzione di un...
 
Lss dispersione correlazione_covarianza_excel
Lss dispersione correlazione_covarianza_excelLss dispersione correlazione_covarianza_excel
Lss dispersione correlazione_covarianza_excel
 

More from Marco D'Alessandro

Il modello educativo-formativo di Piazza dei Mestieri di Torino
Il modello educativo-formativo di Piazza dei Mestieri di TorinoIl modello educativo-formativo di Piazza dei Mestieri di Torino
Il modello educativo-formativo di Piazza dei Mestieri di TorinoMarco D'Alessandro
 
Tesina di fine seminario sas ed sql
Tesina di fine seminario sas ed sqlTesina di fine seminario sas ed sql
Tesina di fine seminario sas ed sqlMarco D'Alessandro
 
La soddisfazione in ambito sportivo.
La soddisfazione in ambito sportivo.La soddisfazione in ambito sportivo.
La soddisfazione in ambito sportivo.Marco D'Alessandro
 
Il basket non è solo matematica
Il basket non è solo matematicaIl basket non è solo matematica
Il basket non è solo matematicaMarco D'Alessandro
 
Domanda di benzina in Ontario dal 1960 al 1975
Domanda di benzina in Ontario dal 1960 al 1975Domanda di benzina in Ontario dal 1960 al 1975
Domanda di benzina in Ontario dal 1960 al 1975Marco D'Alessandro
 
Processi stocastici e serie storiche
Processi stocastici e serie storicheProcessi stocastici e serie storiche
Processi stocastici e serie storicheMarco D'Alessandro
 

More from Marco D'Alessandro (11)

La differenza c'è e si vede
La differenza c'è e si vedeLa differenza c'è e si vede
La differenza c'è e si vede
 
Il modello educativo-formativo di Piazza dei Mestieri di Torino
Il modello educativo-formativo di Piazza dei Mestieri di TorinoIl modello educativo-formativo di Piazza dei Mestieri di Torino
Il modello educativo-formativo di Piazza dei Mestieri di Torino
 
Tesina di fine seminario sas ed sql
Tesina di fine seminario sas ed sqlTesina di fine seminario sas ed sql
Tesina di fine seminario sas ed sql
 
Disoccupazione in irlanda
Disoccupazione in irlandaDisoccupazione in irlanda
Disoccupazione in irlanda
 
La soddisfazione in ambito sportivo.
La soddisfazione in ambito sportivo.La soddisfazione in ambito sportivo.
La soddisfazione in ambito sportivo.
 
Il basket non è solo matematica
Il basket non è solo matematicaIl basket non è solo matematica
Il basket non è solo matematica
 
Domanda di benzina in Ontario dal 1960 al 1975
Domanda di benzina in Ontario dal 1960 al 1975Domanda di benzina in Ontario dal 1960 al 1975
Domanda di benzina in Ontario dal 1960 al 1975
 
Modello logistico
Modello logisticoModello logistico
Modello logistico
 
Pseudo-R quadro
Pseudo-R quadroPseudo-R quadro
Pseudo-R quadro
 
Processi stocastici e serie storiche
Processi stocastici e serie storicheProcessi stocastici e serie storiche
Processi stocastici e serie storiche
 
Il rischio è dietro l'angolo
Il rischio è dietro l'angoloIl rischio è dietro l'angolo
Il rischio è dietro l'angolo
 

Classificazione automatica per dati ad alta dimensionalità: un approccio fuzzy per dati categorici

  • 1. UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI SCIENZE POLITICHE CORSO DI LAUREA MAGISTRALE IN SCIENZE STATISTICHE PER LE DECISIONI TESI DI LAUREA IN METODI STATISTICI PER DATI COMPLESSI CLASSIFICAZIONE AUTOMATICA PER DATI AD ALTA DIMENSIONALITÀ: UN APPROCCIO FUZZY PER DATI CATEGORICI High-dimensional data clustering: a fuzzy approach for categorical data Relatore: Chiar.mo Prof. Francesco Palumbo Candidato: Marco D’Alessandro Matricola: M10/217 Correlatore: Chiar.mo Prof. Alfonso Iodice D’Enza ANNO ACCADEMICO 2017/2018
  • 2. i
  • 3. "Un’analisi statistica, condotta nel modo appropriato, è una delicata dissezione di una serie di incertezze, un intervento chirurgico sulle supposizioni." Michael Joseph Moroney ii
  • 4. iii
  • 5. Nomenclatura Abbreviazioni AC Analisi delle Corrispondenze ACM Analisi delle Corrispondenze Multiple ACNS Analisi delle Corrispondenze Non Simmetrica ACP Analisi in Componenti Principali ALS Alternating Least Squares clusCA Cluster Correspondence Analysis clusMCA Cluster Multiple Correspondence Analysis EVD Eigen-Value Decomposition i-FCB Iterative Factor Clustering per dati Binari iter Iterazione SVD Singular Value Decomposition Indici χ2 Indice di associazione di Pearson Φ2 Indice di contingenza media quadratica τ Indice di associazione di Goodman e Kruskal ARI Indice di Rand corretto DE Distanza euclidea per dati binari G(X) Indice di eterogeneità di Gini MC Matching coefficient R2 Indice della bontà di adattamento della struttura di gruppo ai dati RR Coefficiente di similarità di Russel e Rao iv
  • 6. RI Indice di Rand SJ Coefficiente di similarità di Jaccard V Indice V di Cramer Matrici Π Matrice dei profili colonna centrati, di generico elemento πhh Σ Matrice dei valori singolari ΣM Matrice di varianze e covarianze tra le variabili. Nella distanza di Mahalanobis tra i gruppi, tale matrice contiene le varianze e le covarianze dei gruppi. X Matrice dei dati di partenza, di generico elemento xij. La generica riga è indicata con il simbolo xi. A Matrice delle coordinate principali delle righe B Matrice delle coordinate principali delle colonne D Matrice di diversità, di generico elemento dii . I valori contenuti al suo interno rispecchiano la definizione di un’applicazione D(i,i ). F Matrice di contingenza che incrocia i K clusters con le H modalità totali G Matrice dei centroidi dei gruppi nello spazio ridotto Q Matrice di Burt S Matrice degli scarti standardizzati, di generico elemento shh U Matrice dei vettori singolari di sinistra UK K-partizione sfocata, di generico elemento uik. I marginali di riga sono indicati con u.i, mentre i marginali di colonna sono indicati con uk.. V Matrice dei vettori singolari di destra W Matrice di pesi assegnati alle variabili, di generico elemento diagonale wj. Y Matrice degli objects scores Z Matrice dei dati in codifica disgiuntiva completa Zk Matrice di assegnazione delle osservazioni ai gruppi, di generico elemento zik. I marginali di riga sono indicati con z.i, ed i marginali di colonna con zk.. C Matrice dei dati in codifica ridotta N Generica matrice di contingenza P Matrice delle frequenze relative v
  • 7. Scalari h Indice del numero di modalità di una variabile categorica. L’estremo superiore è p. i Indice del numero di osservazioni. L’estremo superiore è n. j Indice del numero di variabili. L’estremo superiore è q. k Indice del numero di gruppi. L’estremo superiore è K. Simboli Matematici [0,1] Intervallo di valori α, ε, γ, m Parametri ∩ Intersezione di due (o più) insiemi ∪ Unione di due (o più) insiemi ∈ Appartenenza ad un insieme max,min Massimizzazione, minimizzazione φ Funzione ⇒ Implicazione → Tendere a sup Estremo superiore θ Parametro ∅ Insieme vuoto T Trasposto A, B Elementi di un generico insieme d(xh,xh) Differenza semplice media d1 Distanza di Manhattan d2 Distanza euclidea dΣ Distanza di Mahalanobis dθ Distanza di Minkowsky dw Distanza euclidea pesata dχ2 Distanza del Chi-quadrato vi
  • 8. E Generico insieme P(E) Partizione di un generico insieme tr Traccia Vettori xj Vettore delle medie delle variabili. Per il k-esimo gruppo, tale vettore è indicato con il simbolo xjk (o anche con il simbolo ck), e rappresenta il centroide. 1h Vettore contenente h volte il valore 1 al suo interno 1n Vettore contenente n volte il valore 1 al suo interno 1h Vettore contenente h volte il valore 1 al suo interno h Vettore contenente i marginali di riga di P h Vettore contenente i marginali di colonna di P uk Vettore contenente la k-esima colonna di ¯Um K vii
  • 10. Sommario I tradizionali algoritmi di cluster analysis, che suddividono un insieme di osservazioni in gruppi omogenei (cioè con le stesse caratteristiche), si sono da sempre focalizzati su dati quantitativi, sfruttandone le relative proprietà geometriche e statistiche per cal- colare le diversità tra i punti che devono essere "clusterizzati". Tale approccio, basato fondamentalmente sul concetto di distanza, però, non è risultato essere di aiuto dal momento che la maggior parte dei dataset in circolazione ha iniziato a contenere va- riabili assumenti valori non numerici, ossia di tipo qualitativo (o categorico). Lavorare con tale tipo di variabili non è per nulla semplice, siccome le loro proprietà geometri- che e statistiche non hanno le stesse funzionalità rispetto alle variabili quantitative. Sebbene per un periodo ci sia stato un parziale disinteresse verso i dati categorici, da qualche decennio a questa parte molti studi scientifici hanno iniziato a focalizzarsi sul loro utilizzo nelle più complesse tecniche di analisi statistica, tra cui anche gli algo- ritmi di cluster analysis. A tal proposito, primo obiettivo del presente lavoro - che si inserisce all’interno di un vasto filone di indagine - è quello di illustrare le problemati- che connesse al raggruppamento di tali dati, proponendo specifiche soluzioni. Se al problema di cui sopra si aggiunge, poi, la considerazione che nella maggior parte dei casi è difficile raggruppare determinate osservazioni in gruppi ben distinti (nel sen- so che esiste la possibilità che ciascuna di loro possa appartenere ad uno o più gruppi, sintetizzabile nella fuzzy cluster analysis), la faccenda diventa abbastanza complicata. Secondo obiettivo del presente lavoro è, dunque, quello di adattare la cluster analysis per dati categorici al caso in cui l’assegnazione delle osservazioni ad uno ed un solo gruppo non rispecchia fedelmente la struttura dei dati: le osservazioni, cioè, presenta- no delle caratteristiche intermedie rispetto a quelle di due (o più) gruppi. Quanto detto porterà alla costruzione ed alla successiva validazione di un particolare algoritmo, in grado di rivelare informazioni utili presenti nei dati di partenza, sia in termini di inter- relazioni tra le variabili categoriche, sia in termini di struttura di gruppo. La suddivisione del lavoro avviene come segue: • il primo capitolo fornisce una panoramica dei concetti di base della cluster ana- lysis. Esso ne introduce le definizioni generali, per esempio i concetti di partizio- ne, gruppo (o cluster) e distanza; ne presenta una variante non gerarchica (meto- do delle k-medie), tecnica di base di tutta la trattazione; ne sottolinea, infine, le tecniche per la validazione, per verificarne cioè la qualità; • nel secondo capitolo si discute delle variabili qualitative, in termini di relati- ve proprietà statistiche e geometriche. Di queste variabili si presentano alcune ix
  • 11. misure di variabilità e di associazione, dalle quali parte un importante percorso che coinvolge alcuni metodi per l’analisi bivariata (sulle tabelle di contingenza in particolare) ed in parte anche multivariata (sulla matrice dei dati); • il terzo capitolo rappresenta il punto di incontro tra i precedenti due, il punto di svolta dell’intera trattazione. Vengono presentate alcune misure di distanza per dati categorici, evidenziandone poi i problemi in contesti ad alta dimen- sionalità. Inoltre, a partire dalle soluzioni a tali problemi (feature selection e feature transformation), vengono descritti alcuni algoritmi che mostrano la complementarietà tra la riduzione della dimensionalità e la cluster analysis; • il quarto capitolo costituisce un’estensione di quello precedente, in quanto par- ticolarizza uno degli algoritmi presentati (clusCA) al caso in cui la riduzione della dimensionalità è combinata con la fuzzy cluster analysis. Tale nuova me- todologia - della quale ne vengono descritti punti di forza e di debolezza - è in grado di fornire importanti informazioni sulla struttura intrinseca dei dati; • nel quinto capitolo, infine, si analizzano dati simulati e dati reali, non tanto per verificare la performance statistica e la velocità di convergenza del contributo proposto, quanto per evidenziare le differenze tra l’approccio tandem e l’ap- proccio iterativo. Per dati simulati, l’attenzione viene posta sull’analisi di un particolare scenario. Per dati reali, invece, l’intenzione è quella di studiare la struttura di gruppo quando il numero di variabili è elevato. Il lavoro, infine, si conclude con una rassegna dei più importanti risultati ottenuti tra- mite lo sviluppo dell’intero percorso, e con specifiche direttive verso coloro che si vorranno cimentare nell’analisi simultanea dell’eterogeneità dei gruppi e dell’associa- zione tra le modalità delle variabili. Il principale punto di riferimento di questo lavoro è stato l’articolo "On Joint Dimen- sion Reduction and Clustering of Categorical Data" [38], i cui autori sono stati tra i pochi ad applicare le tecniche di riduzione e raggruppamento dei dati categorici in maniera simultanea. Un altro punto di riferimento è stato l’articolo "Beyond Tandem Analysis: Joint dimension reduction and clustering in R" [46], in cui gli autori pre- sentano un paragone interessante tra gli esistenti metodi per il raggruppamento di dati multivariati categorici e non, con due relative applicazioni pratiche. L’analisi dei dati presentata nel Capitolo 5 è stata effettuata con l’aiuto del free software R [54], in particolare sfruttando le nozioni di codice del pacchetto clustrd. x
  • 12. xi
  • 13. Indice 1 Elementi di Cluster Analysis 1 1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Alla ricerca di una partizione . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 Una parte del tutto: il concetto di cluster . . . . . . . . . . . . 5 1.2.2 Ulteriori obiettivi della cluster analysis . . . . . . . . . . . . 6 1.3 Distanze, (dis)similarità e prossimità . . . . . . . . . . . . . . . . . . 6 1.3.1 La distanza euclidea . . . . . . . . . . . . . . . . . . . . . . 8 1.3.2 Altre misure di distanza . . . . . . . . . . . . . . . . . . . . 10 1.4 Algoritmi gerarchici e non gerarchici . . . . . . . . . . . . . . . . . . 11 1.4.1 Tra gli algoritmi non gerarchici: il metodo delle k-medie . . . 12 1.4.2 Un’estensione del metodo delle k-medie: fuzzy k-means . . . 15 1.5 Criteri di valutazione della partizione finale . . . . . . . . . . . . . . 18 1.5.1 Misure di validazione esterna . . . . . . . . . . . . . . . . . 19 1.5.2 Misure di validazione interna . . . . . . . . . . . . . . . . . . 21 1.6 In sintesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2 Analisi statistiche su dati qualitativi 23 2.1 Caratteristiche delle variabili qualitative . . . . . . . . . . . . . . . . 23 2.1.1 Classificazione . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.2 Organizzazione in dati . . . . . . . . . . . . . . . . . . . . . 24 2.1.3 Codifica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2 L’indice di eterogeneità di Gini . . . . . . . . . . . . . . . . . . . . . 29 2.2.1 Caso univariato . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2.2 Caso bivariato . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3 Indipendenza tra variabili qualitative . . . . . . . . . . . . . . . . . . 33 2.3.1 Indice di associazione χ2 di Pearson . . . . . . . . . . . . . . 34 2.3.2 Indice di associazione τ di Goodman e Kruskal . . . . . . . . 38 2.3.3 Test Chi-quadrato d’indipendenza . . . . . . . . . . . . . . . 40 2.4 Visualizzazione di una tabella di contingenza . . . . . . . . . . . . . 41 2.4.1 La distanza del Chi-quadrato . . . . . . . . . . . . . . . . . . 43 2.5 L’Analisi delle Corrispondenze . . . . . . . . . . . . . . . . . . . . . 44 2.5.1 Caratteristiche ed obiettivi del metodo . . . . . . . . . . . . . 44 2.5.2 Come funziona in pratica . . . . . . . . . . . . . . . . . . . . 45 2.5.3 L’Analisi delle Corrispondenze Multiple . . . . . . . . . . . . 49 2.5.4 L’Analisi delle Corrispondenze non Simmetrica . . . . . . . . 52 2.6 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 xii
  • 14. 3 Verso un approccio combinato 54 3.1 Cluster analysis per dati qualitativi . . . . . . . . . . . . . . . . . . . 54 3.2 Misure di diversità per dati qualitativi . . . . . . . . . . . . . . . . . 55 3.2.1 Misure di (dis)similarità per dati binari . . . . . . . . . . . . 55 3.2.2 Misure di (dis)similarità per dati qualitativi non binari . . . . 57 3.3 Il problema legato all’alta dimensionalità dei dati . . . . . . . . . . . 60 3.3.1 La "maledizione" della dimensionalità . . . . . . . . . . . . . 60 3.3.2 Differenti aspetti del problema nella cluster analysis . . . . . 62 3.3.3 Soluzioni al problema . . . . . . . . . . . . . . . . . . . . . 63 3.4 Metodi per dati categorici . . . . . . . . . . . . . . . . . . . . . . . . 65 3.4.1 Tandem Analysis . . . . . . . . . . . . . . . . . . . . . . . . 65 3.4.2 Iterative Factor Clustering per dati binari: i-FCB . . . . . . . 67 3.4.3 Cluster Correspondence Analysis: clusCA . . . . . . . . . . . 70 3.5 Differenze tra i metodi proposti . . . . . . . . . . . . . . . . . . . . . 74 3.6 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4 Fuzzy cluster correspondence analysis 76 4.1 Assegnazione delle osservazioni ai clusters . . . . . . . . . . . . . . 76 4.2 Dalla matrice F alla scomposizione . . . . . . . . . . . . . . . . . . . 77 4.3 Applicazione del fuzzy k-means sulle coordinate . . . . . . . . . . . 78 4.4 L’algoritmo riparte, con importanti modifiche . . . . . . . . . . . . . 80 4.4.1 La nuova forma della matrice DK . . . . . . . . . . . . . . . 80 4.4.2 Come cambia la funzione obiettivo? . . . . . . . . . . . . . . 81 4.4.3 L’importanza del vincolo di massima separabilità . . . . . . . 83 4.4.4 Generalizzazione al caso di più clusters . . . . . . . . . . . . 85 4.5 Sintesi dell’algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5 Applicazioni 88 5.1 Studio di simulazione . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.1.1 Fasi fondamentali di uno studio di simulazione . . . . . . . . 89 5.1.2 Caratteristiche dello studio . . . . . . . . . . . . . . . . . . . 90 5.1.3 Analisi di scenario . . . . . . . . . . . . . . . . . . . . . . . 92 5.2 Analisi di dati reali: dataset DermaDef . . . . . . . . . . . . . . . . . 96 5.2.1 I dati e le variabili . . . . . . . . . . . . . . . . . . . . . . . 97 5.2.2 ACM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.2.3 Tandem Analysis: ACM + fuzzy k-means . . . . . . . . . . . 98 5.2.4 Fuzzy i-FCB . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Conclusioni 102 A Dimostrazione 104 B Due scomposizioni matriciali 106 C Codici R 108 C.1 Cluster Correspondence Analysis . . . . . . . . . . . . . . . . . . . . 109 C.2 Fuzzy i-FCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 xiii
  • 15. Elenco delle tabelle 1.1 Matrice casi x variabili X . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Esempio di matrice di partizione Zk . . . . . . . . . . . . . . . . . . 4 1.3 Matrice di diversità D . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4 Struttura della K-partizione sfocata UK . . . . . . . . . . . . . . . . . 16 1.5 Confronto tra due partizioni P e P : matrice tetracorica . . . . . . . . 19 1.6 Confronto tra due partizioni P e P : matrice K ·K . . . . . . . . . . . 20 2.1 Distribuzione di frequenza di una variabile categorica X . . . . . . . . 24 2.2 Distribuzione doppia di frequenza . . . . . . . . . . . . . . . . . . . 25 2.3 Matrice in codifica ridotta C . . . . . . . . . . . . . . . . . . . . . . 27 2.4 Esempio di blocco della matrice indicatrice Z . . . . . . . . . . . . . 28 3.1 Co-occorrenza di attributi per due osservazioni i e i . . . . . . . . . . 55 3.2 Matrice di similarità per una singola variabile categorica . . . . . . . 58 3.3 Esempio di blocco della matrice F per una variabile a p modalità . . . 67 5.1 Confronto tra la reale struttura di gruppo presente nei dati simulati e quella ottenuta tramite la tandem analysis. . . . . . . . . . . . . . . . 94 5.2 Confronto tra la reale struttura di gruppo presente nei dati simulati e quella ottenuta tramite il fuzzy i-FCB. . . . . . . . . . . . . . . . . . 96 5.3 Confronto tra la reale struttura di gruppo presente nei dati e quella ottenuta tramite la tandem analysis sul dataset DermaDef. . . . . . . . 99 5.4 Confronto tra la reale struttura di gruppo presente nei dati e quella ottenuta tramite il fuzzy i-FCB sul dataset DermaDef. . . . . . . . . . 101 xiv
  • 16. Elenco delle figure 1.1 Clusters con coesione interna e/o separazione esterna . . . . . . . . . 5 1.2 Distanza della città a blocchi e distanza euclidea . . . . . . . . . . . . 11 1.3 Primo step del metodo delle k-medie . . . . . . . . . . . . . . . . . . 13 1.4 Secondo step del metodo delle k-medie . . . . . . . . . . . . . . . . 14 1.5 Terzo step del metodo delle k-medie . . . . . . . . . . . . . . . . . . 14 1.6 Esempi di funzioni di appartenenza . . . . . . . . . . . . . . . . . . . 16 2.1 Rappresentazione baricentrica triangolare . . . . . . . . . . . . . . . 42 2.2 La procedura matematica dell’Analisi delle Corrispondenze . . . . . . 45 3.1 La "maledizione" della dimensionalità . . . . . . . . . . . . . . . . . 61 3.2 Selezione delle variabili . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.3 Trasformazione delle variabili . . . . . . . . . . . . . . . . . . . . . 64 5.1 Applicazione dell’ACM al dataset simulato. . . . . . . . . . . . . . . 93 5.2 Applicazione della tandem analysis al dataset simulato. . . . . . . . . 94 5.3 Applicazione del fuzzy i-FCB al dataset simulato. . . . . . . . . . . . 95 5.4 Diagramma a barre verticali della variabile Class . . . . . . . . . . . 97 5.5 Applicazione dell’ACM al dataset DermaDef. . . . . . . . . . . . . . 98 5.6 Applicazione della tandem analysis al dataset DermaDef. . . . . . . . 99 5.7 Applicazione del fuzzy iFCB al dataset DermaDef. . . . . . . . . . . 100 B.1 Elementi geometrici della decomposizione in valori singolari. . . . . . 106 xv
  • 17. xvi
  • 18. Capitolo 1 Elementi di Cluster Analysis L’idea di dividere cose simili in categorie, ovvero di raggrupparle per produrre una classificazione, è da sempre una delle "attività" più basilari di ogni essere umano. [22] Trattare qualsiasi cosa come se appartenente ad un’unica grande entità, e magari non differenziarla da un insieme di altre cose, potrebbe risultare sbagliato, soprattutto per- chè non è detto che tutto ciò di cui si è circondati sia caratterizzato sempre dalle stesse proprietà: esiste, cioè, una certa componente di diversità a cui fare riferimento, che consente di non «fare di tutta l’erba un fascio». Inserendo tale problema in ambito statistico, una delle tecniche più utilizzate dagli stu- diosi dei dati che cerca di "smascherare" tale diversità è la cluster analysis (o cluste- ring), valida per riconoscere ed organizzare, appunto, differenti tipi di eventi, oggetti, persone, animali e tanto altro ancora. In questo primo capitolo, si presentano in ma- niera semplice le caratteristiche e gli obiettivi della cluster analysis, evidenziandone alcuni concetti importanti: quello di partizione, quello di cluster (classe, gruppo) e, con le dovute differenze, quello di diversità. Per renderne semplice la comprensione, si ritiene utile partire da due esempi. 1.1 Introduzione Si pensi ad un’azienda che vive in un mercato caratterizzato da forte concorrenza. Per attuare strategie di marketing vincenti, essa deve ricercare una serie di vantaggi competitivi, tra cui le informazioni relative al target a cui punta, decisivi per conosce- re i desideri/bisogni/problemi dei clienti e soddisfarli, così, in modo più efficace ed efficiente. Per questo motivo le ricerche di mercato sulla clientela sono importanti; riescono, infatti, a valutare le caratteristiche ed i comportamenti dei clienti, persona- lizzando l’offerta, in un’ottica di fidelizzazione ed aumento delle quantità dei prodotti venduti. I clienti, infatti, non sono tutti uguali, ma presentano preferenze, aspettati- ve, e comportamenti diversi. Lo strumento attraverso il quale l’azienda tiene conto di tutti questi aspetti psicologici, emotivi, comportamentali ecc., e raggruppa, appunto, i clienti attraverso le variabili che li rendono simili, prende il nome di segmentazione. A titolo di secondo esempio, si pensi ora ad un laboratorio di analisi che sta pensando di studiare la situazione clinica di un insieme di pazienti diabetici. Quest’ultima varia da paziente a paziente, visto che sono molteplici i segni ed i sintomi con i quali il dia- bete si presenta agli occhi dei medici, e non è detto che tutti i pazienti ne presentino le 1
  • 19. stesse caratteristiche. I pazienti non sono tutti uguali, ma presentano situazioni fami- liari, personali, ed abitudinarie diverse. Per distinguere, dunque, i soggetti analizzati in base ai sintomi rilevati (diagnosi) e magari anche al rischio di future complicanze dovute al diabete, il laboratorio decide di prendere in considerazione una serie di para- metri, tra cui quelli derivanti per esempio dall’analisi del movimento o dalle abitudini alimentari, utili per raccogliere informazioni e per proporre soluzioni al problema. In linea generale, procedimenti come la segmentazione empirica della clientela e la strutturazione della diagnosi per i pazienti, avvengono tramite l’utilizzo, da parte di chi sta effettuando l’analisi, di tecniche di data mining1 in grado di individuare rela- zioni, informazioni e schemi, che si trovano all’interno di grandi databases e che sono utili anche ai fini previsionali. Tra di esse, particolare rilievo assume la cluster ana- lysis (o analisi dei gruppi), che secondo Robert Tryon [61], colui che ne ha coniato il termine nel 1939, è «un insieme di tecniche di analisi multivariata dei dati volte alla selezione ed al raggruppamento di elementi omogenei in un insieme di dati». Formalmente, lo scopo di una qualsiasi tecnica di cluster analysis è quello di scopri- re la "naturale" struttura di gruppo di un set di osservazioni (clienti, per esempio, nel caso dell’azienda, e pazienti diabetici nel caso del laboratorio) descritte da un insieme di variabili: ognuna di queste tecniche, cioè, può essere interpretata come un metodo per estrarre informazioni dai dati, con una logica orientata alle osservazioni, assai di- versa da tutt’un’altra serie di metodi che si concentrano, invece, sulle variabili. Dato, quindi, un set di osservazioni sulle quali sono state misurate determinate variabili, si vogliono suddividere/distinguere gli elementi del primo in gruppi omogenei (rispetto alle ultime), anche detti clusters, andandone poi a studiare le caratteristiche in termini di informazioni condivise dagli appartenenti. I due esempi illustrativi e le poche righe di presentazione del metodo permettono di caratterizzare la cluster analysis con delle prime proprietà che la rendono una tecnica molto utilizzata dagli studiosi. La cluster analysis, infatti, è: • diffusa. Il marketing e la ricerca medica sono solo due dei possibili ambiti in cui essa è prevalente; in effetti c’è un grande interesse nel raggruppare cose dovuto al vasto ammontare di dati in settori che spaziano dall’astronomia alla psicologia, dall’informatica all’archeologia, ecc. [22]; • una metodologia non supervisionata. Essa ricerca nelle osservazioni una strut- tura, a gruppi, che non esiste o almeno non è nota a priori. Per questo motivo, si distingue dalla discriminazione (o analisi discriminante), la quale si concentra sul trovare dei confini ottimali sui gruppi da discriminare, e per la quale, quin- di, esiste già una struttura all’interno dei dati - l’obiettivo, infatti, è quello di assegnare correttamente ulteriori osservazioni al corrispondente gruppo; • conosciuta anche con il nome di classificazione automatica. Per trasformare, infatti, un numeroso complesso di unità di rilevazione in una serie coerente di in- formazioni restituite sotto forma di gruppi, c’è bisogno di algoritmi formalizzati e costruiti in base a criteri di ottimizzazione predefiniti (automatici). 1Per data mining si intende l’insieme delle tecniche e delle metodologie che hanno per oggetto l’estrazione di informazioni utili da grandi quantità di dati (ad esempio dai databases), attraverso metodi automatici o semi-automatici e l’utilizzo scientifico, aziendale/industriale o operativo delle stesse. 2
  • 20. 1.2 Alla ricerca di una partizione I dati base per la maggior parte delle applicazioni della cluster analysis sono rappre- sentati da una matrice, nota come matrice dei dati o anche come matrice casi per variabili, all’interno della quale sono riportati i valori delle q variabili - per semplicità di natura quantitativa - misurate sugli n casi. La matrice è, dunque, di dimensioni n·q: ciascuna riga contiene le q informazioni relative ad una determinata osservazione (ca- so), mentre ciascuna colonna contiene i valori assunti da un determinata variabile nelle diverse osservazioni. Volendo scrivere la matrice in simboli, si ha: X n,q = xij, per i = 1,2,3,...,n e j = 1,2,3,...,q (1.1) dove il generico elemento xij rappresenta il valore che la j-esima variabile assume in corrispondenza dell’ i-esima osservazione. In tabella 1.3 ne è illustrato un esempio. Tabella 1.1: Matrice casi x variabili X Casi Variabili Variabile 1 Variabile 2 Variabile 3 ... Variabile q Caso 1 x11 x12 x13 ... x1q Caso 2 x21 x22 x23 ... x2q Caso 3 x31 x32 x33 ... x3q ... ... ... ... ... ... Caso n xn1 xn2 xn3 ... xnq X può essere vista come un insieme di n vettori riga (di dimensioni 1 · q) contenenti ciascuno il profilo dell’i-esima osservazione, ovvero i valori che in essa assumono le q variabili osservate. In aggiunta, essa può essere vista come un insieme di q vettori co- lonna (di dimensioni n·1) contenenti ciascuno il profilo della j-esima variabile, ovvero i valori che essa assume per tutte le osservazioni. Queste caratteristiche sono molto importanti, perchè consentono di fare alcune considerazioni. Operando alcune trasformazioni sulla matrice X, il principale obiettivo della cluster analysis è quello di ricercare la partizione del collettivo di n osservazioni in k (con k < n ed intero, per k = 1,2,3,...,K) sottoinsiemi (appunto i clusters) tali che le os- servazioni appartenenti ad uno stesso sottoinsieme siano il più possibile omogenee tra loro rispetto alle misurazioni dell’insieme di variabili. È fondamentale definire, quin- di, il concetto di partizione, ricavabile dalla teoria degli insiemi [16], ed evidenziarne quelle che sono le proprietà salienti. Definizione 1.1. Una partizione P(E) di un insieme E è l’insieme delle parti o delle classi di E tale che: 1. Due elementi A e B della partizione sono disgiunti o coincidenti: A,B ∈ P(E) ⇒ A∩B = ∅ oppure A∪B = A = B 2. L’unione di tutte le parti esaurisce E: {A,B,...,Z} = P(E) ⇒ A∪B∪...∪Z = E 3
  • 21. La definizone 1.1, applicata alla cluster analysis, esplicita la suddivisione (la partizione P(E)) dell’insieme delle n osservazioni (E) in una serie di gruppi (le parti, le classi, i clusters), tali per cui: • ciascuno di essi non deve essere vuoto,2 deve cioè contenere un determinato numero di osservazioni. Per questo motivo la partizione si definisce rigida; • presi a due a due non devono avere nessun elemento in comune, ciascuna osser- vazione deve quindi appartenere ad uno ed un solo gruppo. A questo proposito la partizione si definisce senza sovrapposizione; • la loro unione deve ricostituire l’insieme di partenza; non vi devono essere ele- menti al di fuori dei gruppi e quindi dell’insieme di partenza. In questo caso la partizione si definisce esaustiva. Algebricamente parlando, la suddivisione delle n oosservazioni in k gruppi prende la forma di una matrice di dimensioni n · K, denominata matrice di partizione ed indicata con il simbolo Zk, che raccoglie l’appartenenza di ciascuna delle osservazioni al k-esimo gruppo, per k = 1,2,...,K. Essa è una matrice binaria le cui entrate zik assumono solamente due valori: zik = 1, se l’i-esima osservazione appartiene al k-esimo gruppo; 0, se l’i-esima osservazione non vi appartiene Così costruita, Zk (un esempio in Tabella 1.2) rispecchia le prime due considerazioni fatte precedentemente. In primo luogo, essa è tale per cui ogni colonna contiene alme- no un valore pari ad 1, e non ci sono righe contenenti solo valori pari a 0, indi per cui ciascun gruppo non è vuoto ma contiene informazioni sulle osservazioni. In secondo luogo, essa è tale per cui ciascuna riga contiene un unico valore pari ad 1 e tutti gli altri pari a 0, e ciò è esemplificativo del fatto che ciascuna osservazione è stata assegnata correttamente ad uno ed un solo gruppo. Tabella 1.2: Esempio di matrice di partizione Zk Casi Gruppi Gruppo 1 Gruppo 2 Gruppo 3 ... Gruppo K Caso 1 1 0 0 ... 0 Caso 2 0 0 1 ... 0 Caso 3 0 1 0 ... 0 ... ... ... ... ... ... Caso n 0 0 0 ... 1 Analizzandone, ora, i totali (di riga e di colonna), è possibile tenere conto anche della terza considerazione. Zk, infatti, è tale per cui i totali di riga - che rappresentano il numero di gruppi a cui un’osservazione può essere assegnata - sono tutti pari ad 1, mentre i totali di colonna - che sono delle frequenze assolute - rappresentano il numero 2In alcuni casi, l’esistenza di gruppi vuoti potrebbe compromettere i risultati delle analisi. 4
  • 22. di osservazioni appartenenti al k-esimo gruppo. Sommando, rispettivamente, i totali di riga ed i totali di colonna, si ottiene la numerosità n dell’insieme di partenza (ottenibile anche sommando tutti gli elementi presenti all’interno di Zk). In formule: n ∑ i=1 z.i = K ∑ k=1 zk. = n ∑ i=1 K ∑ k=1 zik = n (1.2) dove z.i rappresenta il totale marginale dell’i-esima riga e zk. rappresenta, invece, il totale marginale della k-esima colonna. È proprio considerando la somma di questi ultimi che si riesce a capire come l’unione delle parti ricostituisca il tutto. 1.2.1 Una parte del tutto: il concetto di cluster Fin qui, i termini "gruppo", "classe" e "cluster" sono stati utilizzati in maniera intuitiva senza alcun accenno ad una definizione formale. Infatti, sembra che essa non sia solo difficile da trovare, ma potrebbe addirittura non essere appropriata. Ciò che sicura- mente può essere di aiuto è il fatto che ciascun gruppo deve contenere al suo interno elementi che sono omogenei rispetto alle variabili osservate, come già definito. Uno dei contributi più interessanti al riguardo è quello di Cormack [17]. Egli tenta di definire ciò che un cluster rappresenta attraverso i concetti di coesione interna - omo- geneità - e di separazione esterna - eterogeneità. La coesione interna è la proprietà secondo cui le più piccole correlazioni tra le osservazioni accettate all’interno di un cluster devono essere più grandi di una determinata soglia: le osservazioni all’inter- no dei gruppi devono cioè condividere delle caratteristiche, presentare un qualcosa di simile tra di loro. La separazione esterna, invece, è la proprietà secondo cui le osser- vazioni che non hanno nulla di simile tra di loro devono essere posizionate in gruppi differenti: i gruppi devono essere il più possibile distinti, nel senso che deve essere osservabile una discontinuità tra di loro. L’obiettivo della cluster analysis è la massi- mizzazione congiunta di entrambe. Può risultare ora interessante visualizzare, al meno in maniera informale, queste due proprietà attraverso la Figura 1.1. Figura 1.1: Illustrazione dei concetti di coesione interna e separazione esterna dei gruppi: (a sinistra) i gruppi sono coesi ma non isolati; (al centro) i gruppi sono isolati ma non coesi; (a destra) i gruppi sono isolati e coesi. 5
  • 23. I clusters presenti in figura risultano chiari a chi li osserva anche senza alcuna defini- zione formale, e risulta anche chiaro che la situazione migliore è quella definita nella figura a destra, nella quale i clusters sembrano poter massimizzare sia la loro omo- geneità che l’eterogeneità tra di loro. Ciononostante, la figura indica che non esiste un’unica definizione valida per tutte le situazioni. Questo potrebbe spiegare il motivo per il quale ci sono stati numerosi tentativi per rendere matematicamente precisi i con- cetti di cui sopra, portando alla definizione di numerosi e diversi criteri. Non è perfettamente chiaro come dovrebbe essere riconosciuto un cluster, ma un valido ausilio è dato dalla valutazione delle relative diversità tra gli oggetti. 1.2.2 Ulteriori obiettivi della cluster analysis La definizione di partizione e la presentazione dei concetti di omogeneità e di ete- rogeneità hanno consentito di sviluppare un primo importante obiettivo della cluster analysis: l’identificazione di gruppi di osservazioni simili nei dati originari. Provvedendo, dunque, ad una partizione degli n oggetti in k gruppi, essa inoltre con- corre alla determinazione di due ulteriori obiettivi, da non trascurare: • descrizione ed esplorazione delle strutture interne ai dati, in particolare delle relazioni nell’insieme delle osservazioni. Essa è una tecnica di tipo descrittivo, perchè non ha le basi statistiche sulle quali fondare procedimenti inferenziali dal campione osservato alla popolazione, e perchè consente di suggerire delle interpretazioni circa il ruolo e l’effetto delle variabili presenti nei dati. Poichè è anche una tecnica esplorativa, essa postula che i dati potrebbero contenere gruppi distinti ma non parte da una precisa indicazione sul numero di gruppi già esistenti [33]; • sintesi (seppur parziale) delle informazioni contenute all’interno della matrice dei dati iniziali, attraverso la costruzione di pochi clusters. Essa, cioè, consente di ridurre all’essenziale il numero di informazioni, e di riportarle all’interno di ciascun cluster, attribuendo a quest’ultimo il significato di indicatore riassuntivo e di "rappresentante" per confronti, valutazioni, e decisioni. 1.3 Distanze, (dis)similarità e prossimità Lo studio delle diversità è un passaggio chiave in molte applicazioni del data mining. La forma più effettiva per il loro studio può essere espressa solamente nei termini di un particolare contesto, nel senso che dipende dalla tipologia di dati a disposizione, e risulta una sfida non banale riuscire a trovarla. [2] Nella cluster analysis, di centrale importanza nel tentativo di identificare gruppi omo- genei nei dati originari è la conoscenza di quanto vicine (o lontane) siano le osser- vazioni tra di loro. Generalmente, il punto di partenza per questo tipo di obiettivo è rappresentato dalla trasformazione della matrice dei dati X in una matrice di diversità D (simmetrica, semidefinita positiva e con valori nulli sulla diagonale principale) di dimensioni n · n (quindi anche quadrata), i cui elementi dii (per i = 1,2,...,n, e per i = 1,2,...,n) rappresentano una misura di come differiscono tra di loro due osser- vazioni a confronto, riflettono cioè una misura di vicinanza, più comunemente detta 6
  • 24. dissimilarità, distanza o similarità, e con un termine specifico che è prossimità [22]. In Tabella 1.3 è presente la struttura generale di D. Sostanzialmente, si fa il confronto fra tutte le n2 possibili coppie di osservazioni, ana- lizzandone le analogie e le differenze rispetto alle variabili osservate. Essendo poi D una matrice simmetrica e con n valori pari a 0 sulla diagonale principale, il numero di confronti di interesse è pari a n2−n 2 = n(n−1) 2 . Tabella 1.3: Matrice di diversità D Casi (i) Casi (i ) Caso 1 Caso 2 Caso 3 Caso 4 Caso 5 ... Caso n Caso 1 0 d12 d13 d14 d15 ... d1n Caso 2 d21 0 d23 d24 d25 ... d2n Caso 3 d31 d32 0 d34 d35 ... d3n Caso 4 d41 d42 d43 0 d45 ... d4n Caso 5 d51 d52 d53 d54 0 ... d5n ... ... ... ... ... ... ... ... Caso n dn1 dn2 dn3 dn4 dn5 ... 0 Il concetto di cluster presuppone l’esistenza di un criterio globale - un indice - che misuri la prossimità tra le osservazioni, e che sia quindi in grado di riempire le en- trate della matrice sopra indicata. Si può allora definire un’applicazione D che faccia corrispondere un numero reale positivo o nullo a ciascuna coppia (i,i ) appartenente all’insieme di dati considerato, e le seguenti condizioni, ad alcune delle quali sono collegate le caratteristiche di D: 1. Non negatività: D(i,i ) ≥ 0. L’applicazione D su due osservazioni i ed i deve essere un numero sempre positivo, al limite uguale a 0. 2. Separabilità, o coincidenza: (caso limite della condizione 1) D(i,i ) = 0 ⇔ i = i . L’applicazione D è uguale a 0 se e solo se le due osservazioni coincidono. Non a caso, gli elementi sulla diagonale principale della matrice D - che derivano dall’incrocio dell’i-esima osservazione con sè stessa - sono pari a 0; 3. Simmetria: D(i,i ) = D(i ,i). L’applicazione D tra i ed i assume lo stesso valore rispetto all’applicazione D calcolata tra i ed i. L’i-esima riga di D corrisponde, cioè, all’i-esima colonna. D è simmetrica; 4. Disuguaglianza triangolare, o sub-additività: D(i,i ) ≤ D(i,i ) + D(i ,i ). In un triangolo la lunghezza di un lato (distanza che intercorre tra due punti) non supera la somma delle lunghezze degli altri due (somma delle distanze tra tali punti ed un altro). Considerate, quindi, tre osservazioni nella matrice D, le cui applicazioni si incrociano tra di loro, si verifica che la somma di due applicazioni D (con D = 0, quindi per i = i ) all’interno della corrispondente sottomatrice - di dimensioni 3·3 - è sempre maggiore o uguale rispetto alla terza applicazione. D è, dunque, semidefinita positiva; 7
  • 25. 5. Disuguaglianza ultrametrica, o di Krassner: D(i,i ) ≤ sup(D(i,i ),D(i ,i )). L’applicazione D tra i ed i è minore o uguale rispetto all’applicazione più gran- de tra D(i,i ) e D(i ,i ). Questa condizione è detta anche del triangolo isoscele, perchè le lontananze che caratterizzano ciascuna terna di punti sono date dal triangolo isoscele la cui base è data dalla distanza dei punti più vicini tra loro. Considerate, quindi, tre osservazioni nella matrice D, le cui applicazioni si in- crociano tra di loro, si verifica che una delle tre possibili applicazioni D (con D = 0, quindi per i = i ), all’interno della sottomatrice di dimensioni 3 · 3, è sempre minore o uguale rispetto alla più grande tra le altre due. Si parlerà di indice di (dis)similarità se si verificano solamente le prime tre condizio- ni; esso assume valori sempre compresi nell’intervallo chiuso [0,1]3, può risultare nul- lo anche quando i = i , e consente il solo confronto tra le caratteristiche di coppie di ele- menti dell’insieme [24]. La matrice D assumerà il nome di matrice di (dis)similarità, e sarà soltanto simmetrica con elementi nulli sulla diagonale principale. Si parlerà di indice di distanza, o di metrica, se si verificano soltanto le prime quattro condizioni; esso può assumere qualsiasi valore non negativo, e consente la definizione di una relazione d’ordine tra le distanze tra i punti - ossia la determinazione di una "so- glia" che definisca una partizione dell’insieme iniziale in gruppi tale che un elemento si trovi in uno di essi a seconda che la distanza da tutti gli altri elementi rispettivamente sia minore o uguale della soglia fissata, o maggiore di questa [24]. In questo caso, la matrice D assumerà il nome di matrice delle distanze: essa sarà simmetrica, semide- finita positiva e con elementi sulla diagonale principale pari a 0. Si parlerà, infine, di ultrametrica se si verificano le condizioni 1, 2, 3 e 5. La cor- rispondente matrice D prenderà il nome di matrice delle distanze ultrametriche, e sarà simmetrica e con elementi sulla diagonale principale pari a 0, ma non semidefinita positiva. Tale matrice costituisce però a tutti gli effetti una matrice di distanze, perchè la disuguaglianza ultrametrica implica la disuguaglianza triangolare. La scelta della misura di diversità è strettamente legata alla natura dei dati, risultando infatti diverse le misure da adottare a seconda che le osservazioni siano descritte da variabili numeriche, da frequenze o da variabili non numeriche. Una scelta sbagliata della misura di diversità può, a sua volta, influenzare i risultati della cluster analysis. 1.3.1 La distanza euclidea Considerando che le n righe della matrice X sono rappresentabili come punti all’in- terno dello spazio a q dimensioni formato dalle variabili [24], è possibile calcolare le distanze all’interno dello stesso spazio tra tutte le coppie di osservazioni (i,i ), a partire dalle loro coordinate. Per raggiungere tale scopo, probabilmente la più nota e la più utilizzata misura di diversità è la distanza euclidea. Presi, quindi, due punti i ed i in uno spazio a q dimensioni, la loro distanza euclidea - risultante dall’applicazione del Teorema di Pitagora - è calcolata come la radice quadrata della somma dei quadrati 3Generalmente, un indice di similarità sii è il complemento ad 1 di un indice di dissimilarità δii . Due osservazioni i e i sono, quindi, vicine tra di loro se la loro misura di dissimilarità è piccola, o alternativamente se la loro misura di similarità è grande. Viceversa, sono lontane se la loro misura di (dis)similarità è piccola (grande). 8
  • 26. delle differenze tra i valori xij ed xi j delle variabili osservate rispettivamente per i ed i . In formule, si ha quanto segue: d2(i,i ) = q ∑ j=1 (xij −xi j)2 (1.3) Per j = 1,2,3 (cioè in uno spazio al massimo tridimensionale) risulta che d2(i,i ) rap- presenta il segmento che congiunge i rispettivi punti [31]. La particolarità della distanza euclidea sta nel fatto che essa è in grado di rendere euclidea una matrice di dissimilarità, nel senso che permette l’interpretazione delle dissimilarità come se fossero delle distanze fisiche. Dunque la distanza euclidea tra due punti i ed i è pari ad una misura di dissimilarità. Se una matrice di dissimilarità è euclidea, allora è anche metrica, ma non vale il contrario. Sostituendo le medie dei gruppi (note anche come centroidi) al posto dei valori del- le variabili nella (1.3), si costruisce una misura di distanza tra i gruppi, nota come distanza euclidea tra i gruppi: d2(k,k ) = q ∑ j=1 (xk j −xk j)2 (1.4) dove xk j e xk j sono i vettori delle medie (relative alle variabili osservate) dei gruppi presi a due a due. La distanza euclidea pesata Se le q variabili sono misurate attraverso differenti unità di misura, è necessario ri- scalarle per rendere i loro valori comparabili. Ciò equivale a calcolare la cosiddetta distanza euclidea pesata, che assume la seguente espressione: dw(i,i ) = q ∑ j=1 wj(xij −xi j)2 (1.5) dove wj rappresenta il peso attribuito alla j-esima variabile, e proviene da una matrice diagonale W (di dimensioni q·q) che ha elementi pari a wj sulla diagonale principale e nulli altrove. Questa matrice viene utilizzata per evidenziare la differente importanza delle variabili all’interno del processo. Se W è una matrice unitaria, cioè se tutte le variabili hanno lo stesso peso pari ad 1, allora la (1.5) si riduce alla (1.3). Un modo alternativo per scrivere la (1.5) è: dw(i,i ) = q ∑ j=1 (x∗ ij −x∗ i j )2 (1.6) con x∗ ij = xij · wj che rappresenta il valore pesato della j-esima variabile misurata per l’i-esima osservazione. Esistono due metodi per scegliere i valori dei pesi wj: 1) in maniera soggettiva, nel senso che il ricercatore è libero di pesare le variabili secondo considerazioni al di fuori dei dati; 2) i pesi sono scelti in maniera inversamente proporzionale alle varianze delle variabili, e quindi sono scelti dai dati. 9
  • 27. Caso particolare: la distanza di Mahalanobis Quando si definisce la distanza euclidea, si suppone che le variabili non siano mu- tualmente correlate, ossia che non abbiano nessuna relazione lineare prese a due a due. Quando questa assunzione è violata, si potrebbe verificare una distorsione nella computazione delle distanze tra le osservazioni. In tal caso, è applicata solitamente la distanza di Mahalanobis, definita come: dΣ(i,i ) = (xi −xi )T Σ−1 M (xi −xi ) (1.7) che è una variante generalizzata della distanza euclidea. La matrice ΣM rappresenta la matrice di varianze e covarianze delle variabili calcolata nel seguente modo: ΣM = 1 n n ∑ i=1 (xi −xj)(xi −xj)T (1.8) con xj = 1 n ∑n i=1 xi pari al vettore delle medie delle variabili. Quando le variabili sono indipendenti, la matrice ΣM è diagonale: gli elementi diversi da 0 presenti sulla diago- nale principale sono uguali alle varianze delle variabili. La risultante misura è perciò definita distanza euclidea normalizzata. La distanza di Mahalanobis è invariante rispetto a trasformazioni lineari delle variabili originarie, e viene utilizzata per l’identificazione delle osservazioni atipiche (outliers) all’interno dei dati. Esiste, inoltre, una versione di tale distanza riferibile ai gruppi, che tiene conto dei rispettivi centroidi; essa assume la seguente espressione: dΣ(k,k ) = (xk −xk )T Σ−1 M (xk −xk ) (1.9) dove ΣM ora rappresenta la matrice di varianze e covarianze riferite ai gruppi presi a due a due. Essa aumenta all’aumentare delle distanze tra i centri dei gruppi, ed al diminuire della varianza entro i gruppi. Tiene, infine, conto della forma (possibilmente non sferica) dei clusters. [22] 1.3.2 Altre misure di distanza Tra le misure di distanza utilizzate nel caso di osservazioni descritte da variabili quan- titative rientrano anche altre due misure non meno frequenti rispetto alla distanza euclidea. La distanza City block Detta anche distanza rettilineare (o metrica di Manhattan), è così chiamata in quanto rappresenta la distanza che deve coprire un individuo che si muova in una città di blocchi rettangolari, con strade tra di loro perpendicolari o parallele. L’individuo non può attraversare diagonalmente la città, ma si deve muovere lungo una dimensione alla volta del blocco (Figura 1.2). La sua espressione è: d1(i,i ) = q ∑ j=1 |xij −xi j| (1.10) 10
  • 28. rappresentante la somma delle differenze assolute delle coordinate dei due punti. L’am- piezza dei blocchi non influenza le distance nello spazio. Si noti anche che tra due punti esistono molti percorsi della stessa lunghezza. Figura 1.2: Nella metrica di Manhattan, i percorsi in rosso, blu e giallo hanno tutti la stessa lunghezza più breve pari a 12; nella distanza euclidea, il percorso in verde è l’unico più breve, ed ha lunghezza pari a 6 √ 2=8.49. La distanza di Minkowsky Può essere considerata come una metrica generale a cui si riconducono sia la metri- ca euclidea che la metrica di Manhattan, mediante scelte particolari del valore di un parametro θ. La distanza tra due punti i ed i è definita nel modo seguente: dθ (i,i ) = (∑ j |xij −xi j|θ ) 1 θ (1.11) in cui la scelta di θ dipende dal rilievo che si vuole dare alle differenze più grandi: maggiore è θ, maggiore è l’enfasi che si dà alle differenze |xij −xi j| più grandi. Per θ = 1 la (1.11) si riduce alla formula della distanza di Manhattan, mentre per θ = 2 l’espressione risultante è quella della metrica euclidea. 1.4 Algoritmi gerarchici e non gerarchici Un altro passo importante, che caratterizza la cluster analysis, è la scelta del metodo di formazione dei gruppi che porta alla partizione finale. Le due metodologie di cluster analysis largamente utilizzate, che costituiscono le solide fondamenta di quest’ultima, sono di tipo partizionale e gerarchico. Queste vengono utilizzate nella maggior parte delle applicazioni in virtù della loro facilità e semplicità di implementazione, rispetto ad altre tecniche. [3] I metodi di tipo partizionale (anche chiamati di tipo non-gerarchico) si propongo- no di scoprire i raggruppamenti presenti nei dati, ottimizzando una specifica funzione obiettivo (per esempio la variabilità entro i gruppi) e migliorando in maniera iterativa la 11
  • 29. qualità delle partizioni. Questi metodi, generalmente, richiedono la pre-specificazione da parte del ricercatore di alcuni parametri sia per scegliere il numero di gruppi in cui suddividere le osservazioni di partenza, sia per scegliere i punti rappresentativi di ciascun cluster, i quali sono scelti in differenti iterazioni e possono essere dei punti "virtuali" - come i centroidi dei clusters - nel senso che non esistono nei dati. Inoltre hanno il vantaggio di ricercare dei clusters compatti di forma sferica. I metodi di tipo gerarchico, invece, approcciano al problema del raggruppamento svi- luppando dati strutturati "ad albero" con il cosiddetto dendrogramma, il quale mostra la topologia del raggruppamento e non i legami tra le osservazioni [43]. Essi possono essere inizializzati attraverso i dati individuali, ed una volta costruito il dendrogramma, il ricercatore può scegliere il corretto numero di clusters suddividendo l’albero a diffe- renti livelli, per ottenere differenti soluzioni sullo stesso set di dati senza riprocessare l’algoritmo. Essi possono, inoltre, funzionare in due modi, agglomerativo o divisivo, a seconda del criterio utilizzato nel processo. Infine, essi abbisognano del calcolo delle matrici delle (dis)similarità o delle distanze D. Tra le due tipologie di metodi, per sviluppare la metodologia presentata nella tesi, la scelta ricade sui metodi non gerarchici. Questi ultimi, rispetto ai metodi gerarchici, ri- sentono meno della presenza di errori di misura; operano una suddivisione diretta delle osservazioni in gruppi (perchè non costruiscono una gerarchia innestata di partizioni), assegnando le prime agli ultimi in maniera non irrevocabile (nel senso che le osserva- zioni vengono riassegnate ad un diverso cluster se l’allocazione iniziale risulta inappro- priata); possono fare a meno del calcolo della matrice D (risparmio computazionale, quindi convergenza abbastanza veloce). 1.4.1 Tra gli algoritmi non gerarchici: il metodo delle k-medie Il metodo delle k-medie [45] costituisce l’algoritmo di cluster analysis non gerarchica di uso più comune che permette, a partire dalla matrice dei dati X, di suddividere un insieme di n osservazioni in k = 1,2,3,...,K gruppi sulla base dei loro attributi, in modo da rispettare i principi della coesione interna e della separazione esterna. Date, quindi, n osservazioni misurate su j = 1,2,3,...,q variabili quantitative e modellizzatie come vettori in uno spazio q-dimensionale, il metodo conduce ad una diretta partizione di esse in k = 1,2,3,...,K gruppi distinti, con k fissato a priori: ovviamente, deve valere che 1 < k < n, nel senso che il numero di gruppi da ricercare non deve essere nè pari ad 1 nè pari ad n ma un numero compreso tra i due. La funzione obiettivo La procedura che il metodo utilizza per raggruppare le osservazioni in maniera tale che ognuna di essa venga assegnata esclusivamente ad uno ed un solo gruppo è di tipo iterativo, e si basa sulla minimizzazione di una funzione obiettivo (in questo caso una funzione quadratica di errore) rappresentata dalla somma delle distanze al quadrato tra i punti ed i centroidi dei clusters: J = K ∑ k=1 n ∑ i=1 ||xi −ck||2 (1.12) 12
  • 30. dove ||xi − ck||2 rappresenta generalmente la distanza euclidea (è quella che garanti- sce la migliore convergenza dell’algoritmo iterativo) tra il valore xi della variabile per l’osservazione i-esima ed il centroide ck del k-esimo gruppo. Con l’utilizzo della distanza euclidea, il metodo delle k-medie ha come obiettivo im- plicito la ricerca della partizione (con k clusters) che soddisfa un criterio di coesione interna fondato sulla devianza nei gruppi, ossia sulla minimizzazione della quantità W = K ∑ k=1 q ∑ j=1 nk ∑ i=1 (xij −ck)2 (1.13) dove W è la devianza nei gruppi, ed nk è la numerosità del k-esimo gruppo. Se si volesse adottare, ad esempio, la distanza City block, occorrerebbe calcolare la distanza tra ciascun elemento ed i vettori q-dimensionali che hanno per coordinate le mediane (anzichè le medie) delle variabili in ciascun gruppo. Tali vettori costituisco- no una versione robusta dei centroidi, in quanto non sono influenzati dall’eventuale presenza di valori anomali. [40] Le fasi dell’algoritmo Le fasi che compongono l’algoritmo alla base del metodo delle k-medie, le quali si susseguono in maniera iterativa, sono le seguenti [64]: 1. si scelgono k = 1,2,3,...,K "poli" iniziali, cioè k punti abbastanza distanti tra di loro nello spazio q-dimensionale che costituiscono i centroidi dei clusters nella partizione iniziale. Si costruisce la partizione iniziale, costituita da k gruppi, allocando ciascuna osservazione al cluster il cui polo risulta il più vicino; Figura 1.3: Primo step del metodo delle k-medie. Fonte: [49] 2. per ogni elemento si calcola la distanza dai centroidi dei k gruppi: se la distanza minima non è ottenuta in corrispondenza del centroide del gruppo di appartenen- za, l’osservazione è assegnata al cluster corrispondente al centroide più vicino. In caso di riallocazione di un’osservazione, si ricalcola il centroide sia del nuovo che del vecchio gruppo di appartenenza; 13
  • 31. Figura 1.4: Secondo step del metodo delle k-medie. Fonte: [49] 3. si ripete il passo 2 sino a quando non è raggiunta la convergenza dell’algoritmo, cioè finchè non si verifica alcuna modificazione dei poli - e quindi dei grup- pi - rispetto all’iterazione precedente, od anche finchè il valore della funzione obiettivo non decresce oltre una certa soglia prefissata. Figura 1.5: Terzo step del metodo delle k-medie. Fonte: [49] Sebbene possa essere dimostrato che la procedura iterativa terminerà sempre, l’algorit- mo delle k-medie non trova necessariamente la configurazione ottimale, che corrispon- de al minimo globale della funzione obiettivo. L’algoritmo, inoltre, è anche sensibile in maniera significativa alla scelta casuale iniziale dei centroidi, e può condurre ad una soluzione ben peggiore dell’ottimo globale; per ridurre questo effetto bisogna eseguire l’algoritmo molte volte, provando a scegliere dei poli iniziali diversi. Come scegliere i poli della partizione iniziale? Una volta determinato il numero di gruppi attraverso i quali suddividere le n osserva- zioni (non oggetto di approfondimento), occorre individuare i poli che costituiscono i 14
  • 32. centroidi dei clusters nella partizione iniziale. Un criterio poco dispendioso consiste nell’individuare come semi iniziali le prime K osservazioni dell’insieme dei dati; un metodo leggermente più formalizzato conduce, invece, all’estrazione di un campione casuale (o sistematico) di K osservazioni dalle n iniziali. Entrambe le regole, però, non risultano molto soddisfacenti perchè non sono in grado di garantire che i semi inizia- li siano effettivamente rappresentativi dell’intera nuvola di punti multidimensionale: tale requisito è di notevole importanza nelle applicazioni reali, perchè consente di mi- gliorare significativamente la velocità di convergenza dell’algoritmo. A questo punto, quindi, la rappresentatività dei poli viene ottenuta attraverso la ricerca di osservazioni sufficientemente equispaziate nello spazio pieno (utilizzando, ad esempio, anche una soglia minima fissata a priori). 1.4.2 Un’estensione del metodo delle k-medie: fuzzy k-means Il semplice contesto in cui è inserito k-medie, rende quest’ultimo un metodo molto flessibile da modificare, e mette in gioco la possibilità di costruire algoritmi molto più efficienti partendo da esso [3]. Una delle possibili variazioni proposte per il metodo consiste nell’assegnazione di gradi di appartenenza alle nosservazioni in due o più classi latenti, i quali costituiscono a tutti gli effetti dei parametri da stimare all’interno del processo di cluster analysis [22]. Sostanzialmente, questo nuovo algoritmo si libera dell’assunzione secondo cui ciascuna delle n osservazioni deve appartenere ad uno ed un solo cluster, e consente l’appartenenza anche a più di 2 clusters: quanto detto rientra a pieno all’interno di una serie di metodi - GOM, o Grade of membership - che fanno capo al fuzzy clustering. Ad essi è stata dedicata in letteratura un’attenzione molto minore rispetto a quella dei metodi che individuano partizioni senza sovrapposizione: le ragioni sono da ricercarsi nelle incertezze alle quali può dare luogo l’attribuzione di una medesima osservazione a due o più clusters. [24] Prima di analizzare uno dei più utilizzati algoritmi inseriti all’interno di questa clas- se di metodi, è necessario introdurre alcune nozioni relative all’idea sottostante la classificazione sfocata, così come definita in molte applicazioni. Fuzzy clustering Si consideri la seguente domanda: "l’individuo i è alto quasi due metri?". C’è una pic- cola componente di dubbio sulla risposta che ci si aspetta - si, o no - e la parola quasi è fonte di incertezza in base al modo in cui si determina la risposta; nel caso specifico si dovrebbe prima decidere il significato di "quasi due metri", e poi estrarre da esso abbastanza informazione per prendere una decisione. È senza dubbio vero che questo dilemma può essere superato attraverso un’apposita convenzione che riguarda il signi- ficato di "quasi due metri", ma nella situazione specifica c’è un elemento di incertezza non-statistica (detta fuzziness), non causato nè da un errore di misurazione nè da un risultato casuale [10]. Quanto appena detto è esemplificativo del fatto che nel fuzzy clustering (così denominato perchè prevale una componente di incertezza, sfocatura), le osservazioni non sono assegnate ad un particolare cluster: esse bensì possiedono una funzione di appartenenza (alcune sono indicate in Figura 1.6), la quale assume valori nell’intervallo [0,1] che indicano il grado di appartenenza di ciascuna delle n osservazioni in tutti o in alcuni dei clusters [22]. In questo tipo di raggruppamento si 15
  • 33. assume che due osservazioni siano tra loro tanto più simili quanto più prossimo ad 1 è il valore della loro funzione di appartenenza al medesimo cluster [68]. Figura 1.6: Esempi di funzioni di appartenenza. Fonte: [39] A questo proposito, assume un ruolo centrale il concetto di K-partizione sfocata, illustrato anche con l’ausilio della Tabella 1.4. Definizione 1.2. Si definisce K-partizione sfocata di n osservazioni la seguente ma- trice, di dimensioni n·K: UK = [uik, per i = 1,2,3,...,n e k = 1,2,3,...,K] (1.14) ove uik è il valore della funzione di appartenenza dell’i-esima osservazione al cluster k-esimo, soggetto ai seguenti due vincoli: 0 ≤ uik ≤ 1 ed anche K ∑ k=1 uik = 1 dove il primo indica che i valori della funzione di appartenenza devono essere com- presi o uguali tra 0 ed 1; il secondo, invece, indica che per ogni osservazione ci sono possibilità di appartenere al k-esimo cluster che sommano ad 1. Tabella 1.4: Struttura della K-partizione sfocata UK Casi Gruppi Gruppo 1 Gruppo 2 Gruppo 3 ... Gruppo K Caso 1 u11 u12 u13 ... u1K Caso 2 u21 u22 u23 ... u2K Caso 3 u31 u32 u33 ... u3K ... ... ... ... ... ... Caso n un1 un2 un3 ... unK La matrice Uk è tale per cui i marginali di riga risultano essere tutti pari ad 1 (stes- sa caratteristica della matrice ZK), in virtù del secondo vincolo; mentre i marginali 16
  • 34. di colonna non rappresentano più le ampiezze dei clusters, ma una misura assoluta dell’incertezza all’interno di ognuno di essi. Inoltre, come nel caso della matrice ZK, risulta che la somma dei marginali di riga e di colonna (così come la somma di tutti gli elementi al suo interno) è pari ad n. Quindi: K ∑ k=1 n ∑ i=1 uik = K ∑ k=1 uk. = n ∑ i=1 u.i = n (1.15) dove uk. rappresenta il marginale della k-esima colonna, mentre u.i rappresenta il mar- ginale della i-esima riga. Gli algoritmi di fuzzy clustering, dunque, si propongono di ottenere, in base alle q va- riabili osservate, una K-partizione sfocata che ottimizzi un determinato criterio (come quello dei metodi non gerarchici). Fuzzy k-means Sia allora uik il valore della funzione di appartenenza per l’i-esima osservazione al- l’interno del k-esimo gruppo, che soddisfa i vincoli di cui sopra. Si denoti con ck il centroide del k-esimo gruppo, e con m uno scalare (indicato come fuzzifier) che agisce da peso [36] e che influenza la distribuzione finale delle memberships. Supponendo che la matrice dei dati X sia nota, l’algoritmo del fuzzy k-means è equi- valente alla minimizzazione della seguente funzione obiettivo rispetto a ck ed a uik: Jfuzzy = K ∑ k=1 n ∑ i=1 um ik(xi −ck)2 (1.16) dove la differenza (xi − ck)2 rappresenta generalmente la distanza euclidea tra i punti ed i centroidi dei gruppi. Questi ultimi sono calcolati come medie ponderate rispetto ai valori xi delle variabili, ed ai livelli di appartenenza al relativo cluster ck = ∑n i=1 um ikxi ∑n i=1 um ik ; (1.17) I valori uik, invece, sono proporzionali alla distanza tra i punti ed i centroidi dei clusters, e sono calcolati come segue: uik =    ∑K k=1( ||xi−ck|| ||xi−c k ||) 2 m−1 −1 , se ||xi −ck|| > 0; 1, se ||xi −ck|| = 0 Si noti che, in tutte le espressioni ricavate, X può essere una qualunque matrice usata per la classificazione dei rispondenti. Inoltre, quando m = 1 e uik = 1 oppure uik = 0 (appartenenza binaria), la funzione obiettivo del metodo si riduce a quella del k- medie. La minimizzazione della 1.16 per m > 1 può essere raggiunta utilizzando una procedura alternata di ottimizzazione (per esempio un algoritmo ALS, cfr paragrafo 2.5.3), che aggiorna ripetutamente uik e ck: il processo può iniziare sia dando dei valori iniziali casuali alla matrice UK, sia dando dei valori iniziali casuali per i vettori ck, e continua finchè i valori di UK nelle successive iterazioni differiscono di poco. 17
  • 35. Il processo, cioè, si ferma con valori di UK tali che la differenza tra questi ultimi in una iterazione e quella precedente sia minore di una soglia ε ||Uiter+1 K −Uiter K || < ε (1.18) dove ε è un numero piccolo positivo scelto dal ricercatore. [32] Nel fuzzy k-means, il valore di m dovrebbe essere noto a priori. Comunque, valori di m prossimi ad 1 porteranno ad una matrice di partizione in cui tutte le memberships sa- ranno vicine a 0 o ad 1; contrariamente, valori di m eccessivamente grandi porteranno a sovrapposizioni sproporzionate, e tutte le memberships avranno valori prossimi a 1 K . Di conseguenza, nessuno di questi valori di m è consigliato. Sebbene ci siano state alcune procedure euristiche per la determinazione di m, sembra che non esista un me- todo formale per la scelta. Nelle applicazioni pratiche, m = 2 è la scelta più sensata quando si tratta di algoritmi di fuzzy cluster analysis. Vantaggi del fuzzy clustering legati alle memberships Nella maggior parte delle tecniche di clustering, tra le quali anche il metodo delle k- medie, il grado di appartenenza assume valori pari agli estremi 0 o 1 dell’intervallo, a seconda che l’osservazione appartenga o meno al k-esimo cluster. Nel gergo della cluster analysis, i metodi per i quali il grado di appartenenza è esattamente pari a 0 od 1 sono conosciuti come metodi crisp. Rispetto a questi ultimi, il contesto fuzzy ha due vantaggi notevoli: in primo luogo, l’appartenenza può essere combinata con ulteriori informazioni, quando essa rappresenta una probabilità4; in secondo luogo, le appartenenze indicano per un’osservazione la possibile esistenza di un secondo miglior gruppo che è tanto buono quanto il migliore, e questo fenomeno è spesso nascosto quando si utilizzano altre tecniche di cluster analysis. In una fuzzy cluster analysis, il numero di sottoinsiemi è noto a priori, e la funzione di appartenenza di ciascuna osservazione in ogni cluster è stimata usando un metodo iterativo, di solito una tecnica di ottimizzazione basata su una funzione obiettivo. 1.5 Criteri di valutazione della partizione finale In quanto tecnica di analisi non supervisionata, per la cluster analysis è necessario trovare un modo per validare la bontà della partizione finale ottenuta alla fine del pro- cesso. La validazione della cluster analysis è stata a lungo riconosciuta come una delle questioni di vitale importanza per la buona riuscita di essa. Nonostante i notevoli sforzi fatti per risolvere questo problema, non c’è una soluzione consistente e conclusiva a tale validazione. Le migliori misure adatte, da utilizzare in pratica, rimangono igno- te. In effetti, ci sono molti problemi impegnativi che non sono stati completamente affrontati nella letteratura sulla cluster analysis, per esempio quello relativo alla poca chiarezza della relazione tra le differenti misure di validazione, oppure quello relativo alla selezione delle misure da utilizare (che deriva dalle proprietà intrinseche di queste 4In generale, i gradi di appartenenza non rispettano le regole della teoria probabilistica [67], sebbene, una volta stimati, essi possano essere riscalati in modo tale da essere compresi nell’intervallo [0,1] e possono essere interpretati come probabilità. 18
  • 36. ultime). Infine, dato che differenti misure di validazione potrebbero essere appropriate a seconda del tipo di algoritmo utilizzato, è necessario provvedere ad uno studio che si focalizzi di più su questo aspetto. [3] Generalmente, le misure di validazione dei risultati della cluster analysis si suddivido- no i due grandi gruppi: • misure di validazione esterna, che utilizzano informazioni non presenti nei da- ti per valutare fino a che punto la naturale struttura di gruppo rivelata da un algoritmo corrisponde ad una struttura esterna, per esempio quella specificata dalle "etichette" date ai gruppi. Esse partono dalla conoscenza a priori della "ve- ra" struttura di gruppo (che normalmente nota non è), e quindi possono essere utilizzate per scegliere l’algoritmo ottimale per uno specifico dataset; • misure di validazione interna, che valutano la bontà di una struttura di gruppo, e possono essere utilizzate per scegliere il miglior algoritmo per un dataset, senza il bisogno di informazioni esterne. Esse, in particolare, valutano fino a che punto i gruppi sono in grado di soddisfare (tra gli altri) i criteri definiti da Cormack [17] (cfr paragrafo 1.2.1), ossia la coesione e l’isolamento [22]. Sebbene entrambe siano cruciali per molti scenari applicativi, la principale differenza tra le due sta nella possibilità o meno di utilizzare informazioni esterne per la vali- dazione dei risultati. Inoltre, quando le informazioni esterne non sono disponibili, le seconde sono l’unica opzione. 1.5.1 Misure di validazione esterna Nella letteratura esistono numerose misure di validazione esterna per la cluster analy- sis. In questo paragrafo si presentano, in particolare, due misure, valide per l’algoritmo del k-medie. Tali misure rappresentano un buon inizio per la valutazione dei risultati ottenuti, in campi differenti come il data mining od il recupero delle informazioni (in- formation retrieval). Ciò che le accomuna è il fatto che esse possono essere calcolate a partire dalla seguente matrice di contingenza tetracorica (Tabella 1.5) Tabella 1.5: Confronto tra due partizioni P e P : matrice tetracorica Partizione P Valore 1 0 Totale Partizione P 1 n11 n10 n1. 0 n01 n00 n0. Totale n.1 n.0 n·(n−1) 2 = n11 +n10 +n01 +n00 la quale confronta la partizione P, ottenuta per esempio tramite il metodo delle k- medie, con una partizione P , generata a partire dalla "vera" struttura di gruppo nei dati (nota a priori); per ogni partizione, a ciascuna coppia di osservazioni può essere associata una variabile indicatrice che assume valore 1 se la coppia è costituita da elementi appartenenti allo stesso gruppo in entrambe le partizioni, e valore 0 se la coppia è costituita da elementi appartenenti a gruppi distinti [68]. Tale matrice, quindi, 19
  • 37. contiene le informazioni relative alla sovrapposizione tra coppie di osservazioni nelle due partizioni. I suoi elementi rappresentano, rispettivamente: • n11, il numero di coppie di osservazioni che appartengono allo stesso gruppo per entrambe le partizioni P e P ; • n10, il numero di coppie di osservazioni che appartengono allo stesso gruppo in P ma appartengono a gruppi diversi in P ; • n01, il numero di coppie di osservazioni che appartengono allo stesso gruppo in P ma appartengono a gruppi diversi in P; • n00, il numero di coppie di osservazioni che appartengono a gruppi diversi per entrambe le partizioni P e P . dove le quantità n11 ed n00 sono il numero di coppie di osservazioni "trattate" in mo- do analogo nelle due partizioni (misura di accordo), e le quantità n10 ed n01 sono il numero di coppie trattate in modo diverso nelle due partizioni (misura di disaccordo). Ovviamente, valgono le seguenti relazioni: n1. = n11 +n10 ed anche n.1 = n11 +n01 n0. = n01 +n00 ed anche n.0 = n10 +n00 valide, rispettivamente, per P e P . I marginali di riga coincidono con il numero di coppie assegnate correttamente e non correttamente a P, mentre i marginali di colonna coincidono con il numero di coppie assegnate correttamente e non correttamente a P . Il totale generale della tabella è pari al numero di possibili confonti tra coppie di os- servazioni, n(n−1) 2 . Alternativamente, ed in maniera più diretta, il confronto tra le due partizioni P e P può essere portato avanti a partire da una seconda matrice di contingenza (Tabella 1.6), tetracorica quando il numero di clusters è pari a 2, così costruita Tabella 1.6: Confronto tra due partizioni P e P : matrice K ·K Partizione P Partizione P Cluster 1 Cluster 2 Cluster 3 ... Cluster K Totale Cluster 1 n11 n12 n13 ... n1K n1. Cluster 2 n21 n22 n23 ... n2K n2. Cluster 3 n31 n32 n33 ... n3K n3. ... ... ... ... ... ... ... Cluster K nK1 nK2 nK3 ... nKK nK. Totale n.1 n.2 n.3 ... n.K n per k = 1,2,3,...,K e k = 1,2,3,...,K . Il generico elemento nkk di tale matrice rap- presenta, questa volta, il numero di osservazioni raggruppate simultaneamente nel k- esimo cluster di P e nel k -esimo cluster di P . I marginali di riga nk. sono le numerosità 20
  • 38. del k-esimo cluster di P, mentra i marginali di colonna n.k sono le numerosità del k - esimo cluster di P . Il totale della tabella è pari ad n. Il vantaggio della costruzione di questa seconda tabella, rispetto alla prima, sta sem- plicemente nel fatto che è possibile non calcolare i confronti tra tutte le coppie di osservazioni, poichè disagevoli da gestire al crescere di n. A partire da ciascuna delle due tabelle proposte, si presentano ora due misure di validazione strettamente collegate tra di loro, l’una la correzione dell’altra. Indice di Rand L’indice di Rand [53] è il più popolare tra gli indici di validazione esterna, ed è calcolato a partire dalla prima matrice. Esso è definito come: RI = n11 +n00 n(n−1) 2 (1.19) ossia come la frequenza dell’occorrenza del numero di accordi sul numero di coppie totali, oppure come la probabilità che entrambe le partizioni si troveranno in accordo su una coppia di osservazioni scelta a caso. L’indice assume valori nell’intervallo [0,1], con il minimo che si verifica quando le due partizioni non sono in accordo su ogni coppia di osservazioni (ciò avviene, ad esempio, se P è costituita da un unico gruppo di n osservazioni, e P è costituita da n gruppi di una sola osservazione ciascuno), ed il massimo che si verifica quando entrambe le partizioni sono identiche (solo se k = k ). Indice di Rand corretto L’indice di Rand corretto (o ARI) [34], invece, è calcolato a partire dalla seconda matrice, e costituisce la versione corretta - per situazioni di casualità - della (1.19). Tale correzione stabilisce una linea di base attraverso l’utilizzo della similarità attesa di tutti i confronti di coppia tra le partizioni, specificate da un modello casuale. In formule, si ha che l’indice è pari a: ARI = Indice− Indice Atteso Indice Massimo− Indice Atteso = ∑kk n kk 2 − ∑k nk 2 ∑k n k 2 / n 2 1 2 ∑k nk 2 +∑k n k 2 − ∑k nk 2 ∑k n k 2 / n 2 dove i valori sono presi dalla Tabella 1.6. L’indice è limitato superiormente da 1, ed è uguale a 0 se Indice = Indice Atteso. Può, inoltre, assumere valori negativi. 1.5.2 Misure di validazione interna Nella letteratura, esiste un’ampia gamma anche di misure di validazione interna. Tali misure cercano di rispettare l’obiettivo di fondo della cluster analysis, cioè quello di ottenere gruppi che contengano osservazioni simili al loro interno, e che si differenzino tra di loro. Due sono, in particolare, i criteri su cui si basano tutte le misure: 21
  • 39. • compattezza, che indica quanto vicine siano le osservazioni all’interno dello stes- so cluster, sia attraverso il calcolo della varianza (bassi valori di quest’ultima indicano migliore compattezza), sia attraverso il calcolo delle distanze; • separazione, che indica quanto distinto o ben separato sia un cluster rispetto a tutti gli altri. Una delle tante misure, quindi, può essere quella rappresentata dalla scomposizione della devianza totale delle q variabili, e conseguentemente dall’indice R2 = 1− W T = B T (1.20) dove T è la devianza totale, W è la devianza within e B è la devianza between; le ri- spettive formule sono definite in [68]. Tale indice misura la quota di variabilità totale nella matrice dei dati (considerando tutte le variabili) che può essere spiegata dalla par- tizione considerata. Esso, inoltre, assume valori nell’intervallo [0,1], dove il massimo valore è raggiunto quando le osservazioni che appartengono al k-esimo gruppo sono molto simili tra di loro, e cioè quando i gruppi stessi sono ben separati. Numerose altre misure si basano sugli stessi criteri di cui sopra, ma per brevità di trattazione si preferisce non entrare nel dettaglio. 1.6 In sintesi Nella cluster analysis c’è un’importante dose di soggettività da parte dell’analista: ef- fettivamente, i passaggi chiave propri della tecnica (in particolare quelli riguardanti le misure di diversità e le tipologie di algoritmi) costituiscono delle scelte da compie- re per poter ottenere il miglior risultato possibile in termini di partizione finale. Ciò non vuol significare che la cluster analysis sia una questione facile da affrontare, so- lo perchè l’analista è coinvolto "soggettivamente" nel processo. Anzi, proprio perchè l’analista deve effettuare delle scelte, è importante che la scelta fatta sia quella giusta, altrimenti rischia di compromettere l’andamento del processo stesso e di non ottenere i risultati sperati. Inoltre, considerando che le misure di distanza e gli algoritmi presen- tati sono solo una piccola parte dell’ampio bagaglio che la cluster analysis porta con sè, la scelta diventa ancora più difficile. 22
  • 40. Capitolo 2 Analisi statistiche su dati qualitativi Dallo studio del tipo di acquisto abitualmente fatto al centro commerciale alla più accu- rata indagine sugli sbocchi occupazionali, dalla verifica del valore di nuovi trattamenti medici alla valutazione dei fattori che influenzano le opinioni e gli atteggiamenti, gli odierni analisti sono in grado di trovare una miriade di usi diversi per tutti quei me- todi che richiedono l’analisi di variabili che non sono facilmente misurabili in termini quantitativi: le variabili qualitative. Obiettivo del presente capitolo, primo punto cru- ciale di tutta la metodologia sviluppata nella tesi, è quello di presentare le importanti caratteristiche di queste variabili, analizzandone in prima istanza la classificazione, l’organizzazione in dati e la ricodifica, ed in secondo luogo alcune tecniche all’interno delle quali queste variabili sono predominanti - l’Analisi delle Corrispondenze e due sue varianti - al fine di poterne, nel seguito, provare ad effettuare la cluster analysis. 2.1 Caratteristiche delle variabili qualitative Le variabili qualitative (anche denominate variabili categoriche nella letteratura sta- tistica internazionale [52]), sono variabili che esprimono una qualità, ovvero le cui mo- dalità (attributi) sono dei valori non numerici (ad esempio la variabile che esprime il genere di un individuo, con gli attributi "maschio" e "femmina") e non misurabili, cioè che non richiedono unità di misura nella loro determinazione. Esse sono prevalenti in numerosissimi ambiti, tra cui, per citarne alcuni: le scienze sociali, per analizza- re i comportamenti dell’essere umano; le scienze della salute, per valutare lo stato di avanzamento di una malattia; il marketing, per studiare le preferenze dei consumatori nei confronti di un prodotto; il controllo della qualità, per etichettare items in base alla loro conformità a determinati standards [4]. 2.1.1 Classificazione Secondo Stevens [59], si possono distinguere due tipologie di variabili qualitative: • variabili qualitative su scala nominale (o sconnesse), se le modalità non pos- seggono alcun ordine naturale (ad esempio il nome di una malattia o il colore degli occhi). Per queste variabili, cioè, esiste una relazione di equivalenza che permette di determinare se due modalità sono diverse o uguali, perchè da un pun- to di vista statistico possono solamente fornire tale tipo di contenuto informativo. 23
  • 41. L’unico indice di tendenza centrale che ha senso determinare con tale tipo di va- riabili è la moda, ossia la modalità caratterizzata dalla massima frequenza (in altri termini, il valore che compare più frequentemente); • variabili qualitative su scala ordinale (o ordinabili o rettilinee), se le modalità posseggono naturalmente un ordine, ovvero possono essere disposte lungo una scala crescente (ad esempio quando si chiede ad un paziente di valutare l’effetto di un farmaco attraverso gli attributi "pessimo", "cattivo", "mediocre", "buono" e "ottimo") o decrescente (ad esempio quando si parla di indice di gradimento attraverso gli attributi "molto", "abbastanza", "poco", "per niente"). È possibi- le, cioè, stabilire sia una relazione di equivalenza che una relazione di ordine in termini di maggioranza, uguaglianza o minoranza rispetto alle modalità. Il van- taggio derivante dall’ordinabilità tra le modalità di queste variabili sta nel fatto che è possibile, oltre alla moda, calcolare anche la mediana, ossia la modalità assunta dalle unità statistiche che si trovano nel mezzo della distribuzione; Nella categoria delle variabili nominali rientrano, a loro volta, le variabili dicoto- miche, anche denominate variabili binarie, ossia variabili che assumono solamente due modalità (ad esempio la variabile indicante il genere, con le modalità "maschio" e "femmina"), e le variabili politomiche, anche denominate variabili multinomiali, ossia variabili che assumono più di due modalità (ad esempio la variabile che descrive il colore degli occhi, con le modalità "verde", "marrone", "azzurro", ecc). 2.1.2 Organizzazione in dati Il modo più semplice per organizzare una variabile categorica, che rappresenta anche quello di gran lunga più importante, è la distribuzione di frequenza, la quale indica come le unità della popolazione si distribuiscono in termini di frequenze (assolute o relative che esse siano) rispetto alle modalità della variabile in esame; essa consente il confronto tra due fenomeni al variare delle circostanze, ovvero rispetto ad un al- tro fenomeno. Date, quindi, n osservazioni sulle quali è stata misurata una variabile categorica X, una generica distribuzione di frequenza è presentata in Tabella 2.1: Tabella 2.1: Distribuzione di frequenza di una variabile categorica X Modalità (h) Frequenze assolute (nh) Frequenze relative (fh = nh n ) 1 n1 f1 2 n2 f2 3 n3 f3 ... ... ... p np fp Totale n 1 dove h = 1,2,3,..., p sono le modalità della variabile categorica; n1,n2,...,np sono le frequenze assolute con le quali le diverse modalità vengono osservate, il cui totale n è il numero complessivo delle osservazioni; f1, f2,..., fp sono le frequenze relative, calcolate come rapporti tra le frequenze assolute ed il numero complessivo delle os- servazioni (il loro totale è pari ad 1). Disponendo di una distribuzione di frequenza, 24
  • 42. l’attenzione è concentrata sulla sua caratterizzazione complessiva e/o su una sintesi opportuna (ad esempio attraverso operazioni aritmetiche sulle frequenze). Lo studio delle distribuzioni di frequenza per le variabili categoriche ha, infatti, senso compiuto purchè i metodi e le analisi si limitino a queste ultime; tale studio sarà portato avanti nel prosieguo della tesi. Quando su ogni unità appartenente ad una determinata popolazione si rilevano due va- riabili categoriche, si parla di distribuzione doppia di frequenza. Essa è una tabella a doppia entrata, comunemente nota con il termine matrice di contingenza, che regi- stra quante volte (in termini di frequenze assolute) una coppia di modalità si presenta contemporaneamente. Date, quindi due variabili categoriche X ed Y, ed indicate, ri- spettivamente, con h = 1,2,3,..., p le modalità di X, e con h = 1,2,3,..., p le modalità di Y, un esempio di tabella a doppia entrata è presentato in Tabella 2.2: Tabella 2.2: Distribuzione doppia di frequenza Variabile X Variabile Y Modalità 1 Modalità 2 Modalità 3 ... Modalità p Totale Modalità 1 n11 n12 n13 ... n1p n1. Modalità 2 n21 n22 n23 ... n2p n2. Modalità 3 n31 n32 n33 ... n3p n3. ... ... ... ... ... ... ... Modalità p np1 np2 np3 ... npp np. Totale n.1 n.2 n.3 ... n.p n dove nhh indica il numero di elementi tra gli n della popolazione che possiedono con- temporaneamente la modalità h-esima per X e la modalità h -esima per Y; nh. rappre- sentano i totali di riga della tabella e riguardano esclusivamente la variabile X; n.h rappresentano, invece, i totali di colonna della tabella, che valgono per la variabile Y. A queste ultime due quantità, spesso si fa riferimento come frequenze assolute mar- ginali, le quali a loro volta costituiscono delle distribuzioni di frequenza marginali univariate (relative, quindi, alle variabili X ed Y prese singolarmente, come in Tabella 2.1). È facile intuire come, per entrambe, vale la seguente relazione: p ∑ h=1 nh. = p ∑ h =1 n.h = p ∑ h=1 p ∑ h =1 nhh = n (2.1) che indica l’eguaglianza, ad n, delle somme delle frequenze marginali di riga e di colonna, così come pure di tutti gli elementi presenti all’interno della tabella. In molti casi, piuttosto che lavorare con le frequenze assolute, si preferisce utilizzare le frequenze relative o delle particolari frequenze ottenute dividendo le prime per i marginali (di riga o di colonna) della tabella stessa. Le possibili tabelle di frequenze in questione sono tre, ognuna delle quali con un diverso contenuto informativo: • una prima tabella può essere ottenuta dividendo le frequenze assolute nhh per i marginali di riga nh., e questa viene chiamata matrice dei profili riga. Per essa 25
  • 43. vale la relazione secondo cui p ∑ h=1 nhh nh. = 1 (2.2) ossia che la somma per riga delle frequenze risulta essere pari ad 1. Da qui, la somma di tutti gli elementi al suo interno è pari al numero di righe h. Dividendo, poi, i totali di colonna (la riga Totale della Tabella 2.2) per n si ottengono le frequenze (gli elementi) del cosiddetto profilo medio di riga: n.h n = f.h (2.3) • una seconda tabella può essere ottenuta dividendo le frequenze assolute nhh per i marginali di colonna n.h , e questa viene chiamata matrice dei profili colonna. Per essa vale la relazione secondo cui p ∑ h =1 nhh n.h = 1 (2.4) ossia che la somma per colonna delle frequenze risulta essere pari ad 1. Da qui, la somma di tutti gli elementi al suo interno è pari al numero di colonne h . Dividendo, poi, i totali di riga (la colonna Totale nella Tabella 2.2) per n si ottengono le frequenze (gli elementi) del cosiddetto profilo medio di colonna: nh. n = fh. (2.5) • un’ultima e più generale tabella può essere ottenuta dividendo le frequenze as- solute nhh per il totale n, e questa prende il nome di matrice delle frequenze relative (o delle proporzioni). Per essa vale la relazione secondo cui p ∑ h=1 p ∑ h =1 nhh n = p ∑ h=1 p ∑ h =1 fhh = 1 (2.6) cioè che la somma delle frequenze relative fhh è pari ad 1. Inoltre, i marginali di riga e di colonna risultano esattamente pari ai profili medi di riga e di colonna. Lo studio di queste tre tipologie di tabelle risulterà importante per una tecnica nota come Analisi delle Corrispondenze, la quale ne consente una rappresentazione grafica. Considerando tre variabili categoriche X, Y e Z, rispettivamente con h, h ed h moda- lità, l’insieme degli incroci possibili tra le modalità stesse può essere raccolto in una tabella a tre vie con numero di celle definito dal prodotto h·h ·h ed in cui ciascuna cella contiene le frequenze relative all’incrocio tra la modalità h-esima della variabile X, la modalità h -esima della variabile Y e la modalità h -esima della variabile Z. Quando il numero di variabili categoriche osservate è superiore a tre, tale tabella non è rappresentabile, ma è possibile immaginare una tabella a q vie, dove q è il numero di 26
  • 44. variabili complessivamete prese in esame, in cui ciascuna cella contiene le frequenze assegnate a quella particolare combinazione di modalità. La caratteristica principale di questa matrice è che quasi sempre il numero di celle è superiore ad n, con il risultato che la maggior parte delle celle risultano vuote [24]. Lo studio di tabelle del genere ri- sulta, quindi, particolarmente complesso, motivo per cui nella stragrande maggioranza dei casi si preferisce limitare le analisi alle tabelle a doppia entrata. Le variabili categoriche, infine, possono comparire (insieme alle variabili quantita- tive, o anche senza di esse) all’interno della matrice dei dati X. Sarà poi compito dell’analista trovare il giusto compromesso per la trattazione di queste. 2.1.3 Codifica Frequentemente, la matrice dei dati X si presenta agli occhi dell’analista nella sua più totale grezzitudine (si parla, a tal proposito, di dati grezzi, ossia non elaborati), poichè le modalità delle variabili categoriche al suo interno sono indicati per iscritto. Risulta, perciò, impossibile poter effettuare elaborazioni matematiche sui dati così definiti, e ne sarebbe difficile anche la leggibilità. Per poter ovviare a questo inconveniente, c’è bisogno di attuare una serie di operazioni volte ad una migliore interpretazione e lettura dei dati stessi. Tra queste, c’è sicuramente quella di codifica, ossia l’associazione di un valore numerico discreto alle modalità delle variabili categoriche. Due, in particolare, sono le tecniche di codifica maggiormente utilizzate per questo tipo di variabili, e prendono il nome di codifica ridotta e codifica disgiuntiva completa. Codifica ridotta Questo tipo di codifica è molto intuitivo, perchè segue la definizione stessa di codifica: in particolare, esso prevede il passaggio dalla matrice dei dati X alla matrice dei dati in codifica ridotta C (Tabella 2.3), in cui ogni colonna rappresenta una variabile che può assumere valori da 1 al numero di modalità previste dalla variabile stessa. Si assegna, cioè, ad ogni modalità della j-esima variabile un codice, che però non funge esattamente da numero, ma solamente da indicatore. La codifica così definita ha il vantaggio di raccogliere i dati osservati in modo compatto e leggibile; tuttavia, sulla tabella così definita le operazioni di somma non hanno alcun senso. Tabella 2.3: Matrice in codifica ridotta C Casi Variabili Variabile 1 Variabile 2 Variabile 3 ... Variabile q Caso 1 1 2 1 ... 2 Caso 2 2 3 3 ... 1 Caso 3 3 2 3 ... 1 Caso 4 2 3 4 ... 4 ... ... ... ... ... ... Caso n 1 3 2 ... 3 27
  • 45. Codifica disgiuntiva completa A partire dalla matrice dei dati, la condizione necessaria per poter applicare i metodi di analisi multivariata descritti nel seguito consiste nella sua trasformazione attraverso la codifica disgiuntiva completa, di gran lunga più informativa rispetto alla precedente codifica. Sostanzialmente, si ordinano i dati in una matrice di indicatori Z (univer- salmente nota come matrice indicatrice), di dimensioni n · H, dove n è il numero di osservazioni, ed H è il numero complessivo di tutte le modalità previste dalle variabili categoriche. Date, cioè, j variabili categoriche (per j = 1,2,3,...,q), ciascuna con h modalità, per h = 1,2,3,..., p, il numero di colonne di Z è pari a: q ∑ j=1 hj = h1 +h2 +h3 +...+hq = H (2.7) dove hj è il numero di modalità della j-esima variabile, ed H quindi è il numero di colonne di Z. La (2.7) rivela una informazione importante su Z: essa è una matrice a blocchi, in cui ciascun blocco, formato da h colonne per quante sono le modalità della j-esima variabile ed indicato con Zj, rappresenta una variabile, e l’accostamento di tutti i blocchi ricostituisce la matrice Z stessa. Z = Z1,Z2,Z3,...,Zq (2.8) All’interno di ciascun blocco, all’incrocio dell’i-esima riga con l’ h-esima colonna, il valore 1 indica la modalità scelta per ciascuna variabile (quindi se l’i-esima osserva- zione presenta quella modalità), mentre il valore 0 indica le modalità non scelte della stessa variabile (quindi se l’i-esima osservazione non presenta le restanti modalità). Inoltre, per ciascun blocco si verifica che la somma per riga è costante e pari ad 1 - quindi sull’intera matrice Z la stessa somma è pari al numero di variabili j, mentre la somma per colonna, che non varia considerando l’intera matrice Z, riporta le frequen- ze assolute di ciascuna delle modalità della j-esima variabile. In Tabella 2.4 è dato un semplice esempio di blocco della matrice indicatrice. Tabella 2.4: Esempio di blocco della matrice indicatrice Z Casi Variabile 1 Modalità 1 Modalità 2 Modalità 3 ... Modalità p Caso 1 1 0 0 ... 0 Caso 2 0 0 1 ... 0 Caso 3 0 1 0 ... 0 ... ... ... ... ... ... Caso n 0 0 0 ... 1 Dall’esempio, si capisce il motivo per cui la codifica viene detta disgiuntiva completa: • disgiuntiva perché in ogni cella della matrice, ad ogni caso (osservazione) vie- ne attribuito un valore uguale a 0 oppure 1, rispettivamente per l’assenza o la presenza dell’h-esima modalità1; 1Anche in questo caso, come nel caso della codifica ridotta, i valori 0 ed 1 non devono essere trattati come numeri, ma come semplici indicatori. 28
  • 46. • completa perchè le diverse modalità di ciascuna variabile si escludono a vicen- da, ogni riga presenta cioè un solo 1 per ogni variabile; Un’altra caratteristica importante, deducibile ancora dalla Tabella 2.4, sta nel fatto che le colonne di Z individuano H nuove variabili dette variabili indicatrici (altro nome delle variabili dicotomiche, cfr. paragrafo 2.1.1), che assumono quindi valore 0 o 1 a seconda dell’assenza o della presenza delle rispettive modalità, e che comportano il paradossale aumento della dimensionalità dei dati di partenza (se ne analizzeranno le conseguenze). A questo proposito, lo studio delle j variabili qualitative di partenza è riconducibile allo studio delle H variabili indicatrici, e ciò sarà utile nei prossimi capitoli, perchè l’intera matrice Z verrà utilizzata come punto di partenza sia per la definizione della distanza tra le unità che per la formulazione di un algoritmo. 2.2 L’indice di eterogeneità di Gini Presentati i principali modi attraverso cui è possibile organizzare e codificare una o più variabili categoriche, risulta ora interessante chiedersi come si ripartiscono le frequen- ze tra le modalità, ossia come variano le frequenze a parità di modalità. Si vuole, cioè, confrontare la diversità della distribuzione di un fenomeno che assume delle modalità non specificate, mediante l’analisi della distribuzione di frequenza stessa. Non essen- do, però, possibile pensare al concetto di variabilità per variabili categoriche come misura dello scarto di un set di osservazioni dalla propria media (perchè per variabili categoriche la media non è definita) [44], una formulazione alternativa di quest’ultimo prevede quello di eterogeneità (o mutabilità)2: per definizione, l’eterogeneità misura la variabilità delle frequenze relative fh, per h = 1,2,3,..., p, senza coinvolgere le mo- dalità della variabile categorica [52]. L’eterogeneità si collega al concetto di incertezza ed a quello di informazione, perchè in caso di minima eterogeneità (quando tutte le frequenze relative sono accentrate in una sola modalità h) è minima l’incertezza decisionale ed è massima l’informazione derivabile dalla singola osservazione. Viceversa, nel caso opposto di massima eteroge- neità (quando le frequenze relative si distribuiscono in parti eguali tra le h modalità), si ha massima incertezza e minima informazione derivabile dalla singola osservazione. Tra gli indici di eterogeneità più diffusi vi è sicuramente quello di Gini [25], colui che ha definito la mutabilità come «l’attitudine di un carattere ad assumere differenti modalità qualitative». 2.2.1 Caso univariato Sia X una variabile categorica con h = 1,2,3,..., p modalità, e sia nota la sua distribu- zione di frequenza (come quella in Tabella 2.1), con frequenze assolute nh e frequenze relative fh. Sia, dunque, noto un vettore di dimensioni n · 1 che indica per ognuna delle i = 1,2,3,...,n osservazioni il solo valore della variabile X che è stato scelto. L’obiettivo è quello di costruire un indice che tenga conto della variabilità delle fre- quenze, confrontando i valori della variabile X per ogni coppia di osservazioni (i,i ), 2La sua applicazione vale sia per variabili quantitative, che per variabili qualitative. Tuttavia, oggetto di interesse è l’eterogeneità applicata alle ultime. 29
  • 47. ed utilizzando quale criterio quello della differenza semplice media (adattata al ca- so di variabili qualitative). Considerate, cioè, tutte le possibili n2−n 2 = n(n−1) 2 coppie di osservazioni diverse3, alle quali sono associate altrettanto n2−n 2 coppie di modalità (xh,xh), la differenza semplice media esamina tutte le diversità tra le modalità a due a due, assumendo come appropriata misura d(xh,xh) la funzione più elementare: d(xh,xh) = 0, se la modalità è la stessa per entrambe le osservazioni 1, se la modalità differisce In altre parole, la differenza semplice media elenca e conta - senza ripetizione - il numero di coppie per le quali si verifica che sono state scelte modalità diverse. Alge- bricamente, è possibile scrivere l’indice nella seguente forma: 1 n2 p ∑ h=1 d(xh,xh)nhnh (2.9) dove il prodotto nhnh rappresenta la ponderazione per le frequenze assolute delle mo- dalità coinvolte nelle coppie. Svolgendo ulteriormente i calcoli, si ha ancora che: 1 n2 p ∑ h=1 d(xh,xh)nhnh = 1 n2 [(0)n1n1 +(1)n1n2 +...+(1)n1nl +...+(0)npnp] = 1 n2 [n1(n−n1)+n2(n−n2)+...+np(n−np)] = 1 n2 p ∑ h=1 nh(n−nh) = p ∑ h=1 nh ·n n2 − p ∑ h=1 n2 h n2 = p ∑ h=1 nh n − p ∑ h=1 ( nh n )2 = p ∑ h=1 fh − p ∑ h=1 (fh)2 = 1− p ∑ h=1 (fh)2 = G(X) dove quest’ultimo risultato rappresenta l’indice di eterogeneità di Gini. Il minimo valore di questo indice si ha nella situazione di minima eterogeneità - o massima omogeneità - ossia quando l’intera distribuzione di frequenza si accentra su una sola modalità, per cui n1 = n ed f1 = 1: G(X)min = 1− p ∑ h=1 (fh)2 = 1− ∑ h=1 f2 1 = 1−1 = 0 D’altronde, l’indice non può mai essere negativo perchè la somma delle frequenze relative (numeri compresi tra 0 ed 1) per costruzione risulta essere pari ad 1 (si veda il paragrafo 2.1.2). Il massimo valore dell’indice, invece, si verifica in caso di minima omogeneità - o massima eterogeneità - ossia quando ciascuno degli h = 1,2,.., p possibili attributi 3Vale lo stesso discorso fatto nel Capitolo 1, nel senso che dalle n2 coppie di individui vanno tolte quelle n per cui un individuo si incrocia con sè stesso. Il 2 al denominatore sta ad indicare la non ripetizione del calcolo. 30