Scelta del metodo di collegamento corretto per il clustering gerarchico


33

Sto eseguendo il clustering gerarchico sui dati raccolti ed elaborati dal dump dei dati reddit su Google BigQuery.

Il mio processo è il seguente:

  • Ricevi gli ultimi 1000 post in / r / politica
  • Raccogli tutti i commenti
  • Elaborare i dati e calcolare una n x mmatrice di dati (n: utenti / campioni, m: post / caratteristiche)
  • Calcola la matrice della distanza per il clustering gerarchico
  • Scegli un metodo di collegamento ed esegui il clustering gerarchico
  • Traccia i dati come un dendrogramma

La mia domanda è: come posso determinare qual è il miglior metodo di collegamento ? Attualmente sto usando Ward, ma come faccio a sapere se dovrei usare single, complete, average, ecc?

Sono molto nuovo con queste cose, ma non riesco a trovare una risposta chiara online perché non sono sicuro che ce ne sia una. Quindi quale potrebbe essere una buona idea per la mia applicazione? Nota che i dati sono relativamente scarsi, nel senso che la n x mmatrice ha molti zero (la maggior parte delle persone non commenta più di alcuni post).


Mettendo da parte il problema specifico del collegamento, cosa significherebbe "meglio" nel tuo contesto?
gung - Ripristina Monica

La cosa migliore per me è trovare il modo più logico per collegare il mio tipo di dati. vale a dire: quale approccio definisce accuratamente cosa si intende per "distanza" all'interno delle mie caratteristiche.
Kevin Eger,

2
Kevin, dai un'occhiata a questa risposta e a questa domanda molto recente . Imparerai che la domanda ("quale metodo usare") che stai sollevando non è facile. Dovresti assolutamente leggere la letteratura sul clustering (almeno gerarchico) prima di poter vedere la differenza tra i metodi ed essere in grado di scegliere. L'analisi dei dati non deve essere trattata off-handly.
ttnphns,

1
@ttnphns, grazie per il link - è stata una buona lettura e prenderò in considerazione questi punti.
Kevin Eger,

Risposte:


58

Panoramica dei metodi

Breve riferimento su alcuni metodi di collegamento dell'analisi dei cluster agglomerativi gerarchici (HAC).

La versione base dell'algoritmo HAC è un generico; equivale ad aggiornare, ad ogni passo, con la formula nota come formula di Lance-Williams, le prossimità tra il cluster emergente (unito di due) e tutti gli altri cluster (inclusi oggetti singleton) esistenti finora. Esistono implementazioni che non usano la formula di Lance-Williams. Ma usarlo è conveniente: permette a un codice vari metodi di collegamento dallo stesso modello.

La formula di ricorrenza include diversi parametri (alfa, beta, gamma). A seconda del metodo di collegamento, i parametri sono impostati in modo diverso e quindi la formula non imballata ottiene una vista specifica. Molti testi su HAC mostrano la formula, i suoi punti di vista specifici del metodo e spiegano i metodi. Consiglierei gli articoli di Janos Podani come molto accurati.

La stanza e la necessità dei diversi metodi derivano dal fatto che una prossimità (distanza o somiglianza) tra due cluster o tra un cluster e un oggetto singleton potrebbe essere formulata in molti modi diversi. HAC unisce ad ogni passo due cluster o punti più vicini, ma come calcolare la suddetta prossimità nella faccia che la matrice di prossimità di input è stata definita solo tra oggetti singleton, è il problema da formulare.

