Come selezionare un metodo di clustering? Come convalidare una soluzione di cluster (per giustificare la scelta del metodo)?


35

Uno dei maggiori problemi con l'analisi dei cluster è che potrebbe capitare di dover trarre conclusioni diverse quando si basano su diversi metodi di clustering utilizzati (inclusi diversi metodi di collegamento nel clustering gerarchico).

Mi piacerebbe conoscere la tua opinione su questo - quale metodo sceglierai e come. Si potrebbe dire "il miglior metodo di clustering è quello che ti dà la risposta giusta"; ma posso rispondere in risposta che l'analisi del cluster dovrebbe essere una tecnica senza supervisione , quindi come faccio a sapere quale metodo o collegamento è la risposta giusta?

In generale: un cluster da solo è abbastanza robusto da poter contare? Oppure abbiamo bisogno di un secondo metodo e ottenere un risultato condiviso basato su entrambi?

La mia domanda non riguarda solo i modi possibili per convalidare / valutare le prestazioni del clustering, ma è più ampia: su quale base selezioniamo / preferiamo un metodo / algoritmo di clustering rispetto a un altro. Inoltre, ci sono avvertimenti comuni che dovremmo guardare in giro quando stiamo selezionando un metodo per raggruppare i nostri dati?

So che è una domanda molto generale e molto difficile da rispondere. Vorrei solo sapere se hai commenti, consigli o suggerimenti per saperne di più.


Controlla anche questa domanda simile.
ttnphns,

E questo uno.
ttnphns,

2
Alcuni link specifici sulla validazione interna ed esterna: questo . E questo . E quello . E quello . E quello . E questo . E laggiù . E cerca di più.
ttnphns,

Risposte:


50

Spesso dicono che non esiste un'altra tecnica analitica del tipo "come semini che devi falciare", come lo è l'analisi dei cluster.

