(Cluster analysis)
Per approfondimenti:
Zani & Cerioli (2007)
“Analisi dei dati e data mining per le decisioni aziendali”, Giuffrè, Milano
1
Definizione
Tutte le variabili, X1, X2, …, Xp, sono poste sullo stesso piano
(unsupervised learning)
2
Esempio
3
Scelta delle variabili
4
Distanza
Parte 1:
“Prossimità” tra 2
unità statistiche
(Dis)Similarità
Cluster Analysis
Metodi gerarchici
Parte 2:
Metodi
Metodi partitivi
5
Parte 1 – “Prossimità” tra 2 unità
6
Misure di “prossimità”
7
p variabili quantitative
8
Definizione di distanza
Prese due unità, osservate rispetto a p variabili quantitative, le rispettive righe
nella matrice dei dati rappresentano due punti in Rp. Si dice distanza tra due
punti x, y Rp una funzione d(x,y) che soddisfa le seguenti proprietà:
non negatività:
d(x,y) 0 x, y Rp
identità:
d(x,y) = 0 x=y
simmetria:
d(x,y) = d(y,x) x, y Rp
disuguaglianza triangolare:
d(x,y) d(x,z) + d(z,y) x, y, z Rp
9
Matrice delle distanze
- di dimensioni nn
- contenente valori non negativi fuori dalla diagonale principale, e valori
nulli sulla diagonale principale
- simmetrica
10
Alcuni tipi di distanza
Prese due unità statistiche i e j (con i, j {1,2,…, n}), indicate con xi e xj
le corrispondenti righe della matrice dei dati, si definiscono:
2 d ij ih jh
( x
h 1
x ) 2
1 dij xih x jh
h 1
x
k
k dij k ih x jh , k 1
h 1
Caso A:
x1 = (10,5)T , x2 = (12,7)T
1d12 = |10-12|+|5-7| = 2+2 = 4
Caso B:
x1 = (10,5)T , x2 = (11,8)T
1d12 = |10-11|+|5-8| = 1+3 = 4
13
Confronto tra distanza euclidea e distanza di Manhattan
Caso A:
x1 = (10,5)T , x2 = (12,7)T
1d12 = |10-12|+|5-7| = 2+2 = 4
2 2 1/2 = √8
2d12=[(10-12) +(5-7) ]
Caso B:
x1 = (10,5)T , x2 = (11,8)T
1d12 = |10-11|+|5-8| = 1+3 = 4
2 2 1/2 = √10
2d12=[(10-11) +(5-8) ]
14
Confronto tra distanza euclidea e distanza di Manhattan
In conclusione:
Rispetto alla distanza di Manhattan la distanza euclidea sovrappesa le
differenze “grandi” (poiché essa è funzione del quadrato delle
differenze).
15
La distanza di Mahalanobis
Nella valutazione della distanza tra i punti xi e xj può aver senso tener conto
delle correlazioni fra le p variabili. Infatti, l’informazione portata da due
variabili fortemente correlate è fortemente sovrapposta.
Il modo per farlo è calcolare la: distanza di Mahalanobis (Mahalanobis, 1936)
M dij ( xi x j ) T S 1 ( xi x j )
con S = matrice di covarianza campionaria corretta.
Si noti che Mdij = d(xi,xj,S)
EUCLIDEA
Barilla Eridania Ferrero Galbani Kraft Lavazza Nestlè Parmalat Plasmon Star
Barilla
Eridania 1.697
Ferrero 2.35 3.772
Galbani 0.688 1.01 2.903
Kraft 0.149 1.581 2.499 0.574
Lavazza 0.136 1.683 2.276 0.686 0.246
Nestlè 1.156 0.611 3.39 0.492 1.024 1.171
Parmalat 1.726 0.171 3.722 1.047 1.62 1.698 0.71
Plasmon 2.495 3.692 0.632 2.937 2.636 2.394 3.401 3.615
Star 0.84 2.339 1.516 1.403 0.987 0.759 1.895 2.319 1.672
library(proxy)
pr_DB$get_entry(“Mahalanobis")
DM_2<-dist(d,method="Mahalanobis")
MAHALANOBIS Barilla Eridania Ferrero Galbani Kraft Lavazza Nestlè Parmalat Plasmon Star
Barilla
Eridania 2.4053
Ferrero 2.0357 2.9611
Galbani 0.9397 1.4663 2.164
Kraft 0.1156 2.3919 2.148 0.9273
Lavazza 0.3029 2.1605 1.853 0.7151 0.3683
Nestlè 1.2522 1.2234 2.511 0.3849 1.2144 1.0706
Parmalat 2.7253 0.3778 3.065 1.7938 2.7206 2.4658 1.583
Plasmon 3.1106 2.7681 1.518 2.7667 3.2007 2.8382 2.975 2.676
Star 0.8337 2.2871 1.229 1.064 0.9388 0.6234 1.447 2.524 2.307
17
plot(d,xlim=c(-2,2),ylim=c(-1,2))
text(d,labels=dati_orig[,1])
19
Definizione di indice di similarità
Prese due unità, osservate rispetto a p variabili qualitative, le rispettive righe
nella matrice dei dati possono essere confrontate controllando se gli elementi
corrispondenti sono uguali tra loro oppure no.
Si dice indice di similarità tra due unità i e j (con i, j {1,2,…, n}) una funzione
s(i, j) che soddisfa le seguenti proprietà:
non negatività:
s(i, j) 0 i, j {1,2,…, n}
normalizzazione:
s(i, i) = 1 i {1,2,…, n}
simmetria:
s(i, j) = s(j, i) i, j {1,2,…, n}
j
i 1 0 TOT
1 a b a+b
0 c d c+d
TOT a+c b+d p
dove:
a 0 = numero di positive-matches
d 0 = numero di negative matches
b+d 0 = p-(a+d) = numero di mis-matches
21
Ancuni indici di similarità
nel caso di p variabili dicotomiche
Indice di Russell-Rao:
a
R s (i , j )
= frazione di positive-matches
p
Indice di Jaccard:
a
J s (i , j )
abc
22
Un indice di similarità
nel caso di p variabili politomiche
Indice di Dice:
# positive matches
D s (i , j )
p
23
p variabili X1,… Xh,…, Xp,
alcune categoriche e altre quantitative
24
Indice di Gower
p
w
h 1
ijh
dove:
1 se è possibile confrontar e i e j rispetto a X h
wijh 0 se xih NA o x jh NA
0 se X h binario e xih x jh 0
26
I (numerosi!) metodi si prefiggono di …
27
METODI GERARCHICI (aggregativi, o bottom-up)
un metodo gerarchico di cluster analysis genera una successione di
partizioni dell’insieme delle n unità, a partire da quella in n cluster, dalla
quale si ricavano in successione quella in (n-1), (n-2), … cluster, fino a
quella in cui tutte le unità sono riunite in 1 cluster
Esempio : n = 5 START
d
4 2
1 3 2 4 5
28
METODI GERARCHICI (aggregativi, o bottom-up)
un metodo gerarchico di cluster analysis genera una successione di
partizioni dell’insieme delle n unità, a partire da quella in n cluster, dalla
quale si ricavano in successione quella in (n-1), (n-2), … cluster, fino a
quella in cui tutte le unità sono riunite in 1 cluster
Esempio : n = 5 passo 1
d
4 2
1 3 2 4 5
29
METODI GERARCHICI (aggregativi, o bottom-up)
un metodo gerarchico di cluster analysis genera una successione di
partizioni dell’insieme delle n unità, a partire da quella in n cluster, dalla
quale si ricavano in successione quella in (n-1), (n-2), … cluster, fino a
quella in cui tutte le unità sono riunite in 1 cluster
Esempio : n = 5 passo 2
d
4 2
1 3 2 4 5
30
METODI GERARCHICI (aggregativi, o bottom-up)
un metodo gerarchico di cluster analysis genera una successione di
partizioni dell’insieme delle n unità, a partire da quella in n cluster, dalla
quale si ricavano in successione quella in (n-1), (n-2), … cluster, fino a
quella in cui tutte le unità sono riunite in 1 cluster
Esempio : n = 5 passo 3
d
4 2
1 3 2 4 5
31
METODI GERARCHICI (aggregativi, o bottom-up)
un metodo gerarchico di cluster analysis genera una successione di
partizioni dell’insieme delle n unità, a partire da quella in n cluster, dalla
quale si ricavano in successione quella in (n-1), (n-2), … cluster, fino a
quella in cui tutte le unità sono riunite in 1 cluster
Esempio : n = 5 passo 4
d
4 2
1 3 2 4 5
32
METODI NON GERARCHICI (o partitivi):
un metodo non gerarchico di cluster analysis fornisce una sola partizione
dell’insieme delle n unità, in un numero prefissato K di cluster (K < n)
34
Procedura di un metodo gerarchico
Start:
Partizione in n cluster: ogni cluster è composto da 1 diversa unità.
La matrice Dnxn contiene le distanze o le dissimilarità tra le n unità.
Do for i = 1 : (n-1)
- sulla base di D si individuano i cluster più vicini
- essi vengono riuniti a formare un nuovo cluster : # cluster = n - i
- si calcola la distanza del nuovo cluster da ognuno degli altri cluster,
secondo un certo criterio euristico . Aggiornamento di D D(n-i) (n-i)
- i i+1
Endo
35
Definizione di distanza/dissimilarità tra due cluster
36
Legame singolo: esempio
(a+b+c) d
plot(hclust(dist(dati),method="single"))
(a+b+c) 0 0.61
d 0.61 0
(a+b) c d
c 0.57 0 0.61
d 1.13 0.61 0
a b c d
a 0 0.3 0.8 1.4
b 0.3 0 0.57 1.13
c 0.8 0.57 0 0.61
d 1.4 1.13 0.61 0
37
Legame completo: esempio
(a+b) (c+d)
plot(hclust(dist(dati),method=“complete"))
(a+b) 0 1.4
(c+d) 1.4 0
(a+b) c d
c 0.8 0 0.61
d 1.4 0.61 0
a b c d
a 0 0.3 0.8 1.4
b 0.3 0 0.57 1.13
c 0.8 0.57 0 0.61
d 1.4 1.13 0.61 0
38
Legame medio: esempio
(a+b) (c+d)
plot(hclust(dist(dati),method=“average"))
(a+b) 0 0.61
(c+d) 0.98 0
(a+b) c d
c 0.68 0 0.61
d 1.27 0.61 0
a b c d
a 0 0.3 0.8 1.4
b 0.3 0 0.57 1.13
c 0.8 0.57 0 0.61
d 1.4 1.13 0.61 0
39
Definizione di distanza/dissimilarità tra due cluster
Metodo di Ward :
d AB
n A nB
2 d ( x A , x B ) 2
n A nB
40
Scelta = soggettività?
41
Nel marketing …
42
Metodi non gerarchici
(o partitivi)
43
Obiettivo
Obiettivo:
dato un insieme di n unità e un criterio di ottimalità, si vuole determinare la
migliore partizione dell’insieme in un numero pre-specificato K di gruppi
d
i 1 j 1
ij dissimilarità TOTALE
C1 = {1, 2, 4} C2 = {3, 5}
1 2 3 4 5
Si noti che la dissimilarità TOTALE è fissata (dato il problema e d), cioè non
varia né al variare della partizione né al variare di K
46
Criterio di ottimalità
Poiché la somma DissENTRO + DissTRA è fissata,
p
dij 2 d ( xi , x j ) ( xih x jh ) 2
2
h 1
Si dimostra che, per tale scelta, la partizione ottimale è quella in cui le unità
di ogni gruppo sono il più possibile vicine al loro centroide:
K
min Diss ENTRO min k 2 i k
n
k 1
[ d ( x , x
iCk
)] 2
Vantaggi:
si evita di ricalcolare matrici di dissimilarità minor complessità di calcolo
i centroidi sono strumento di “caratterizzazione” dei gruppi
48
Algoritmo delle K medie
Start :
scelta del valore di K
scelta (casuale) di K osservazioni da assumere come valori iniziali dei
centroidi { x1,..., xk , ..., x K }
• Questi non basta a garantire che la soluzione trovata sia quella ottima
globalmente. Potrebbe trattarsi di un ottimo locale multistart a partire
da diverse inizializzazioni.
* La procedura iterativa si arresta quando non si osserva alcuna ulteriore diminuzione della funzione che si
vuole minimizzare.
50
Si può partire dalla cluster membership (anziché dall’inizializzazione dei centroidi)
51
Sono privilegiate strutture sferiche
52
Svantaggi del metodo delle K-medie
nella ricerca della partizione con massima coesione interna, l’uso della
distanza euclidea privilegia cluster di forma sferica
53
Dove entra in gioco la distanza euclidea quadratica?
IDEA!
distanza euclidea quadratica generica misura di dissimilarità d( )
centroidi cluster un vettore “prototipo”, mk , tale che la somma delle
dissimilarità tra i membri del cluster e il “prototipo” stesso sia minima:
mk arg min
h
d (i, h)
iCk
aggravio
computazionale
54
K-medoids o Partitioning Around Medoids
(Kaufmann e Rousseeuw, 1990: Finding Groups in Data
function pam() nel package cluster di R)
Vantaggi:
Variabili di qualunque natura
Robustezza rispetto agli outliers
Applicabile anche a partire dalla sola matrice delle dissimilarità (non serve
la matrice dei dati!) *
* Si pensi alle indagini di mercato su prodotti commerciali, confrontati a coppie dai consumatori, i
55
quali valutano la dissimilarità fra i membri della coppia su una scala da 0 a 10.
Finally: small decisions with big consequences
56