Nel mio precedente post sul blog JMP , ho parlato di due algoritmi utilizzati per il clustering: k-means e Normal Mixtures (utilizzando Expectation Maximization). Qui, guardo un esempio di clustering gerarchico.
Mentre le medie k generalmente forniscono assegnazioni di cluster rigide (ogni punto dati appartiene a un solo cluster), le miscele normali forniscono assegnazioni di cluster morbide, o probabilistiche. Nel clustering Normal Mixtures, ogni punto dati, che si tratti di una persona o di una coltura cellulare, appartiene aognicluster con una certa probabilità. Allo stesso modo, il clustering gerarchico ci consente di visualizzare i punti come appartenenti amultiplocluster. Ma nel clustering gerarchico, i cluster sono – forse ovviamente – di natura gerarchica.
Quando utilizzare il clustering gerarchico
Il clustering gerarchico è particolarmente utile quando è presente una struttura gerarchica nei dati. I dati gerarchici hanno gruppi che sono essi stessi costituiti da sottogruppi costituiti da sottogruppi... e così via all'infinito. Ad esempio, quando guardiamo il sangue, possiamo vedere globuli rossi, globuli bianchi, plasma e piastrine. 
All'interno dei globuli bianchi si possono trovare neutrofili, basofili, linfociti... e molti altri. 
All'interno dei linfociti possono essere presenti cellule T, cellule B e cellule natural killer.
All'interno delle cellule T, puoi avere cellule T helper, cellule T della memoria, cellule T soppressori o cellule T killer. Potrei continuare, ma questo è un blog di statistica, non di immunologia. 
Sebbene osservare gruppi di cellule molto specifici sia spesso utile, ci sono molte situazioni in cui è necessario generalizzare e osservare un gruppo di livello superiore, come quando i medici esaminano la conta dei globuli bianchi da un esame del sangue. 
Quando raggruppi i clienti in base alle loro abitudini di acquisto, a volte potresti avere fondi sufficienti per creare 50 diverse email di marketing per soddisfare le abitudini specifiche degli acquirenti. Ma altre volte potresti avere un budget solo per crearne cinque. Il clustering gerarchico consente di selezionare un numero qualsiasi di cluster, fornendo cluster quanto più coesi possibile.
TL;DR: utilizza il clustering gerarchico quando ritieni che i tuoi dati potrebbero avere una struttura gerarchica. Può davvero essere così semplice.
Clustering gerarchico agglomerativo
JMP utilizza la gerarchiaAgglomeranteClustering (HAC in breve), che modella le relazioni gerarchiche nei dati unendo successivamente cluster simili fino a quando tutti i dati non si trovano in un unico cluster. Inizialmente, ogni punto dati è il proprio cluster singleton. Ma è terribilmente solitario, quindi uniamo insieme i due ammassi più vicini per formare un nuovo ammasso. Quindi uniamo ilProssimodue cluster più vicini insieme, e poi lo facciamo di nuovo. E di nuovo. E di nuovo. Fino a quando tutti i dati saranno in un unico cluster. Spesso ci riferiamo all'HAC come clustering dal basso verso l'alto perché abbiamo iniziato dal basso e ora siamo qui, con un cluster contenente tutti i nostri punti dati. Si potrebbe dire che c'è tutta la squadra. 
Metriche di distanza
Decidere quali cluster sono vicini tra loro non è sempre semplice; ci sono molti criteri di collegamento che possiamo usare per determinare quanto sono distanti tra loro due cluster.
Separareil collegamento definisce la distanza tra due cluster (A e
comeminimo distanza tra un punto qualsiasi di A e un punto qualsiasi di B.
Mediail collegamento definisce la distanza tra i cluster (A e
comemediadistanza tra i punti in A e i punti in B. 
Completareil collegamento definisce la distanza tra i cluster (A e
comemassimodistanza tra un punto qualsiasi di A e un punto qualsiasi di B.
ILCentroideIl metodo definisce la distanza tra i cluster (A e
come la distanza tra i rispettivi vettori medi (centroidi). 
RepartoIl metodo di è leggermente diverso dai metodi precedenti. Invece di utilizzare una pura misura di distanza, un'ANOVA univariata è adatta utilizzando le assegnazioni di cluster come gruppi. Due cluster (A e
vengono combinati se risultano inpiù piccoloaumento delle somme degli errori dei quadrati quando viene eseguita un'altra ANOVA con A e B combinati in un unico gruppo. Dal nostro articolo ANOVA , sappiamo che l'errore è ilentrovariazione del gruppo. Quindi il metodo di Ward chiede quali due gruppi possiamo combinare e avere comunque un valore bassoentrovariazione del gruppo (vale a dire, quali due gruppi sono i più simili). 
Come leggere un dendrogramma
Una volta determinata la struttura gerarchica dei nostri dati, possiamo esaminare i diversi cluster a qualsiasi livello. Spesso vogliamo fare osservazioni sulla struttura. Il modo più semplice per farlo è osservare un dendrogramma.
I dendrogrammi mostrano come sono stati combinati i cluster. In JMP , l'asse Y rappresenta punti dati/cluster e l'asse X rappresenta la distanza. Ad esempio, se due cluster si uniscono in basso nel dendrogramma (a sinistra), allora sono più simili di altri due cluster che si uniscono in alto nel dendrogramma (più a destra). 
I dendrogrammi densi in basso (a sinistra) solitamente hanno cluster più separabili, mentre i dendrogrammi che non sono densi in basso (a sinistra) tendono ad avere cluster meno separabili e più estesi.
Il clustering è più un'arte che una scienza, quindi l'interpretazione dei cluster probabilmente richiede competenze nel settore per produrre qualcosa di significativo. Utilizzando il tuo dendrogramma, puoi creare un numero qualsiasi di cluster da 1 a N (dove N è il numero di punti dati di cui disponi). "Tagliare" il dendrogramma a qualsiasi livello ti dirà l'appartenenza a ciascun cluster. 
Nel JMP
Diamo un'occhiata a un set di dati che registra i grammi medi di proteine, grassi e carboidrati di 150 persone. Ci sono molte ragioni per cui potremmo voler raggruppare queste diverse diete. Forse vogliamo verificare se diete diverse comportano tassi diversi di malattie cardiache. O forse vogliamo esaminare i livelli di colesterolo o di ferro di ciascun cluster.
In JMP, eseguire il clustering gerarchico è piuttosto semplice. Vai e bastaAnalizza > Clustering > Cluster gerarchicoe seleziona le colonne su cui desideri eseguire il clustering. Se ogni punto dati ha un nome o un'etichetta, selezionalo e aggiungilo come aEtichetta. Puoi anche selezionare i criteri di collegamento qui. ClicOKe JMP creerà automaticamente i cluster e un dendrogramma. 
Una volta all'interno della piattaforma gerarchica, puoi colorare il tuo dendrogramma per cluster, il che può aiutarti a individuare modelli diversi nei cluster. 
Puoi anche acquisire assegnazioni di cluster rigidi per qualsiasi numero di cluster da 1 a N (dove N è la dimensione del campione). Basta andare al menu del triangolo rosso e selezionareNumero di clustere digita il numero desiderato. Puoi anche trascinare il piccolo diamante nero sul dendrogramma per selezionare un numero di cluster. Quindi torna al menu del triangolo rosso e selezionaSalva cluster. Quando si seleziona ak (numero di cluster), JMP “taglierà” il dendrogramma nel punto in cui sono presenti esattamente k cluster.
Puoi anche trascinare il diamante sul lato della trama fino al punto del dendrogramma in cui desideri tagliare. 
Salvare i nostri cluster come colonna ci consente di visualizzare meglio i cluster e utilizzare l'assegnazione dei cluster come variabile di gruppo in ulteriori analisi (come un'ANOVA per vedere se l'appartenenza ai cluster ha un effetto significativo sui tassi di malattie cardiache).
Osservando solo due gruppi, possiamo vedere che esiste un gruppo con un alto contenuto di proteine, un basso contenuto di carboidrati e un basso contenuto di grassi e un gruppo relativamente basso di proteine, alto contenuto di grassi e carboidrati. 
Potremmo anche considerare la soluzione a tre cluster, che ci consente di separare il gruppo ad alto contenuto proteico, a basso contenuto di carboidrati e a basso contenuto di grassi in un gruppo estremo e più moderato. La struttura gerarchica ci aiuta a capire come questi gruppi si relazionano tra loro, permettendoci comunque di trattarli come separati quando necessario. 
JMP consiglierà ak in base al grafico della distanza mostrato sotto il dendrogramma. L'asse x del grafico rappresenta ogni volta che due cluster vengono uniti. L'asse y rappresenta la distanza tra gli ultimi due cluster uniti. Quando la pendenza cambia drasticamente, ciò significa che gli ultimi due ammassi fusi erano relativamente distanti. Ciò suggerisce che i restanti cluster sono relativamente separati e che la configurazione attuale è una buona scelta per k.
Il dendrogramma per questo set di dati è più denso in basso (a sinistra), il che significa che probabilmente ci sono alcuni cluster separabili, cosa che possiamo confermare guardando questi grafici sopra.
Provalo
Il clustering gerarchico (e il clustering in generale) non è una panacea per tutti i problemi legati ai dati senza etichetta. Ma è estremamente efficace nel modellare la struttura gerarchica dei dati in realtàhauna struttura gerarchica. Ci fornisce informazioni al di là del clustering non gerarchico perché ci dice come i diversi cluster si relazionano tra loro. Queste informazioni possono essere preziose se dobbiamo combinare o suddividere cluster. Il clustering gerarchico ti offre una certa flessibilità nel modo in cui raggruppi i tuoi dati e, alla fine, dobbiamo tutti essere un po' più flessibili. Provalo tu stesso con la tabella dati allegata a questo post.
Ciao Chelsea,
Grazie per questo articolo. è molto chiaro ed esplicativo.
Ho una domanda sul clustering e mi chiedevo se potessi aiutarmi.
Sto provando il clustering gerarchico (e K-means) con un insieme di dati relativamente piccolo (17 righe e +/- 90 colonne).
Quando eseguo il clustering utilizzando tutte le colonne, alcune righe vengono escluse dal clustering. Quindi potrei avere cluster 1-2-3-etc a seconda del numero di cluster scelto, ma il numero di righe (osservazioni) in tali cluster è inferiore a 17 (ovvero ad alcune righe non viene assegnato alcun cluster).
C'è qualche motivo per cui questo dovrebbe accadere?
Qualsiasi aiuto è il benvenuto.
Grazie!
Asier