Wie gruppiere ich Punkte basierend auf einer Kerneldichte?

10

Ich habe einen großen Datensatz mit 36.000 Punkten, die kommerzielle Landnutzungen darstellen, wobei jedes Feld die Quadratmeterzahl enthält. Ich habe eine Kerneldichteanalyse für diesen Datensatz durchgeführt und ein Raster erstellt, das die Dichte der kommerziellen Fläche über den gesamten U-Bahn-Bereich zeigt. Ich muss dieses Raster in Regionen unterteilen, die lokalen Maxima entsprechen, die ich als "Zentrum" bezeichne. Ich habe bereits die Standorte der Zentren festgelegt und muss jetzt eines von zwei Dingen tun:

  • Verwenden Sie ein Punkt-Clustering-Tool, z. B. "Partitionieren um Medoide", um die Punkte in Cluster um die von mir identifizierten Zentren zu gruppieren. Das Problem bei dieser Methode ist, dass sie rechenintensiv ist, und dies umso mehr, wenn ich versuche, eine Unähnlichkeitsmatrix zu verwenden, um die Punkte nach Größe zu gewichten.

  • Teilen Sie das Kernel-Dichte-Raster (das in etwa einem Terrain-Raster ähnelt) in einzelne "Hügel" um jedes Zentrum. Aber ich kann mir kein Werkzeug dafür vorstellen.

Dieses Problem hat mich eine Weile geplagt und ich hoffte, dass ich die Clustering-Methode in R ausführen kann, aber es ist zeitaufwändig und mir geht die Zeit davon. Kennt jemand eine einfache Methode, um entweder Dichteraster in Intensitätsviertel zu unterteilen oder große Datenmengen schnell zu gruppieren?

Patrick
quelle
1
Diese Frage ist eng verwandt: stats.stackexchange.com/questions/13995/…
whuber
1
Und auch von mir gepostet, wie sich herausstellt.
Patrick
das wäre 1 Punkt für Patrick, denke ich .....
BWill

Antworten:

6

Die Diskussion nach einem eng verwandten Beitrag ergab eine einfache, effektive Lösung : Um die "Hügel" zu finden, drehen Sie das Gitter auf den Kopf (indem Sie seine Werte negieren) und suchen Sie nach Wassereinzugsgebieten. Die Hügel sind Senken und Wassereinzugsgebietsgrenzen teilen das Gitter in diese Senken.

whuber
quelle
Diese Lösung ist einfach, schnell und genau das, wonach ich gesucht habe. Vielen Dank.
Patrick
3

Die einfachste Antwort wäre, einen Schwellenwert zu verwenden, um Bereiche auszublenden, die unter den Schwellenwert fallen. Dies sollte Ihnen unterschiedliche Bereiche geben, die Ihre Zentren umgeben. Dann sollte es in der Lage sein, diese Bereiche in Formen umzuwandeln.

Möglicherweise finden Sie auch Tools für die räumliche Statistik: Clusteranalyse für Rasterdaten eine nützliche Diskussion über ein ähnliches Problem.

Ian Turton
quelle
Ja, das ist eine sehr relevante Diskussion! Ich lese gerade Ihre MSc-Arbeit durch und werde einige der Methoden ausprobieren.
Patrick
2
Die Verwendung eines Schwellenwerts wird hier wahrscheinlich nicht funktionieren, da ich versuche, Zentren von anderen unmittelbar benachbarten Zentren zu unterscheiden. Im Stadtkern wird die Grenze zwischen den beiden eine sehr hohe Dichte haben, im Vorort wird sie jedoch eine sehr niedrige Dichte haben. Ich hoffe jedoch, dass die Verwendung der zweiten Ableitung effektiv sein wird.
Patrick
3

Ich denke, Sie sollten zu Ihrem ursprünglichen Problem zurückkehren: Finden Sie Cluster von kommerziellen Quadratmetern in einer gesamten Metropolregion.

Ich nehme an, Ihre Punkte sind Zentroide von Paketen mit Werten von kommerziellem Quadratmeter? Ich nehme an, Sie können auch eine Polygonebene von Paketen mit einer Gesamtfläche von Quadratmetern für jedes Paket haben. Das gibt Ihnen eine Fallmenge (die Zentroide) und eine Grundgesamtheit (die Paketpolygone) für kommerzielle und Quadratmeter.

Holen Sie sich SatScan http://www.satscan.org/ und führen Sie ein nur von Poisson verteiltes Modell aus, und Sie haben Ihre kommerziellen Quadratmeter-Cluster in ziemlich kurzer Zeit. (Sie können auch Quadratmeter Land als Ihre Bevölkerung verwenden, anstatt Quadratmeter Gebäudefläche. Das könnte sogar die bessere Bevölkerung sein.)

Blord-Castillo
quelle
Sie haben Recht, dass die Punkte Zentroide sind, aber leider wurde der Datensatz von anderen aus der Parzellenebene jedes Landkreises zusammengestellt und nur als Punkte verteilt. Da SatScan jedoch wie eine sehr nützliche Software aussieht, werde ich dies für andere Anwendungen berücksichtigen.
Patrick