Pertanto, i metodi differiscono rispetto al modo in cui definiscono la prossimità tra due cluster qualsiasi in ogni fase. "Coefficiente di collisione" (output nel programma / storia dell'agglomerato e formazione dell'asse "Y" su un dendrogramma) è solo la vicinanza tra i due cluster uniti in un determinato passaggio.

  • Metodo di collegamento singolo o vicino più vicino . La vicinanza tra due cluster è la vicinanza tra i loro due oggetti più vicini. Questo valore è uno dei valori della matrice di input. La metafora concettuale di questo costruito di cluster, il suo archetipo, è spettro o catena . Le catene potrebbero essere diritte o curve, o potrebbero essere come "fiocco di neve" o vista "ameba". Due membri del cluster più diversi possono capitare di essere molto diversi rispetto ai due più simili. Il metodo di collegamento singolo controlla solo la somiglianza dei vicini più vicini.

  • Metodo di collegamento completo o vicino più lontano . La vicinanza tra due cluster è la vicinanza tra i loro due oggetti più distanti. Questo valore è uno dei valori della matrice di input. La metafora di questo cluster costruito è il cerchio (nel senso, per hobby o trama) in cui due membri più distanti tra loro non possono essere molto più diversi dalle altre coppie abbastanza diverse (come in cerchio). Tali cluster sono contorni "compatti" per i loro bordi, ma non sono necessariamente compatti all'interno.

  • Metodo di collegamento medio tra gruppi (UPGMA). La vicinanza tra due cluster è la media aritmetica di tutte le prossimità tra gli oggetti di uno, da un lato, e gli oggetti dell'altro, dall'altro lato. La metafora di questo cluster costruito è piuttosto generica, solo di classe unita o collettiva affiatata; e il metodo viene spesso impostato come predefinito nei pacchetti di clustering gerarchico. Possono essere prodotti gruppi di forme e contorni vari.

  • La media semplice o metodo di collegamento medio equilibrato tra gruppi (WPGMA) è il precedente modificato. La prossimità tra due cluster è la media aritmetica di tutte le prossimità tra gli oggetti di uno, da un lato, e gli oggetti dell'altro, dall'altro lato; mentre i sotto-cluster di cui ciascuno di questi due cluster sono stati fusi di recente hanno influenzato in modo equo la vicinanza - anche se i sotto-cluster differivano nel numero di oggetti.

  • Metodo di collegamento medio all'interno del gruppo (MNDIS). La prossimità tra due cluster è la media aritmetica di tutte le prossimità nel loro cluster articolare. Questo metodo è un'alternativa a UPGMA. Di solito perderà in termini di densità del cluster, ma a volte scoprirà forme cluster che UPGMA non lo farà.

  • Centroid metodo (UPGMC). La vicinanza tra due ammassi è la vicinanza tra i loro centroidi geometrici: distanza [quadrata] euclidea tra quelli. La metafora di questo cluster costruito è la vicinanza di piattaforme (politica). Come nei partiti politici, tali cluster possono avere frazioni o "fazioni", ma a meno che le loro figure centrali siano separate l'una dall'altra l'unione è coerente. I cluster possono essere diversi per struttura.

  • Il metodo centroide mediano o equilibrato (WPGMC) è il precedente modificato. La prossimità tra due gruppi è la vicinanza tra i loro centroidi geometrici (distanza euclidea [quadrata] tra quelli); mentre i centroidi sono definiti in modo tale che i sotto-cluster di cui ciascuno di questi due cluster sia stato unito di recente abbia influenzato il suo centroide in modo uniforme, anche se i sotto-cluster differivano nel numero di oggetti.

  • SS12-(SS1+SS2)2. Intuitivamente, un tipo è una nuvola più densa e più concentrica verso il suo centro, mentre i punti marginali sono pochi e potrebbero essere dispersi relativamente liberamente.

