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
© Copyright 2024 Paperzz