Ich muss in k-means binäre Variablen (Werte 0 & 1) verwenden. K-means arbeitet aber nur mit stetigen Variablen. Ich weiß, dass einige Leute diese binären Variablen immer noch in k-means verwenden, ohne die Tatsache zu ignorieren, dass k-means nur für kontinuierliche Variablen ausgelegt ist. Das ist für mich inakzeptabel.
Fragen:
- Was ist also die statistisch / mathematisch korrekte Art, binäre Variablen in k-means / hierarchical clustering zu verwenden?
- Wie implementiere ich die Lösung in SAS / R?
r
clustering
binary-data
k-means
mixed-type-data
GeorgeOfTheRF
quelle
quelle
Antworten:
Sie haben Recht, dass k-means Clustering nicht mit Daten gemischter Typen durchgeführt werden sollte. Da k-means im Wesentlichen ein einfacher Suchalgorithmus ist, um eine Partition zu finden, die die euklidischen Abstände innerhalb des Clusters zum Clusterschwerpunkt minimiert, sollte er nur für Daten verwendet werden, bei denen euklidische Abstände im Quadrat von Bedeutung sind.
An dieser Stelle können Sie eine beliebige Clustermethode verwenden, die über eine Distanzmatrix ausgeführt werden kann, anstatt die ursprüngliche Datenmatrix zu benötigen. (Beachten Sie, dass k-means das Letztere benötigt.) Die beliebtesten Optionen sind die Aufteilung um Medoide (PAM, was im Wesentlichen das Gleiche wie k-means ist, aber die zentralste Beobachtung anstelle des Schwerpunkts verwendet), verschiedene hierarchische Clustering-Ansätze (z. B. , Median, Single-Linkage und Complete-Linkage: Beim hierarchischen Clustering müssen Sie entscheiden, wo Sie den Baum abschneiden möchten , um die endgültigen Clusterzuweisungen zu erhalten.) DBSCAN ermöglicht flexiblere Clusterformen.
Hier ist eine einfache
R
Demo (nb, es gibt tatsächlich 3 Cluster, aber die Daten sehen meistens so aus, als wären 2 Cluster angemessen):Wir können beginnen, indem wir mit PAM eine unterschiedliche Anzahl von Clustern durchsuchen:
Diese Ergebnisse können mit den Ergebnissen der hierarchischen Gruppierung verglichen werden:
Die Medianmethode schlägt 2 (möglicherweise 3) Cluster vor, die einzelne unterstützt nur 2, aber die vollständige Methode könnte meinem Auge 2, 3 oder 4 vorschlagen.
Schließlich können wir DBSCAN versuchen. Dazu müssen zwei Parameter angegeben werden: eps, die Erreichbarkeitsentfernung (wie eng zwei Beobachtungen sein müssen, um miteinander verbunden zu werden) und minPts (die Mindestanzahl von Punkten, die miteinander verbunden werden müssen, bevor Sie sie als a bezeichnen möchten) 'cluster'). Eine Faustregel für minPts ist, eine Nummer mehr als die Anzahl der Dimensionen zu verwenden (in unserem Fall 3 + 1 = 4), aber eine zu kleine Nummer zu haben, wird nicht empfohlen. Der Standardwert für
dbscan
ist 5; wir werden dabei bleiben. Eine Möglichkeit, über die Erreichbarkeitsentfernung nachzudenken, besteht darin, festzustellen, wie viel Prozent der Entfernungen unter einem bestimmten Wert liegen. Wir können das tun, indem wir die Verteilung der Entfernungen untersuchen:Die Entfernungen selbst scheinen sich in visuell wahrnehmbare Gruppen von "näher" und "weiter entfernt" zu gruppieren. Ein Wert von 0,3 scheint die beiden Entfernungsgruppen am saubersten zu unterscheiden. Um die Empfindlichkeit der Ausgabe für verschiedene EPS-Optionen zu untersuchen, können Sie auch .2 und .4 ausprobieren:
Die Verwendung
eps=.3
ergibt eine sehr saubere Lösung, die (zumindest qualitativ) mit dem übereinstimmt, was wir aus den obigen Methoden gesehen haben.Da es keine aussagekräftige Cluster-1-Einheit gibt , sollten wir vorsichtig sein, um herauszufinden, welche Beobachtungen aus verschiedenen Cluster-1-Gruppen als "Cluster 1" bezeichnet werden. Stattdessen können wir Tabellen bilden, und wenn die meisten Beobachtungen, die in einer Anpassung als "Cluster 1" bezeichnet werden, in einer anderen als "Cluster 2" bezeichnet werden, sehen wir, dass die Ergebnisse im Wesentlichen immer noch ähnlich sind. In unserem Fall sind die verschiedenen Cluster meist sehr stabil und bringen jedes Mal die gleichen Beobachtungen in die gleichen Cluster. Nur die vollständige hierarchische Verknüpfung der Cluster unterscheidet sich:
Natürlich gibt es keine Garantie dafür, dass bei einer Clusteranalyse die tatsächlich latenten Cluster in Ihren Daten wiederhergestellt werden. Das Fehlen der richtigen Cluster-Labels (die beispielsweise in einer logistischen Regressionssituation verfügbar wären) bedeutet, dass eine enorme Menge an Informationen nicht verfügbar ist. Selbst bei sehr großen Datenmengen sind die Cluster möglicherweise nicht gut genug voneinander getrennt, um perfekt wiederhergestellt werden zu können. In unserem Fall können wir, da wir die wahre Cluster-Mitgliedschaft kennen, diese mit der Ausgabe vergleichen, um zu sehen, wie gut sie funktioniert hat. Wie ich oben erwähnt habe, gibt es tatsächlich 3 latente Cluster, aber die Daten geben stattdessen das Aussehen von 2 Clustern an:
quelle
median method suggests 2 (possibly 3) clusters, the single only supports 2, but the complete method could suggest 2, 3 or 4
wie Sie zu diesem Ergebnis kommen. mit einer Höhe von 0,3?Schauen Sie sich dieses Dokument von Finch an, http://www.jds-online.com/files/JDS-192.pdf . Es wird sowohl beschrieben, warum das Anwenden kontinuierlicher Methoden auf Binärdaten die Daten ungenau gruppieren kann, als auch, was noch wichtiger ist, welche Auswahlmöglichkeiten in geeigneten Distanzfunktionen bestehen. Es wird nicht beantwortet, wie mit k-means geclustert wird, sondern wie Binärdaten mit nichteuklidischen Metriken und einer hierarchischen Methode wie Ward richtig geclustert werden.
quelle