Alcuni tra metodi meno noti (vedi Podany J. Nuovi metodi di raggruppamento combinatorio // Vegetatio, 1989, 81: 61-77.) [Implementato anche da me come una macro SPSS trovata sulla mia pagina web]:

  • SS122

  • MS12-(n1MS1+n2MS2)/(n1+n2)=[SS12-(SS1+SS2)]/(n1+n2)4

  • MS12=SS12/(n1+n2)4

I primi 5 metodi consentono qualsiasi misura di prossimità (somiglianze o distanze) e i risultati dipenderanno, naturalmente, dalla misura scelta.

Gli ultimi 6 metodi richiedono distanze; e sarà corretto usare solo distanze euclidee quadrate con loro, poiché questi metodi calcolano i centroidi nello spazio euclideo. Pertanto le distanze dovrebbero essere euclidee per motivi di correttezza geometrica (questi 6 metodi sono chiamati insieme metodi di collegamento geometrico ). Nel peggiore dei casi, potresti inserire un'altra metricadistanze nell'ammettere analisi più euristiche, meno rigorose. Ora su quel "quadrato". Il calcolo dei centroidi e le deviazioni da essi sono i più convenienti matematicamente / programmaticamente per eseguire su distanze quadrate, ecco perché i pacchetti HAC di solito richiedono di immettere e sono sintonizzati per elaborare quelli quadrati. Tuttavia, esistono implementazioni - completamente equivalenti ma un po 'più lente - basate sull'immissione di distanze non quadrate e che richiedono quelle; vedere ad esempio l' implementazione "Ward-2" per il metodo di Ward. Dovresti consultare la documentazione del tuo programma di clustering per sapere quali distanze - al quadrato o meno - si aspetta in input a un "metodo geometrico" per farlo bene.

Metodi MNDIS, MNSSQ e MNVAR richiedono sui passaggi, oltre ad aggiornare la formula di Lance-Williams, di memorizzare una statistica all'interno del cluster (che dipende dal metodo).

I metodi che sono più frequentemente utilizzati negli studi in cui si prevede che i cluster siano solidi più o meno nuvole rotonde, - sono metodi di collegamento medio, metodo di collegamento completo e metodo di Ward.

Il metodo di Ward è il più vicino, per mezzo di proprietà ed efficienza, al clustering dei mezzi K; condividono la stessa funzione oggettiva: minimizzare le SS all'interno del cluster "alla fine". Naturalmente, K-significa (essendo iterativo e se fornito con decenti centroidi iniziali) di solito è un minimizzatore migliore di esso rispetto a Ward. Tuttavia, Ward mi sembra un po 'più preciso dei mezzi K nello scoprire ammassi di dimensioni fisiche irregolari (varianze) o ammassi lanciati nello spazio in modo molto irregolare. Il metodo MIVAR è strano per me, non riesco a immaginare quando possa essere raccomandato, non produce cluster abbastanza densi.

Metodi centroide, mediano, aumento minimo della varianza - a volte possono dare le cosiddette inversioni : un fenomeno in cui i due cluster che vengono uniti ad un certo punto appaiono più vicini l'uno all'altro rispetto alle coppie di cluster unite in precedenza. Questo perché questi metodi non appartengono al cosiddetto ultrametrico. Questa situazione è scomoda ma teoricamente OK.

I metodi di collegamento singolo e centroide appartengono alla cosiddetta contrattazione spaziale o "concatenamento". Ciò significa - approssimativamente parlando - che tendono ad attaccare gli oggetti uno alla volta ai cluster, e quindi dimostrano una crescita relativamente regolare della curva "% degli oggetti raggruppati". Al contrario, i metodi di collegamento completo, Ward, somma dei quadrati, aumento della varianza e varianza ottengono comunemente una considerevole quota di oggetti raggruppati anche sui primi passi, e quindi procedono a fondere ancora quelli - quindi la loro curva “% di oggetti raggruppati "È ripido dai primi passi. Questi metodi sono chiamati dilatazione dello spazio . Altri metodi si frappongono.

Versioni flessibili . Aggiungendo il parametro aggiuntivo nella formula di Lance-Willians è possibile fare in modo che un metodo diventi specificamente auto-tuning sui suoi passi. Il parametro introduce la correzione per la prossimità tra cluster che viene calcolata, che dipende dalla dimensione (quantità di decompatibilità) dei cluster. Il significato del parametro è che rende il metodo di agglomerazione più dilatazione dello spazio o contrazione dello spazio rispetto al metodo standard destinato a essere. L'implementazione più nota della flessibilità finora è quella dei metodi di collegamento medio UPGMA e WPGMA (Belbin, L. et al. Un confronto di due approcci al clustering flessibile Beta // Ricerca comportamentale multivariata, 1992, 27, 417–433. ).

Dendrogram. Su un asse "Y" del dendrogramma, in genere viene visualizzata la vicinanza tra i cluster di fusione, come definito dai metodi sopra. Pertanto, ad esempio, nel metodo centroide la distanza al quadrato è in genere misurata (in ultima analisi, dipende dal pacchetto e dalle opzioni) - alcune ricerche non ne sono consapevoli. Inoltre, per tradizione, con metodi basati sulla incremento di nondensity, come Ward, di solito indicato sul dendrogramma è cumulativo valore - è presto per motivi di convenienza rispetto a quelli teorici. Pertanto, (in molti pacchetti) il coefficiente tracciato nel metodo di Ward rappresenta la somma dei quadrati all'interno del cluster osservata al momento di un determinato passaggio.

Si dovrebbe astenersi dal giudicare quale metodo di collegamento sia "migliore" per i suoi dati confrontando l'aspetto dei dendrogrammi: non solo perché gli sguardi cambiano quando si cambia quale modifica del coefficiente tracciare lì - come è stato appena descritto, - ma perché l'aspetto differirà anche sui dati senza cluster.

Per scegliere il metodo "giusto"

Non esiste un singolo criterio. Alcune linee guida su come scegliere un metodo di analisi dei cluster (incluso un metodo di collegamento in HAC come un caso particolare) sono delineate in questa risposta e l'intero thread in essa.


1

La correlazione tra la matrice di distanza e la distanza cophenetic è una metrica per aiutare a valutare quale collegamento di clustering selezionare. Da ?cophenetic:

Si può sostenere che un dendrogramma è un sommario appropriato di alcuni dati se la correlazione tra le distanze originali e le distanze copenetiche è elevata.

Questo uso di cor(dist,cophenetic(hclust(dist)))come metrica di selezione del collegamento è indicato nella pagina 38 di questa vegan vignetta .

Vedi il codice di esempio di seguito:

# Data
d0=dist(USArrests)

# Hierarchical Agglomerative Clustering
h1=hclust(d0,method='average')
h2=hclust(d0,method='complete')
h3=hclust(d0,method='ward.D')
h4=hclust(d0,method='single')

# Cophenetic Distances, for each linkage
c1=cophenetic(h1)
c2=cophenetic(h2)
c3=cophenetic(h3)
c4=cophenetic(h4)

# Correlations
cor(d0,c1) # 0.7658983
cor(d0,c2) # 0.7636926
cor(d0,c3) # 0.7553367
cor(d0,c4) # 0.5702505

# Dendograms
par(mfrow=c(2,2))
plot(h1,main='Average Linkage')
plot(h2,main='Complete Linkage')
plot(h3,main='Ward Linkage')
plot(h4,main='Single Linkage')
par(mfrow=c(1,1))

Vediamo che le correlazioni per averagee completesono estremamente simili e i loro dendogrammi appaiono molto simili. La correlazione per wardè simile averagee completema il dendogramma sembra abbastanza diverso. singleil collegamento sta facendo le sue cose. Il miglior giudizio professionale da parte di un esperto in materia o la precedenza verso un certo collegamento nel campo di interesse dovrebbe probabilmente prevalere sull'output numerico da cor().

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.