Ich habe eine Korrelationsmatrix, die angibt, wie jedes Objekt mit dem anderen Objekt korreliert ist. Daher habe ich für N Elemente bereits eine N * N Korrelationsmatrix. Wie gruppiere ich mit dieser Korrelationsmatrix die N Elemente in M Fächern, damit ich sagen kann, dass sich die Nk Elemente im k-ten Fach gleich verhalten. Bitte hilf mir raus. Alle Artikelwerte sind kategorisch.
Vielen Dank. Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen. Ich brauche eine Lösung in Python, aber jede Hilfe, um mich an die Anforderungen heranzuführen, wird eine große Hilfe sein.
clustering
python
k-means
Abhishek093
quelle
quelle
Antworten:
Sieht aus wie ein Job für die Blockmodellierung. Google für "Blockmodellierung" und die ersten Treffer sind hilfreich.
Nehmen wir an, wir haben eine Kovarianzmatrix mit N = 100 und es gibt tatsächlich 5 Cluster:
Bei der Blockmodellierung wird versucht, eine Reihenfolge der Zeilen zu finden, sodass die Cluster als "Blöcke" sichtbar werden:
Unten finden Sie ein Codebeispiel, mit dem eine einfache Suche durchgeführt wird, um dies zu erreichen. Es ist wahrscheinlich zu langsam für Ihre 250-300 Variablen, aber es ist ein Anfang. Sehen Sie, ob Sie den Kommentaren folgen können:
quelle
Haben Sie sich mit hierarchischem Clustering befasst? Es kann mit Ähnlichkeiten arbeiten, nicht nur mit Entfernungen. Sie können das Dendrogramm in einer Höhe schneiden, in der es sich in k Cluster aufteilt. In der Regel ist es jedoch besser, das Dendrogramm visuell zu überprüfen und eine Schnitthöhe festzulegen.
Hierarchisches Clustering wird auch häufig verwendet, um eine geschickte Neuordnung für eine Ähnlichkeitsmatrix-Visualisierung zu erzeugen, wie in der anderen Antwort zu sehen ist: Es platziert mehr ähnliche Einträge nebeneinander. Dies kann auch dem Benutzer als Validierungswerkzeug dienen!
quelle
Haben Sie sich mit Korrelationsclustern befasst ? Dieser Cluster-Algorithmus verwendet die paarweise positive / negative Korrelationsinformation, um automatisch die optimale Anzahl von Clustern mit einer genau definierten funktionalen und einer strengen generativen probabilistischen Interpretation vorzuschlagen .
quelle
Correlation clustering provides a method for clustering a set of objects into the optimum number of clusters without specifying that number in advance
. Ist das eine Definition der Methode? Wenn ja, ist es seltsam, weil es andere Methoden gibt, um die Anzahl der Cluster automatisch vorzuschlagen, und auch, warum heißt es dann "Korrelation".Ich würde bei einer sinnvollen (statistischen Signifikanz) Schwelle filtern und dann die Hackfleisch-Mendelsohn-Zerlegung verwenden, um die verbundenen Komponenten zu erhalten. Vielleicht, bevor Sie versuchen können, ein Problem wie die transitiven Korrelationen zu beseitigen (A korreliert stark mit B, B mit C, C mit D, es gibt also eine Komponente, die alle enthält, aber tatsächlich ist D mit A niedrig). Sie können einen Algorithmus auf der Basis von Zwischenwissen verwenden. Es ist kein Biclustering-Problem, wie von jemandem vorgeschlagen, da die Korrelationsmatrix symmetrisch ist und es daher kein Bi-Etwas gibt.
quelle