Gentile Edicolante, abbiamo il piacere di comunicarti che da oggi è

Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Cluster Analysis
Maria Brigida Ferraro + Luca Tardella
e-mail: [email protected],
[email protected]
Lezione #3: Cluster Analysis
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Obiettivi del modulo Cluster 1
• Introduzione ai problemi di classificazione e all’analisi dei
gruppi
• Nozione di gruppo e formalizzazioni
• Fasi dell’analisi dei gruppi
• Nozione di distanza e sue generalizzazioni
• Algoritmi
• gerarchici → modulo Cluster 1
• (non gerarchici → modulo Cluster 2)
• Pratica con il software R
• (Estensioni probabilistiche: le misture)
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Classificazione
• Operazione usuale e naturale nell’organizzazione del sapere
• Dato un’insieme di individui/oggetti/elementi vogliamo
individuare dei sottoinsiemi che posseggono in qualche
modo caratteristiche comuni
• Ottenere dei criteri di classificazione per individuare
all’interno dell’eterogeneità di un collettivo/popolazione
delle aggregazioni in grado di semplificare la percezione di
tale collettivo
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Cosa vuol dire caratteristica comune?
• nel caso più semplice possono essere disponibili delle
variabili di classificazione
• diagnosi della malattia: (sano/malato)
• grado di soddisfazione di un cliente: (nulla/media/totale)
• vicinanza ad un particolare luogo di riferimento
• reale → classificazione topologica/geografica
• ideale → attraverso mappatura di individui
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Problemi Statistici tipici della
classificazione
• Indovinare una classificazione già definita ...
• non ancora disponibile → classificazione supervisionata
• se già disponibile, cerca di evidenziare il legame statistico
con altre variabili esterne, valutarne i limiti e le
potenzialità e magari isolare quelle più legate alla variabile
esplicita di classificazione
• Esplorare all’interno di un fenomeno collettivo sul quale
sono rilevabili numerose variabili per ciascuna unità le
diverse possibilità di suddividere in sottoinsiemi che
presentano un certo grado di omogeneità → classificazione
non supervisionata
• comprendere un fenomeno complesso e/o operare in modo
mirato e differenziale nei sottogruppi
• isolare alcuni sottogruppi particolarmente interessanti in
quanto evidenziano/rappresentano una tipologia sulla
quale si vuole approfondire la ricerca
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
CLUSTER ANALYSIS
La Cluster Analysis o analisi dei gruppi è una metodologia di
classificazione non supervisionata. È una tecnica multivariata
avente come obiettivo l’individuazione di una o più partizioni
di un insieme di unità statistiche in gruppi (cluster) in base ad
un insieme di variabili osservate su esse, in modo tale che i
gruppi abbiano le caratteristiche di:
• COESIONE INTERNA (le unità assegnate ad uno stesso
gruppo devono essere tra loro simili: gruppi omogenei)
• SEPARAZIONE ESTERNA (i gruppi devono essere il
più possibile distinti tra loro)
Cluster
Analysis
Fasi dell’Analisi dei Gruppi
M.B. Ferraro
+ L.Tardella
1
Obiettivi (... se già chiari)
2
Determinazione della matrice dei dati grezzi: selezione
delle variabili
3
Manipolazione dei dati grezzi e preparazione dell’input per
la tecnica selezionata
4
Scelta del metodo (metodi/strategia)
Analisi dell’output
5
• scelta del numero di gruppi
• stabilità
• interpretazione dei gruppi
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Alcune nozioni preliminari
• Partizioni di un insieme
• Dissimilarità/distanze
• Scomposizione dell’inerzia o devianza totale
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Dettaglio tecnico: 1 - Partizione di un
Insieme
Si dice partizione di un insieme A una collezione di sottoinsiemi
π = {I1 , I2 , ..., Ig , ..., Ik }
tali che ciascun sottoinsieme non abbia elementi in comune con
nessuno degli altri
Ig ∩ Ir = ∅
∀g 6= r
e l’aggregazione (unione) di tutti i sottoinsiemi Ig ricostituisca
l’insieme dato A
A=
k
[
Ig
g=1
Vi sono anche metodi che non conducono a partizioni
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Dettaglio tecnico: 2 - Distanze e
Dissimilarità
Esempio di distanza tipicamente impiegata tra due unità sulle
quali siano state rilevate p misurazioni è la distanza euclidea
v
u p
uX
dij = d(xi , xj ) = t (xir − xjr )2
r =1
oppure il suo quadrato che peró è solo un indice di dissimilarità
dij2 = d 2 (xi , xj ) =
p
X
r =1
(xir − xjr )2 = kxi − xj k2
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Dettaglio tecnico: 2 - Distanze e
Dissimilarità
Distanza d : D × D ∈ R
d(xi , xj ) = 0 ⇐⇒ xi = xj
d(xi , xj ) = d(xj , xi )
simmetria
d(xi , xj ) ≤ d(xi , xk ) + d(xk , xj )
disuguaglianza triangolare
Dissimilarità d : D × D ∈ R
d(xi , xj ) ≥ 0
∀xi , xj
d(xi , xi ) = 0
∀xi
d(xi , xj ) = d(xj , xi )
∀xi , xj
simmetria
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
La funzione ’dist(...)’.
• ’euclidean’ – Metrica euclidea o distanza tra due punti
nel piano A = (a1 , a2 ) e B = (b1 , b2 )
d(A, B) =
q
(a1 − b1 )2 + (a2 − b2 )2
tra due punti in Rk
v
u
k
uX
u
d(A, B) = t (aj − bj )2
j=1
• ’maximum’ – Metrica della norma sup
max {|aj − bj |; j = 1, ..., k}
• ’manhattan’ – Metrica di Manhattan
d(A, B) =
k
X
j=1
|aj − bj |
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
• ’minkowski’ – Metrica di Minkowski

1
p
k
X
d(A, B) =  |aj − bj |p 
j=1
(per p = 2 ritorna la distanza euclidea, p = 1 la
Manhattan, p → ∞ la norma sup)
• ’canberra’ – Metrica di Canberra
d(A, B) =
k
X
|aj − bj |
j=1
|aj + bj |
Cluster
Analysis
• ’binary’ – Metrica binaria
M.B. Ferraro
+ L.Tardella
d(A, B) =
n01 + n10
n01 + n10 + n11
dove dai vettori binari si estrae la tabella di contingenza
0
1
TOT
0
n00
n10
n.0
1
n01
n11
n.1
TOT
n0.
n1.
n..
In realtà in dist abbiamo solo due metriche alternative: la
binaria e la Minkowski con vari parametri p.
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Altre distanze per dati nominali
Per dati solo nominali la seguente distanza spesso usata
(simple matching coefficient)
•
dij =
# variabili non coincidenti in i e j
# totale di variabili confrontate
• per variabili nominali binarie (con ruolo simmetrico di
presenza/assenza)
dij =
n01 + n10
n00 + n01 + n10 + n11
(coincide con la precedente se abbiamo solo variabili
binarie)
•
dij =
n01 + n10
n01 + n10 + n11
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Altre distanze per dati nominali
• per variabili nominali ordinali si trasformano i dati in
quantitativi utilizzando i ranghi rih (posizioni nelle
graduatoria ordinata) eventualmente standardizzando i
valori ottenuti in valori standardizzati zih in un range
fissato [0, 1]
xih −→ rih −→ zih =
rih − 1
Rh − 1
dove rih il rango dell’unità i-esima nella graduatoria delle
unità rispetto alla variabile h e Rh è il numero di posizioni
disponibili nella graduatoria
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
daisy(x, metric = c(’euclidean’, ’manhattan’, ’gower’), stand
= FALSE, type = list())
• gower
Pk
δijh sijh
h=1 δijh
h=1
dij = 1 − P
k
dove sijh è una misura di dissimilarità relativa alla sola
variabile h rilevata nelle unità i e j.
Se la h-esima variabile è di tipo quantitativo e Xh è il
vettore contenente le rilevazioni di tutte le unità
sijh = 1 −
|xih − xjh |
range(Xh )
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Se la h-esima variabile è di tipo qualitativo contenente le
rilevazioni di tutte le unità
(
sijh =
1
0
se entrambe le unità presentano stessa modalità
altrimenti
e
(
δijh =
1
0
se entrambe le unità non presentano un NA
altrimenti
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Algoritmi
• Gerarchici
• aggregativi o agglomerativi
• scissori
• Non Gerarchici
• raggruppamenti intorno a centri ideali (k-medie)
• raggruppamenti intorno ad unità rappresentative
(k-medoidi)
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Algoritmi Gerarchici
• Approdano ad un intero insieme di possibilità di
raggruppamento in un numero di gruppi che va
dall’estremo minimo (1 solo gruppo) all’estremo massimo
(tanti gruppi quante sono le unità considerate).
hclust(d, method = "complete", members = NULL)
• La rappresentazione di tale ventaglio di possibilità
rappresentata tipicamente dal dendrogramma
plot(hclust(...),...)
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Algoritmi Gerarchici
Algoritmi Aggregativi: partono dalla considerazione del
numero massimo di gruppi N ottenibile considerando ciascun
gruppo formato da una sola unità; procedono sequenzialmente
ad ottenere un numero inferiore di gruppi
(N → N − 1 → N − 2 → ...) aggregando secondo criteri
opportuni due sottogruppi in un unico gruppo.
Algoritmi Scissori: partono dalla considerazione di tutte le
unità appartenenti ad un solo gruppo e procedono per
suddivisione secondo opportuni criteri di ottimalità.
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Dendrogramma
È una visualizzazione del processo di aggregazione successiva
(metodi aggregativi) degli N sottogruppi minimali (ciascuno
costituito da una singola unità) in raggruppamenti composti
dall’aggregazione di coppie di sottogruppi secondo un criterio
prestabilito; oppure del processo di suddivisione successiva
(metodi scissori) a partire dall’insieme di tutte le unità.
Cluster
Analysis
Cosa si deve saper scorgere in un
dendrogramma
M.B. Ferraro
+ L.Tardella
1
Come individuare la suddivisione in K gruppi;
2
Quali unità appartengono ad un gruppo;
3
Indicazioni sulla selezione di un numero di gruppi adeguato
a ben rappresentare la (eventuale) struttura di
raggruppamento.
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Metodi Aggregativi
Il principio di funzionamento generale è il seguente:
• Si inizializza considerando K = N gruppi distinti formati
ciascuno da un solo elemento si parte da una matrice di
distanze/dissimilarità tra i K gruppi
• si aggregano i due gruppi che risultano meno distanti tra
tutte le K (K − 1)/2 coppie possibili e si ricalcola la nuova
matrice di distanze relativa ai K − 1 gruppi così
determinati
• Se K = 1 ci si arresta altrimenti si diminuisce di 1 l’indice
K e si torna al passo 1
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Matrice di distanza
La matrice di distanze di partenza necessaria per le elaborazioni
o è fornita direttamente come input oppure è calcolata in
funzione dei dati grezzi.
Il calcolo della nuova matrice di distanze/dissimilarità quando il
numero di gruppi è diminuito di uno presuppone che sia stata
definita la nozione di distanza tra insiemi di unità (tra due
gruppi). Ad esempio la distanza tra il gruppo I e il gruppo J la
denoteremo d(I, J).
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Matrice di distanza
Quando i due gruppi sono costituiti da una sola unità ciascuno
la definizione è naturale. Nel caso non banale di gruppi
costituiti da più unità si possono utilizzare diverse definizioni.
Tra queste segnaliamo quelle più frequentemente utilizzate:
dLS (I, J) =
dLC (I, J) =
min d(i, j)
i∈I,j∈J
max d(i, j)
i∈I,j∈J
dLM (I, J) = media d(i, j)
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
NB Le operazioni in questione sono calcolabili a partire
dall’ultima matrice di distanze ottenuta. Se il gruppo I viene
ottenuto per aggregazione dei gruppi G1 e G2 dall’ultima
matrice di distanza ottenuta posso individuare le quantità
d(G1 , J) e d(G2 , J) da cui deduco
dLS (I, J) =
min d(Gi , J) = min {d(G1 , J), d(G2 , J)}
i=1,2
dLC (I, J) = max d(Gi , J) = max {d(G1 , J), d(G2 , J)}
i=1,2
dLM (I, J) =
nG2
nG1
d(G1 , J) +
d(G2 , J)
nG1 + nG2
nG1 + nG2
dove nGi è il numero di unità che compongono il gruppo Gi
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
LS Legame Singolo o del vicino più prossimo
LC Legame Completo o del vicino più lontano
LM Legame Medio o della distanza media
W Ward
C Centroide
Alcune formule che generalizzano i vari metodi con un’unica
formula (Lance-Williams).
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Metodo del Legame Singolo
La distanza tra 2 gruppi G1 e G2 è definita come il minimo
delle distanze tra ciascuna delle unità di un gruppo e ciascuna
delle unità dell’altro gruppo:
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Metodo del Legame Completo
La distanza tra 2 gruppi G1 e G2 è definita come il massimo
delle distanze tra ciascuna delle unità di un gruppo e ciascuna
delle unità dell’altro gruppo:
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Metodo del Legame Medio
La distanza tra 2 gruppi G1 e G2 è definita come la media
aritmetica delle distanze tra ciascuna delle unità di un gruppo e
ciascuna delle unità dell’altro gruppo:
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Scomposizione della Devianza Totale
T =B+W
dove
T → Devianza Totale
B → Devianza “Between” (tra gruppi)
W → Devianza “Within” (all’interno dei gruppi)
Nel caso di una sola variabile rilevata su N unità partizionate in
G gruppi, ciascuno dei quali con ng elementi
N
X
(xm − x¯ )2 =
m=1
G
X
g=1
ng
G X
X
(xig − x¯ )2 =
g=1 i=1
G ng
ng (¯
xg − x¯ )2 +
XX
(xig − x¯g )2
g=1 i=1
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Metodo di Ward
Poiché l’obiettivo è quello di ottenere cluster con maggiore
coesione interna, si considera la scomposizione della devianza
totale.
Ad ogni passo della procedura gerarchica si aggregano tra loro i
cluster che comportano il minor incremento della devianza
nei cluster (W), cioè che assicura la maggiore coesione
interna.
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Metodo del Centroide
La distanza tra 2 gruppi G1 e G2 è definita come la distanza tra
i rispettivi centroidi
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Come scegliere il numero dei gruppi
• Ispezione grafica del dendrogramma
• Alcuni “test” basati su criteri formali
• Calinski and Harabasz
• Silhouette
• Gap statistics
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Criteri formali
Calinski & Harabasz:
cK =
T −WK
K −1
WK
N−K
sottende l’idea di un test di tipo F di Fisher per la
scomposizione della varianza
Hartigan:
Wk
− 1 (N − K − 1)
WK +1
a partire da K = 1 arrestarsi quando l’indice diminuisce intorno
al valore 10
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Silhouette – cosa ?
Per la generica unità i, la silhouttte s(i) è un indice che assume
valori nell’intervallo [-1,1]. Indichiamo con a(i) la dissimilarità
media dell’unità i calcolata rispetto a tutte le altre unità
assegnate allo stesso cluster e con b(i) la minima dissimilarità
media dell’unità i calcolata rispetto a tutti gli altri cluster (in
maniera molto semplicistica, andiamo a considerare la
dissimilarità media rispetto alle unità appartenenti al cluster più
“vicino”). Abbiamo:
s(i) =
b(i) − a(i)
max{a(i), b(i)}
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Silhouette – interpretazione
L’interpretazione di s(i) è la seguente. Cominciamo dai tre
punti di rifermento principali:
• s(i) ≈ 1 → l’unità i è correttamente assegnata al cluster
• s(i) ≈ −1 → l’unità i non è assegnata al cluster giusto
• s(i) ≈ 0 → l’unità i non `
chiaramente assegnabile ad uno
dei due cluster
Se individuiamo un cluster formato da una singola unità è
consuetudine porre s(i) = 0.
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Silhouette – come si usa?
Al fine di valutare la bontà della partizione eseguita, si puó
calcolare la Average silhouette width ¯s (i) (successivamente
indicata anche come CS), cioè la media di tutte le silhouette
s(i).
Una regola empirica da considerare nelle applicazioni è la
seguente:
• ¯
s (i) ∈ (0.70, 1.00] → la partizione ottenuta è
estremamente attendibile;
• ¯
s (i) ∈ (0.50, 0.70] → la partizione ottenuta è attendibile;
• ¯
s (i) ∈ (0.25, 0.50] → la partizione ottenuta p
`oco
attendibile;
• ¯
s (i) ∈ (−1.00, 0.25] → la partizione ottenuta non è
attendibile.
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Gap statistics
Hastie & Tibshirani sviluppano la seguente idea: generare
casualmente dei dati “simili” a quelli in esame e confrontare il
gap tra i valori WK effettivi nel dataset in esame e quelli teorici
(medi) WK∗ corrispondenti ad una distribuzione uniforme dei
valori delle varie variabili nei range dei valori osservati.
gap(K ) = log(WK∗ ) − log(WK )
dove
log(WK∗ ) =
B
1 X
log(WKb )
B b=1
ˆ per il quale gap(K + 1) (gap
Determiniamo il valore K
statistics in corrispondenza di K + 1 gruppi) subisce un
significativo decremento rispetto al precedente numero di
gruppi. Per valutare la significatività si ricorre al valore della
standard deviation di log(WKb ) nelle b = 1, ..., B simulazioni.
Cluster
Analysis
M.B. Ferraro
+ L.Tardella
Cosa vorremmo saper fare (con R)
# come implementare un algoritmo aggregativo in R
# come entrare nell’oggetto ottenuto come
risultato per capire i vari passi della procedura
sequenziale di aggregazione
# rappresentare graficamente il dendrogramma
# interpretare il dendrogramma
# valutare l’evidenza circa un particolare numero
di gruppi
# estrarre le unità appartenenti ad /uno/più/tutti
i/ gruppi
# manipolare graficamente il dendrogramma
# interpretare e dare una caratterizzazione dei
gruppi