Gegebene Datenpunkte mit Längengrad, Breitengrad und einem dritten Eigenschaftswert dieses Punktes. Wie kann ich Punkte basierend auf dem Eigenschaftswert in Gruppen (geografische Unterregionen) gruppieren? Ich suchte bei Google und fand heraus, dass dieses Problem als "räumlich begrenztes Clustering" oder "Regionalisierung" bezeichnet wird. Ich bin jedoch nicht mit dem Umgang mit geografischen Daten vertraut und habe keine Ahnung, welche Art von Algorithmen gut sind und welche Python / R-Pakete für diese Aufgabe gut sind.
Angenommen, meine Datenstreudiagramme lauten wie folgt, um eine intuitivere Vorstellung davon zu geben, was ich möchte:
Jeder Punkt ist also ein Punkt, x ist der Längengrad, y ist der Breitengrad und colormap zeigt an, ob der Wert groß oder klein ist. Ich möchte diese Punkte basierend auf der Position und Ähnlichkeit der Werte in Unterregionen / Gruppen / Cluster unterteilen. Wie die folgenden (es ist nicht genau das, was ich will, nur um eine intuitive Idee zu zeigen.):
Wie kann ich das erreichen?
quelle
Antworten:
Das Rioja-Paket bietet Funktionen für eingeschränktes hierarchisches Clustering. Für das, was Sie als "räumlich beschränkt" betrachten, würden Sie Ihre Schnitte basierend auf der Entfernung spezifizieren, während Sie für "Regionalisierung" k nächstgelegene Nachbarn verwenden könnten. Es wird dringend empfohlen, Ihre Daten so zu projizieren, dass sie sich in einem entfernungsbasierten Koordinatensystem befinden.
quelle