Ich habe die GAP-Statistik verwendet, um k Cluster in R zu schätzen. Ich bin mir jedoch nicht sicher, ob ich sie gut interpretiere.
Aus der obigen Darstellung gehe ich davon aus, dass ich 3 Cluster verwenden sollte.
Aus dem zweiten Diagramm sollte ich 6 Cluster auswählen. Ist es die richtige Interpretation der GAP-Statistik?
Ich wäre für jede Erklärung dankbar.
Kommentare
- Zwei Fragen – Was zeigt das erste Diagramm? Ist es eine GAP-Statistik für dieselben Daten? Warum sollte es anders aussehen als die zweite (was ich sehe, ist ein GAP). Welche R-Funktionen haben Sie verwendet? Zweite Frage: Haben Sie die Regel ' 1-Standardfehler ' verwendet, um 6 für das zweite Diagramm auszuwählen ?
- Es gibt also zwei verschiedene Ansätze für das Clustering: Der erste basiert auf Zeitreihen – Verkäufe während 26 Wochen und ich habe Daten basierend auf dynamischer Zeit geclustert Das Verziehen. Der zweite Ansatz bestand darin, die Parameter der Wachstumskurve zu gruppieren, die ebenfalls auf dynamischer Zeitverzerrung beruhten. Ich habe
clusGap
basierend auf globalmax verwendet und ' wusste nicht, wie man maxSE implementiert.
Antwort
Um ein ideales Clustering zu erhalten, sollten Sie $ k $ so auswählen, dass Sie die Lückenstatistik maximieren. Hier ist das Beispiel von Tibshirani et al. (2001) in ihrer Arbeit, die Darstellung künstlicher Daten mit 2 Clustern. Wie Sie sehen können, ist 2 eindeutig das ideale $ k $, da die Lückenstatistik bei $ maximiert ist k = 2 $:
In vielen realen Datensätzen sind die Cluster nicht so genau definiert, und wir möchten in der Lage sein, die Maximierung der Lückenstatistik mit der Sparsamkeit des Modells in Einklang zu bringen. Beispiel: OPs erstes Bild. Wenn wir die Lückenstatistik allein maximieren, sollten wir das Modell mit 30 (oder sogar mehr!) Clustern auswählen. Unter der Annahme, dass dieses Diagramm die Ergebnisse natürlich nur weiter erhöhen wird sind weniger nützlich. Daher schlägt Tibshirani die Methode 1-Standardfehler vor:
Wählen Sie die Clustergröße $ \ hat {k} $ als kleinste $ k $, sodass $ \ text {Lücke} (k) \ geq \ text {Lücke} (k + 1) – s_ {k + 1} $.
Was informell den Punkt identifiziert, an dem die Anstiegsrate der Lückenstatistik zu „verlangsamen“ beginnt.
Wenn wir also im ersten Bild von OP die roten Fehlerbalken als Standardfehler betrachten, ist 3 das kleinste $ k $, das dieses Kriterium erfüllt:
Für das zweite Bild von OP wird dies jedoch angezeigt Die Lückenstatistik verringert sich sofort für $ k > 1 $. Das erste $ k $, das das 1-Standardfehler-Kriterium erfüllt, ist also $ 1 $. Dies ist die Art und Weise, wie der Plot sagt, dass die Daten nicht geclustert werden sollten.
Wie sich herausstellt, gibt es zusätzliche Möglichkeiten, das optimale $ k $ auszuwählen. Die Standardmethode der R-Funktion clusGap
sucht beispielsweise immer nach dem lokalen Maximum des Diagramms und wählt das kleinste $ k $ innerhalb eines Standardfehlers aus des lokalen Maximums Mit dieser firstSEmax
-Methode würden wir $ k = 30 $ und $ k = 19 $ für die OP-Diagramme 1 bzw. 2 auswählen. Wie ich bereits sagte, scheint dies jedoch unter einem Komplexitätsproblem zu leiden.
Kommentare
- Beim Schätzen des $ k $ -Werts aus der Lückenstatistik Wie kann ich die Wahrscheinlichkeit berechnen / schätzen, dass $ k $ die wahre Anzahl von Clustern ist? Oder ist meine Frage bedeutungslos?
- Vielen Dank, dass Sie auf den Kompromiss zwischen der Maximierung der Lückenstatistik und der Sparsamkeit des Modells
hingewiesen haben