Ho utilizzato la statistica GAP per stimare k cluster in R. Tuttavia “non sono sicuro di interpretarla bene. invio descrizione dellimmagine qui

Dalla trama sopra presumo che dovrei usare 3 cluster.

inserisci la descrizione dellimmagine qui

Dal secondo grafico dovrei scegliere 6 cluster. È uninterpretazione corretta della statistica GAP?

Sarei grato per qualsiasi spiegazione.

Commenti

  • Due domande – Qual è il primo grafico che mostra? È una statistica GAP per gli stessi dati? Perché dovrebbe apparire diverso dal secondo (che vedo è un GAP). Quali funzioni R hai utilizzato? Seconda domanda: hai utilizzato la regola ' 1-errore standard ' per scegliere 6 per il secondo grafico ?
  • Esistono quindi due diversi approcci al clustering: il primo basato su serie temporali: vendite per 26 settimane e io i dati raggruppati in base al e deformazione. Il secondo approccio è stato quello di raggruppare i parametri della curva di crescita, anchessi basati sul time warping dinamico. Ho utilizzato clusGap in base a globalmax, ' non sapevo come implementare maxSE.

Risposta

Per ottenere un clustering ideale, dovresti selezionare $ k $ in modo da massimizzare la statistica del gap. Ecco lesempio fornito da Tibshirani et al. (2001) nel loro articolo, il grafico formato da dati artificiali con 2 cluster. Come puoi vedere, 2 è chiaramente lideale $ k $, perché la statistica del gap è massimizzata a $ k = 2 $:

Statistica gap

Tuttavia , in molti set di dati del mondo reale, i cluster non sono così ben definiti e vogliamo essere in grado di bilanciare massimizzando la statistica del gap con la parsimonia del modello. Caso in questione: la prima immagine di OP. Se stiamo massimizzando la statistica del divario solo , allora dovremmo scegliere il modello con 30 (o anche più!) Cluster. Supponendo che quel grafico continui ad aumentare, ovviamente, i risultati sono meno utili. Quindi Tibshirani suggerisce il metodo 1-standard-error :

Scegli la dimensione del cluster $ \ hat {k} $ come il più piccolo $ k $ tale che $ \ text {Gap} (k) \ geq \ text {Gap} (k + 1) – s_ {k + 1} $.

Che informalmente sta identificando il punto in cui il tasso di aumento della statistica del gap inizia a “rallentare”.

Quindi, nella prima immagine di OP, se prendiamo le barre di errore rosse come un errore standard, allora 3 è il $ k $ più piccolo che soddisfa questo criterio:

Immagine con annotazioni 1

Per la seconda immagine di OP, tuttavia, vedrai che la statistica del divario diminuisce immediatamente per $ k > 1 $. Quindi il primo $ k $ che soddisfa il criterio di errore standard 1 è $ 1 $. Questo è il modo in cui la trama dice che i dati non dovrebbero essere raggruppati.

Come risulta, ci sono altri modi per scegliere $ k $ ottimale. Il metodo predefinito della funzione R clusGap , ad esempio, cerca sempre il massimo locale del grafico e seleziona il $ k $ più piccolo allinterno di un errore standard del massimo locale. Utilizzando questo metodo firstSEmax, selezioneremmo $ k = 30 $ e $ k = 19 $ rispettivamente per i grafici 1 e 2 di OP. Come ho detto, tuttavia, questo sembra soffrire di un problema di complessità.

Fonte: Robert Tibshirani, Guenther Walther e Trevor Hastie (2001). Stima del numero di cluster in un set di dati tramite la statistica del gap.

Commenti

  • Quando si stima il valore di $ k $ dalla statistica del gap , come posso calcolare / stimare la probabilità che $ k $ sia il vero numero di cluster? O la mia domanda è priva di significato?
  • Grazie per aver sottolineato il compromesso tra la massimizzazione della statistica del divario e la parsimonia del modello

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *