clusteranalysis - unina.it · cluster analysis m.b. ferraro + l.tardella clusteranalysis...
TRANSCRIPT
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Cluster Analysis
Maria Brigida Ferraro + Luca Tardellae-mail: [email protected],
Lezione #3: Cluster Analysis
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Obiettivi del modulo Cluster 1
• Introduzione ai problemi di classificazione e all’analisi deigruppi
• 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)
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Classificazione
• Operazione usuale e naturale nell’organizzazione del sapere• Dato un’insieme di individui/oggetti/elementi vogliamoindividuare dei sottoinsiemi che posseggono in qualchemodo caratteristiche comuni
• Ottenere dei criteri di classificazione per individuareall’interno dell’eterogeneità di un collettivo/popolazionedelle aggregazioni in grado di semplificare la percezione ditale collettivo
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Cosa vuol dire caratteristica comune?• nel caso più semplice possono essere disponibili dellevariabili 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
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Problemi Statistici tipici dellaclassificazione
• 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 lepotenzialità e magari isolare quelle più legate alla variabileesplicita di classificazione
• Esplorare all’interno di un fenomeno collettivo sul qualesono rilevabili numerose variabili per ciascuna unità lediverse possibilità di suddividere in sottoinsiemi chepresentano un certo grado di omogeneità → classificazionenon supervisionata
• comprendere un fenomeno complesso e/o operare in modomirato e differenziale nei sottogruppi
• isolare alcuni sottogruppi particolarmente interessanti inquanto evidenziano/rappresentano una tipologia sullaquale si vuole approfondire la ricerca
ClusterAnalysis
M.B. Ferraro+ L.Tardella
CLUSTER ANALYSIS
La Cluster Analysis o analisi dei gruppi è una metodologia diclassificazione non supervisionata. È una tecnica multivariataavente come obiettivo l’individuazione di una o più partizionidi un insieme di unità statistiche in gruppi (cluster) in base adun insieme di variabili osservate su esse, in modo tale che igruppi abbiano le caratteristiche di:
• COESIONE INTERNA (le unità assegnate ad uno stessogruppo devono essere tra loro simili: gruppi omogenei)
• SEPARAZIONE ESTERNA (i gruppi devono essere ilpiù possibile distinti tra loro)
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Fasi dell’Analisi dei Gruppi
1 Obiettivi (... se già chiari)2 Determinazione della matrice dei dati grezzi: selezione
delle variabili3 Manipolazione dei dati grezzi e preparazione dell’input per
la tecnica selezionata4 Scelta del metodo (metodi/strategia)5 Analisi dell’output
• scelta del numero di gruppi• stabilità• interpretazione dei gruppi
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Alcune nozioni preliminari
• Partizioni di un insieme• Dissimilarità/distanze• Scomposizione dell’inerzia o devianza totale
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Dettaglio tecnico: 1 - Partizione di unInsieme
Si dice partizione di un insieme A una collezione di sottoinsiemi
π = {I1, I2, ..., Ig , ..., Ik}
tali che ciascun sottoinsieme non abbia elementi in comune connessuno degli altri
Ig ∩ Ir = ∅ ∀g 6= r
e l’aggregazione (unione) di tutti i sottoinsiemi Ig ricostituiscal’insieme dato A
A =k⋃
g=1Ig
Vi sono anche metodi che non conducono a partizioni
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Dettaglio tecnico: 2 - Distanze eDissimilarità
Esempio di distanza tipicamente impiegata tra due unità sullequali siano state rilevate p misurazioni è la distanza euclidea
di j = d(xi , xj) =
√√√√ p∑r=1
(xir − xjr )2
oppure il suo quadrato che peró è solo un indice di dissimilarità
d2ij = d2(xi , xj) =
p∑r=1
(xir − xjr )2 = ‖xi − xj‖2
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Dettaglio tecnico: 2 - Distanze eDissimilarità
Distanza d : D × D ∈ R
d(xi , xj) = 0 ⇐⇒ xi = xj
d(xi , xj) = d(xj , xi ) simmetriad(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
ClusterAnalysis
M.B. Ferraro+ L.Tardella
La funzione ’dist(...)’.• ’euclidean’ – Metrica euclidea o distanza tra due puntinel piano A = (a1, a2) e B = (b1, b2)
d(A,B) =√
(a1 − b1)2 + (a2 − b2)2
tra due punti in Rk
d(A,B) =
√√√√√ k∑j=1
(aj − bj)2
• ’maximum’ – Metrica della norma sup
max {|aj − bj |; j = 1, ..., k}
• ’manhattan’ – Metrica di Manhattan
d(A,B) =k∑
j=1|aj − bj |
ClusterAnalysis
M.B. Ferraro+ L.Tardella
• ’minkowski’ – Metrica di Minkowski
d(A,B) =
k∑j=1|aj − bj |p
1p
(per p = 2 ritorna la distanza euclidea, p = 1 laManhattan, p →∞ la norma sup)
• ’canberra’ – Metrica di Canberra
d(A,B) =k∑
j=1
|aj − bj ||aj + bj |
ClusterAnalysis
M.B. Ferraro+ L.Tardella
• ’binary’ – Metrica binaria
d(A,B) =n01 + n10
n01 + n10 + n11
dove dai vettori binari si estrae la tabella di contingenza
0 1 TOT0 n00 n01 n0.
1 n10 n11 n1.
TOT n.0 n.1 n..
In realtà in dist abbiamo solo due metriche alternative: labinaria e la Minkowski con vari parametri p.
ClusterAnalysis
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 dipresenza/assenza)
dij =n01 + n10
n00 + n01 + n10 + n11
(coincide con la precedente se abbiamo solo variabilibinarie)
•dij =
n01 + n10n01 + n10 + n11
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Altre distanze per dati nominali
• per variabili nominali ordinali si trasformano i dati inquantitativi utilizzando i ranghi rih (posizioni nellegraduatoria ordinata) eventualmente standardizzando ivalori ottenuti in valori standardizzati zih in un rangefissato [0, 1]
xih −→ rih −→ zih =rih − 1Rh − 1
dove rih il rango dell’unità i-esima nella graduatoria delleunità rispetto alla variabile h e Rh è il numero di posizionidisponibili nella graduatoria
ClusterAnalysis
M.B. Ferraro+ L.Tardella
daisy(x, metric = c(’euclidean’, ’manhattan’, ’gower’), stand
= FALSE, type = list())
• gower
dij = 1−∑k
h=1 δijhsijh∑kh=1 δijh
dove sijh è una misura di dissimilarità relativa alla solavariabile h rilevata nelle unità i e j .Se la h-esima variabile è di tipo quantitativo e Xh è ilvettore contenente le rilevazioni di tutte le unità
sijh = 1− |xih − xjh|range(Xh)
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Se la h-esima variabile è di tipo qualitativo contenente lerilevazioni di tutte le unità
sijh =
{1 se entrambe le unità presentano stessa modalità0 altrimenti
e
δijh =
{1 se entrambe le unità non presentano un NA0 altrimenti
ClusterAnalysis
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)
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Algoritmi Gerarchici
• Approdano ad un intero insieme di possibilità diraggruppamento in un numero di gruppi che vadall’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(...),...)
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Algoritmi Gerarchici
Algoritmi Aggregativi: partono dalla considerazione delnumero massimo di gruppi N ottenibile considerando ciascungruppo formato da una sola unità; procedono sequenzialmentead ottenere un numero inferiore di gruppi(N → N − 1→ N − 2→ ...) aggregando secondo criteriopportuni due sottogruppi in un unico gruppo.
Algoritmi Scissori: partono dalla considerazione di tutte leunità appartenenti ad un solo gruppo e procedono persuddivisione secondo opportuni criteri di ottimalità.
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Dendrogramma
È una visualizzazione del processo di aggregazione successiva(metodi aggregativi) degli N sottogruppi minimali (ciascunocostituito da una singola unità) in raggruppamenti compostidall’aggregazione di coppie di sottogruppi secondo un criterioprestabilito; oppure del processo di suddivisione successiva(metodi scissori) a partire dall’insieme di tutte le unità.
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Cosa si deve saper scorgere in undendrogramma
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 diraggruppamento.
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Metodi Aggregativi
Il principio di funzionamento generale è il seguente:• Si inizializza considerando K = N gruppi distinti formaticiascuno da un solo elemento si parte da una matrice didistanze/dissimilarità tra i K gruppi
• si aggregano i due gruppi che risultano meno distanti tratutte le K (K − 1)/2 coppie possibili e si ricalcola la nuovamatrice di distanze relativa ai K − 1 gruppi cosìdeterminati
• Se K = 1 ci si arresta altrimenti si diminuisce di 1 l’indiceK e si torna al passo 1
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Matrice di distanza
La matrice di distanze di partenza necessaria per le elaborazionio è fornita direttamente come input oppure è calcolata infunzione dei dati grezzi.
Il calcolo della nuova matrice di distanze/dissimilarità quando ilnumero di gruppi è diminuito di uno presuppone che sia statadefinita la nozione di distanza tra insiemi di unità (tra duegruppi). Ad esempio la distanza tra il gruppo I e il gruppo J ladenoteremo d(I, J).
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Matrice di distanza
Quando i due gruppi sono costituiti da una sola unità ciascunola definizione è naturale. Nel caso non banale di gruppicostituiti da più unità si possono utilizzare diverse definizioni.Tra queste segnaliamo quelle più frequentemente utilizzate:
dLS(I, J) = mini∈I,j∈J
d(i , j)
dLC (I, J) = maxi∈I,j∈J
d(i , j)
dLM(I, J) = media d(i , j)
ClusterAnalysis
M.B. Ferraro+ L.Tardella
NB Le operazioni in questione sono calcolabili a partiredall’ultima matrice di distanze ottenuta. Se il gruppo I vieneottenuto per aggregazione dei gruppi G1 e G2 dall’ultimamatrice di distanza ottenuta posso individuare le quantitàd(G1, J) e d(G2, J) da cui deduco
dLS(I, J) = mini=1,2
d(Gi , J) = min {d(G1, J), d(G2, J)}
dLC (I, J) = maxi=1,2
d(Gi , J) = max {d(G1, J), d(G2, J)}
dLM(I, J) =nG1
nG1 + nG2
d(G1, J) +nG2
nG1 + nG2
d(G2, J)
dove nGi è il numero di unità che compongono il gruppo Gi
ClusterAnalysis
M.B. Ferraro+ L.Tardella
LS Legame Singolo o del vicino più prossimoLC Legame Completo o del vicino più lontanoLM Legame Medio o della distanza mediaW WardC Centroide
Alcune formule che generalizzano i vari metodi con un’unicaformula (Lance-Williams).
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Metodo del Legame Singolo
La distanza tra 2 gruppi G1 e G2 è definita come il minimodelle distanze tra ciascuna delle unità di un gruppo e ciascunadelle unità dell’altro gruppo:
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Metodo del Legame Completo
La distanza tra 2 gruppi G1 e G2 è definita come il massimodelle distanze tra ciascuna delle unità di un gruppo e ciascunadelle unità dell’altro gruppo:
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Metodo del Legame Medio
La distanza tra 2 gruppi G1 e G2 è definita come la mediaaritmetica delle distanze tra ciascuna delle unità di un gruppo eciascuna delle unità dell’altro gruppo:
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Scomposizione della Devianza Totale
T = B + W
doveT → Devianza TotaleB → Devianza “Between” (tra gruppi)W → Devianza “Within” (all’interno dei gruppi)Nel caso di una sola variabile rilevata su N unità partizionate inG gruppi, ciascuno dei quali con ng elementi
N∑m=1
(xm − x̄)2 =G∑
g=1
ng∑i=1
(xig − x̄)2 =
G∑g=1
ng (x̄g − x̄)2 +G∑
g=1
ng∑i=1
(xig − x̄g )2
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Metodo di Ward
Poiché l’obiettivo è quello di ottenere cluster con maggiorecoesione interna, si considera la scomposizione della devianzatotale.Ad ogni passo della procedura gerarchica si aggregano tra loro icluster che comportano il minor incremento della devianzanei cluster (W), cioè che assicura la maggiore coesioneinterna.
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Metodo del Centroide
La distanza tra 2 gruppi G1 e G2 è definita come la distanza trai rispettivi centroidi
ClusterAnalysis
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
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Criteri formali
Calinski & Harabasz:
cK =T−WK
K−1WK
N−K
sottende l’idea di un test di tipo F di Fisher per lascomposizione della varianzaHartigan: ( Wk
WK+1− 1
)(N − K − 1)
a partire da K = 1 arrestarsi quando l’indice diminuisce intornoal valore 10
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Silhouette – cosa ?
Per la generica unità i, la silhouttte s(i) è un indice che assumevalori 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 (inmaniera molto semplicistica, andiamo a considerare ladissimilarità media rispetto alle unità appartenenti al cluster più“vicino”). Abbiamo:
s(i) =b(i)− a(i)
max{a(i), b(i)}
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Silhouette – interpretazione
L’interpretazione di s(i) è la seguente. Cominciamo dai trepunti 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 c̀hiaramente assegnabile ad unodei due cluster
Se individuiamo un cluster formato da una singola unità èconsuetudine porre s(i) = 0.
ClusterAnalysis
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) (successivamenteindicata anche come CS), cioè la media di tutte le silhouettes(i).
Una regola empirica da considerare nelle applicazioni è laseguente:
• 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̀ocoattendibile;
• s̄(i) ∈ (−1.00, 0.25]→ la partizione ottenuta non èattendibile.
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Gap statistics
Hastie & Tibshirani sviluppano la seguente idea: generarecasualmente dei dati “simili” a quelli in esame e confrontare ilgap tra i valori WK effettivi nel dataset in esame e quelli teorici(medi) W ∗
K corrispondenti ad una distribuzione uniforme deivalori delle varie variabili nei range dei valori osservati.
gap(K ) = log(W ∗K )− log(WK )
dove
log(W ∗K ) =
1B
B∑b=1
log(WKb)
Determiniamo il valore K̂ per il quale gap(K + 1) (gapstatistics in corrispondenza di K + 1 gruppi) subisce unsignificativo decremento rispetto al precedente numero digruppi. Per valutare la significatività si ricorre al valore dellastandard deviation di log(WKb) nelle b = 1, ...,B simulazioni.
ClusterAnalysis
M.B. Ferraro+ L.Tardella
Cosa vorremmo saper fare (con R)
# come implementare un algoritmo aggregativo in R# come entrare nell’oggetto ottenuto comerisultato per capire i vari passi della procedurasequenziale di aggregazione# rappresentare graficamente il dendrogramma# interpretare il dendrogramma# valutare l’evidenza circa un particolare numerodi gruppi# estrarre le unità appartenenti ad /uno/più/tuttii/ gruppi# manipolare graficamente il dendrogramma# interpretare e dare una caratterizzazione deigruppi