Mehr

Berechnen der räumlichen Korrelation zwischen Features aus zwei separaten Layern in QGIS

Berechnen der räumlichen Korrelation zwischen Features aus zwei separaten Layern in QGIS


Ich versuche herauszufinden, ob die Präsenz einer großen Anzahl von Militärtruppen im aktiven Dienst in einem Gebiet räumlich mit einer höheren/niedrigeren Gewaltkriminalität korreliert. Das heißt, sind die Gebiete, die große Militärstützpunkte umgeben, im Durchschnitt gewalttätiger/weniger gewalttätig als Gebiete, die nicht in der Nähe von Militärstützpunkten liegen?

Ich arbeite mit den folgenden zwei Datensätzen:

(1) eine Reihe von Punktdaten von Militärstützpunkten in den kontinentalen USA und ihren entsprechenden Truppenstärken:

(2) eine Reihe landesweiter Daten zu Gewaltkriminalität nach Städten:

Ich habe das Gefühl, dass ich nach einer Art schwerkraftbasiertem Modell suche, bei dem die "Masse" -Funktion Truppenstufen an jeder Basis angibt. Eine große Truppenpräsenz würde also einen größeren Einfluss ausüben und einen stärkeren Effekt in der Nähe des Massenschwerpunkts (d. h. der Punktposition in der GIS-Schicht) haben.

Ich denke, konzeptionell würde es ungefähr so ​​aussehen:

In diesem Diagramm X,Y,Z Militärstützpunkte darstellen. A B C D stellen jeweils Städte dar (von denen jede ein Feld für die Gewaltrate in ihrer Attributtabelle hat).

Der Gradient um die Basen stellt das Einflussfeld dar, das mit der Entfernung vom Basisschwerpunkt exponentiell abnimmt. Eine größere Truppenpräsenz entspricht einem größeren Einflussradius (mit einer gewissen maximalen Schwellenentfernung) und auch einem stärkeren Einfluss in der Nähe des Zentrums relativ zu den Gebieten in der Nähe einer kleineren Basis.

Jeder Stadt wird eine Punktzahl zugewiesen, die auf der Summe der Größe aller "Kraft"-Vektoren von allen umgebenden Basen basiert, in deren Einflussradius sie liegen. In meinem Diagramm zum Beispiel Stadt ein würde eine Punktzahl von 0 haben, da sie außerhalb des Radius einer beliebigen Basis liegt. Stadt B würde nur von base beeinflusst werden x. Stadt C würde nur von Base beeinflusst werden Z, und seine Punktzahl wäre niedriger als B, seit x ist eine viel größere Basis als Z. Endlich Stadt D liegt im Radius beider Basen x und Ja, würde es eine Punktzahl erhalten, die auf der Summierung des Ausmaßes des Einflusses von beiden Basen basiert. Ich würde dann sehen, ob es einen Zusammenhang zwischen einer höheren Punktzahl für eine Stadt und einer höheren Gewaltrate gibt.

Ich habe verschiedene schwerkraftbasierte Modelle (Huff-Modelle usw.) untersucht, konnte aber bis zu QGIS/Python nicht viel finden und bin mir nicht ganz sicher, wie ich das oben Beschriebene implementieren soll ... Hat jemand Vorschläge dafür? ? Hat jemand von euch diese Art von Analyse schon in anderen Bereichen gemacht?

Die TLDR lautet also:

  • Welche statistischen Techniken könnte ich für diese Art von Frage verwenden?
  • Gibt es in QGIS integrierte (oder als Plugins verfügbare) Tools, die dies tun können?
  • Wenn es in QGIS nichts dergleichen gibt, gibt es Python-Bibliotheken, die diese Art von Analyse durchführen können?

Erweiterung meines Kommentars oben

Was Sie wahrscheinlich am Ende tun möchten, ist eine lineare Regression mit räumlicher Verzögerung, die die räumliche Korrelation einiger Ihrer Variablen berücksichtigt (ich muss mir meine Notizen dazu ansehen).

Luc Anselin war ein Pionier in diesem Bereich, und Sie sollten sich seine Arbeit ansehen, insbesondere die (kostenlosen) Tools und die Dokumentation des GeoDa-Zentrums. Beide Tools könnten für Sie von Interesse sein:

  1. GeoDa, eine eigenständige Software zur Untersuchung der räumlichen (automatischen) Korrelation.
  2. PySAL, eine Python-Bibliothek für räumliche Analysen.

Meine Suche nach einem PySAL-Plugin für QGIS hat etwas gefunden, das seit Jahren nicht mehr aktualisiert wurde, aber vielleicht haben Sie mehr Glück.


Schau das Video: QGIS Field Calculator Basics