Posso immaginare un numero di dimensioni o aspetti di "correttezza" di questo o quel metodo di raggruppamento :

  1. Metafora del cluster . "Ho preferito questo metodo perché costituisce un cluster tale (o tale) che incontra il mio concetto di cluster nel mio particolare progetto" . Ogni algoritmo di clustering o sottoalgoritmo / metodo implica la struttura / build / forma corrispondente di un cluster. Per quanto riguarda i metodi gerarchici, l'ho osservato in uno dei punti qui e anche qui. Cioè alcuni metodi danno cluster che sono prototipi di "tipi", altri danno "cerchi [per interesse]", ancora altre "piattaforme [politiche]", "classi", "catene", ecc. Seleziona quel metodo che la metafora del cluster ti soddisfa. Ad esempio, se vedo i segmenti dei miei clienti come tipi - forme più o meno sferiche con compattazione (i) nel mezzo, sceglierò il metodo di collegamento di Ward o K-significa, ma mai il metodo di collegamento singolo, chiaramente. Se avessi bisogno di un punto rappresentativo focale potrei usare il metodo medoid. Se avessi bisogno di sottoporre a screening i punti in quanto rappresentanti di base e periferici, avrei potuto usare l'approccio DBSCAN.

  2. Presupposti su dati / metodi . "Ho preferito questo metodo perché i miei dati o il mio formato lo predispongono" . Questo importante e vasto punto è anche menzionato nel mio link sopra. Diversi algoritmi / metodi possono richiedere tipi diversi di dati per loro o differenti misure di prossimità da applicare ai dati, e viceversa, dati diversi possono richiedere metodi diversi. Esistono metodi quantitativi e metodi per dati qualitativi. Le caratteristiche quantitative + qualitative della miscela restringono drasticamente l'ambito di scelta tra i metodi. Ward o K-significasi basano - esplicitamente o implicitamente - solo su una misura di prossimità della distanza euclidea (al quadrato) e non su una misura arbitraria. I dati binari possono richiedere speciali misure di somiglianza che a loro volta metteranno fortemente in discussione l'utilizzo di alcuni metodi, ad esempio Ward o K-medie, per loro. I big data potrebbero richiedere algoritmi speciali o implementazioni speciali.

  3. Validità interna . "Ho preferito questo metodo perché mi ha dato i cluster più chiari, ben isolati e isolati" . Scegli algoritmo / metodo che mostra i migliori risultati per i tuoi dati da questo punto di vista. Più stretti, densi sono i cluster all'interno e minore è la densità al di fuori di essi (o più ampi sono i cluster) - maggiore è la validità interna. Selezionare e utilizzare i criteri di clustering interno appropriati ( che sono molti - Calinski-Harabasz, Silhouette, ecc., A volte anche chiamati "regole di arresto") per valutarlo. [Attenzione al sovradimensionamento: tutti i metodi di clustering cercano di massimizzare alcune versioni di validità interna (è ciò che è il clustering1circa), una validità così elevata può essere in parte dovuta alla peculiarità casuale del set di dati specificato; avere un set di dati di prova è sempre utile.]

  4. Validità esterna . "Ho preferito questo metodo perché mi ha dato cluster che differiscono per il loro background o cluster che corrispondono a quelli veri che conosco" . Se una partizione di cluster presenta cluster che sono chiaramente diversi su alcune importanti caratteristiche di background (cioè non hanno partecipato all'analisi del cluster), allora è una risorsa per quel metodo che ha prodotto la partizione. Utilizzare qualsiasi analisi applicabile per verificare la differenza; esistono anche una serie di utili criteri di clustering esterno(Rand, misura F, ecc. Ecc.). Un'altra variante del caso di convalida esterna è quando in qualche modo conosci i veri cluster nei tuoi dati (conosci la "verità di base"), come quando hai generato tu stesso i cluster. Quindi quanto accuratamente il tuo metodo di clustering è in grado di scoprire i cluster reali è la misura della validità esterna.

  5. Validità incrociata . "Ho preferito questo metodo perché mi sta dando cluster molto simili su campioni equivalenti di dati o estrapola bene su tali campioni" . Esistono vari approcci e i loro ibridi, alcuni più fattibili con alcuni metodi di clustering mentre altri con altri metodi. Due approcci principali sono il controllo di stabilità e la generalizzabilitàdai un'occhiata. Controllando la stabilità di un metodo di clustering, uno divide o campiona casualmente i dati in insiemi parzialmente intersecanti o completamente disgiunti e fa il clustering su ciascuno; quindi abbina e confronta le soluzioni con alcune caratteristiche emergenti del cluster (ad esempio, la posizione di tendenza centrale di un cluster) se è stabile tra gli insiemi. Il controllo della generalizzabilità implica l'esecuzione del clustering su un set di treni e quindi l'utilizzo della sua caratteristica o regola emergente del cluster per assegnare oggetti di un set di test, oltre a fare anche il clustering sul set di test. Vengono quindi confrontate le appartenenze al cluster del risultato dell'assegnazione e del risultato del clustering degli oggetti del set di test.

  6. Interpretazione . "Ho preferito questo metodo perché mi ha dato dei cluster che, spiegati, sono più persuasivi che ci sia un significato nel mondo" . Non è statistico - è la tua convalida psicologica. Quanto sono significativi i risultati per te, il dominio e, possibilmente, pubblico / cliente. Scegli il metodo che dà risultati più interpretabili e piccanti.

  7. Gregarietà . Alcune ricerche regolarmente e tutte le ricerche occasionalmente direbbero "Ho preferito questo metodo perché ha dato con i miei dati risultati simili con una serie di altri metodi tra tutti quelli che ho sondato" . Questa è una strategia euristica ma discutibile che presuppone l'esistenza di dati abbastanza universali o un metodo abbastanza universale.

I punti 1 e 2 sono teorici e precedono l'ottenimento del risultato; affidarsi esclusivamente a questi punti è la strategia esplorativa altera e sicura di sé. I punti 3, 4 e 5 sono empirici e seguono il risultato; affidarsi esclusivamente a questi punti è la strategia esplorativa irrequieta e provante. Il punto 6 è creativo, il che significa che nega qualsiasi risultato al fine di provare a giustificarlo. Il punto 7 è leale mauvaise foi.

I punti da 3 a 7 possono anche essere giudici nella scelta del numero "migliore" di cluster .


1 Un criterio di clustering interno concreto non è esso stesso "ortogonale a" un metodo di clustering (né al tipo di dati). Ciò solleva una domanda filosofica fino a che punto tale criterio distorto o pregiudicato può essere di utilità (vedi le risposte solo notandolo).


1
Mi piacciono molto le misure di validità interna, come la somma delle varianze intra-cluster in K-mean e il clustering gerarchico di Ward, nonché gli indici di Dunn. Sono indipendenti dai dati e talvolta persino indipendenti dall'algoritmo di clustering, anche se alcuni hanno senso solo con algoritmi specifici.
Douglas De Rizzo Meneghetti,

2
@DouglasDeRizzoMeneghetti Non sono d'accordo. Non sono né indipendenti dai dati (fanno ipotesi molto forti sui tuoi dati, come linearità ed equivalenza di attributi) né indipendenti dall'algoritmo di clustering. In effetti, ogni misura interna è un algoritmo di clustering a sé stante (è possibile ottimizzare per questa funzione - è di solito troppo costoso da fare).
Anony-Mousse,

1
Comprendo che alcune misure di validità interna, come la somma delle varianze all'interno del cluster, ottengono risultati migliori se le appartenenze al cluster sono state acquisite attraverso un metodo di cluster che tende a minimizzare la somma delle varianze all'interno del cluster e che una misura di validità come il Dunn gli indici presumono che i cluster buoni siano compatti e distanti (anche se le interpretazioni di "compatto" e "molto distanti" sono lasciate aperte all'interpretazione), ma il fatto che è possibile calcolare queste misure solo con i valori delle caratteristiche e le appartenenze ai cluster del gli elementi li rendono abbastanza versatili.
Douglas De Rizzo Meneghetti,

9

Ci sono principalmente criteri di bandiera rossa . Proprietà dei dati che indicano che un certo approccio fallirà sicuramente.

  1. se non hai idea di cosa significhino i tuoi dati , smetti di analizzarli. stai solo indovinando gli animali tra le nuvole.

  2. se gli attributi variano in scala e non sono lineari o inclinati. questo può rovinare la tua analisi a meno che tu non abbia un'ottima idea di un'adeguata normalizzazione. Fermati e impara a comprendere le tue funzionalità, è troppo presto per raggruppare.

  3. se ogni attributo è equivalente (stessa scala) e lineare e si desidera quantizzare il proprio set di dati (e l'errore al minimo quadrato ha un significato per i propri dati), allora vale la pena provare k-mean. Se i tuoi attributi sono di diverso tipo e scala, il risultato non è ben definito. Controesempio: età e reddito. Il reddito è molto distorto e non ha x years = y dollarsenso.

  4. se hai un'idea molto chiara di come quantificare la somiglianza o la distanza (in modo significativo ; la capacità di calcolare un numero non è sufficiente), allora il clustering gerarchico e DBSCAN sono una buona scelta. Se non hai idea di come quantificare la somiglianza, risolvi prima quel problema.

Vedete che il problema più comune è che le persone tentano di scaricare i loro dati grezzi in cluster, quando devono prima capirli e normalizzarli e capire la somiglianza.

Esempi:

  1. Pixel di un'immagine nello spazio RGB. I minimi quadrati hanno un senso e tutti gli attributi sono comparabili: k-medie è una buona scelta.

  2. Dati geografici: i minimi quadrati non sono molto appropriati. ci saranno valori anomali. ma la distanza è molto significativa. Usa DBSCAN se hai molto rumore, o HAC (clustering agglomerato gerarchico) se hai dati molto puliti.

  3. Specie osservate in diversi habitat. I minimi quadrati sono dubbi, ma ad esempio la somiglianza di Jaccard è significativa. Probabilmente hai solo poche osservazioni e nessun habitat "falso" - usa HAC.


+1. Ti prego solo di trovare un'altra espressione invece di stop criteria. Perché, come sapete, "regole di arresto" o "criteri di arresto" è sinonimo di "criteri di clustering interno" nel dominio del cluster gerarchico. Quindi è un termine preoccupato. Ma intendi queste parole in senso diverso nella risposta, e questo può confondere un lettore.
ttnphns,

1
Che ne dici di "criteri bandiera rossa"? Soglia di arresto per HAC, vedo il tuo punto.
Anony-Mousse

Ottimo per me, bella scelta.
ttnphns,

Nei punti 2,3 dici (non)linear attributes. Cosa intendi? In che modo un attributo "lineare"? o stai parlando di relazioni lineari , cioè di forme ellittiche (e non curve) di ammassi?
ttnphns,

Dati con ad esempio una distribuzione esponenziale.
Anony-Mousse

3

Non penso che ci sia un buon modo formale per farlo; Penso che le buone soluzioni siano quelle che hanno un senso, sostanzialmente.

Naturalmente, puoi provare a dividere i dati e il clustering più volte e così uno, ma poi c'è ancora la domanda su quale sia utile.


2
Penso che il termine abbia senso non possa essere sottolineato abbastanza. Questo è anche il punto centrale della mia risposta: devi prima dare un senso ai tuoi dati.
Anony-Mousse

@ Anony-Mousse, è un eccesso da parte tua. Scommetto che le persone che non sanno come o dimenticano di "dare un senso" ai loro dati difficilmente visitano questo sito e non fanno domande così valide come quella qui posta.
ttnphns,

@ttnphns Non so quanto spesso queste persone visitino questo sito e certamente non fanno tali domande. Ma molte persone si aspettano che l'analisi dei cluster funzioni come una funzione di Excel. Seleziona i dati, fai clic su "cluster" ed escono i segmenti di clienti magici. Che non sembra mai funzionare molto meglio di quello casuale. E ad esempio questo utente non è riuscito a comprendere i suoi dati: stats.stackexchange.com/q/195521/7828
Anony-Mousse
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.