Zwei räumliche Punktmuster vergleichen?

41

Wenn ich zwei Punktmusterverteilungen innerhalb derselben geografischen Region habe, wie würde ich diese beiden Verteilungen visuell und quantitativ vergleichen?

Nehmen wir auch an, ich habe viele Punkte in einer kleineren Region, daher ist es nicht aussagekräftig, einfach eine PIN-Karte anzuzeigen.

Andy W
quelle

Antworten:

32

Wie immer hängt es von Ihren Zielen und der Art der Daten ab. Für vollständig zugeordnete Daten ist die L-Funktion von Ripley ein leistungsfähiges Werkzeug, ein enger Verwandter der K-Funktion von Ripley . Viele Software kann dies berechnen. ArcGIS könnte dies inzwischen tun. Ich habe nicht nachgesehen. CrimeStat macht es. So tun GeoDa und R . Ein Beispiel für die Verwendung mit zugehörigen Karten finden Sie in

Sinton, DS und W. Huber. Kartierung der Polka und ihres ethnischen Erbes in den Vereinigten Staaten. Journal of Geography Vol. 106: 41 & ndash; 47. 2007

Hier ist ein CrimeStat-Screenshot der "L-Funktion" -Version von Ripley's K:

Screenshot der K-Funktion von Ripley

Die blaue Kurve dokumentiert eine sehr nicht zufällige Verteilung von Punkten, da sie nicht zwischen den roten und grünen Bändern um Null liegt, in denen die blaue Kurve für die L-Funktion einer zufälligen Verteilung liegen soll.

Bei abgetasteten Daten hängt vieles von der Art der Abtastung ab. Eine gute Quelle dafür ist Steven Thompsons Lehrbuch über Sampling , das für diejenigen mit begrenztem (aber nicht vollständig fehlendem) Hintergrund in Mathematik und Statistik zugänglich ist .

Im Allgemeinen können die meisten statistischen Vergleiche grafisch dargestellt werden und alle grafischen Vergleiche entsprechen einem statistischen Gegenstück oder legen es nahe. Aus diesem Grund schlagen alle Ideen, die Sie aus der statistischen Literatur erhalten, wahrscheinlich nützliche Wege vor, um die beiden Datensätze abzubilden oder auf andere Weise grafisch zu vergleichen.

whuber
quelle
Vielen Dank für das Dixon-Papier, es scheint eine hervorragende Ressource zu sein. Ich bin nie auf die Unterscheidung zwischen räumlicher Interaktion und zufälliger Beschriftung für multivariate Muster gestoßen. Ich muss nachlesen.
Andy W
+1 Gute Ressourcen. Die alte Binsenweisheit, dass "90% der Fische in 10% des Sees" sind, hängt also wirklich von der Probenahmemethode ab?
Kirk Kuykendall
@Kirk Für viele von uns sind 0% der Fische in den 10% des Sees, die wir tatsächlich erreichen!
whuber
14

Hinweis: Das Folgende wurde nach Whubers Kommentar bearbeitet

Vielleicht möchten Sie einen Monte-Carlo-Ansatz wählen. Hier ist ein einfaches Beispiel. Angenommen, Sie möchten feststellen, ob die Verteilung von Verbrechensereignissen A statistisch der von B ähnlich ist, dann könnten Sie die Statistik zwischen Ereignissen A und B mit einer empirischen Verteilung eines solchen Maßes für zufällig neu zugewiesene "Marker" vergleichen.

Zum Beispiel bei einer Verteilung von A (weiß) und B (blau),

Bildbeschreibung hier eingeben

Sie ordnen die Bezeichnungen A und B nach dem Zufallsprinzip ALLEN Punkten im kombinierten Datensatz zu. Dies ist ein Beispiel für eine einzelne Simulation:

Bildbeschreibung hier eingeben

Sie wiederholen dies viele Male (etwa 999 Mal) und berechnen für jede Simulation eine Statistik (in diesem Beispiel die durchschnittliche Statistik des nächsten Nachbarn) unter Verwendung der zufällig beschrifteten Punkte. Die folgenden Codeausschnitte befinden sich in R (erfordert die Verwendung der spatstat- Bibliothek).

nn.sim = vector()
P.r = P
for(i in 1:999){
  marks(P.r) = sample(P$marks)  # Reassign labels at random, point locations don't change
  nn.sim[i] = mean(nncross(split(P.r)$A,split(P.r)$B)$dist)
}

Sie können die Ergebnisse dann grafisch vergleichen (die rote vertikale Linie ist die ursprüngliche Statistik).

hist(nn.sim,breaks=30)
abline(v=mean(nncross(split(P)$A,split(P)$B)$dist),col="red")

Bildbeschreibung hier eingeben

oder numerisch.

# Compute empirical cumulative distribution
nn.sim.ecdf = ecdf(nn.sim)

# See how the original stat compares to the simulated distribution
nn.sim.ecdf(mean(nncross(split(P)$A,split(P)$B)$dist)) 

Beachten Sie, dass die durchschnittliche Statistik des nächsten Nachbarn möglicherweise nicht das beste statistische Maß für Ihr Problem ist. Statistiken wie die K-Funktion könnten aufschlussreicher sein (siehe Whubers Antwort).

Das Obige kann mit Modelbuilder problemlos in ArcGIS implementiert werden. In einer Schleife wird durch zufälliges Zuweisen von Attributwerten zu jedem Punkt eine räumliche Statistik berechnet. Sie sollten in der Lage sein, die Ergebnisse in einer Tabelle zusammenzufassen.

MannyG
quelle
2
Vielleicht möchten Sie einen Permutationstest anstelle des Ansatzes der Kerneldichte in Betracht ziehen, Manny. Die Nullhypothese lautet, dass die blauen und weißen Bezeichnungen von den Punkten unabhängig sind. Um dies zu testen, nehmen Sie eine Statistik an, die für die Nachbarschaft geeignet ist (z. B. die mittlere Entfernung zwischen blauen und weißen Punkten auf Straßen). Ordnen Sie die Farben nach dem Zufallsprinzip allen Punkten zu, wobei die Blau- und Weißanteile gleich bleiben, und berechnen Sie die Statistik neu. Wiederholen Sie diesen Vorgang mehrmals, um die Nullverteilung der Statistik abzuschätzen. Beziehen Sie sich auf den tatsächlichen Wert der Statistik auf diese Verteilung, um einen p-Wert zu erhalten.
whuber
Vielen Dank. Es ist mir nie in den Sinn gekommen, dies als ein ausgeprägtes Problem zu betrachten. Ich habe meine Antwort aktualisiert, um diesen Ansatz widerzuspiegeln. Mir ist jedoch nicht klar, warum mein ursprünglicher Ansatz (dh die Verwendung eines Kerneldichtegitters zur Erzeugung zufälliger Punkte) zu einem anderen Ergebnis führte. Tatsächlich reflektierte es (meine ursprüngliche Lösung) nicht genau die Tatsache, dass sowohl A als auch B aus einem ähnlichen Prozess stammten. Liegt das daran, dass der Kernel-Dichteansatz die uns durch die Punktdaten bereitgestellten Details nicht ausnutzt?
MannyG 31.01.12
1
Die Kerneldichte weist ein kleines Element der Beliebigkeit auf (verbunden mit der Wahl der Halbwertsbreite). Dies kann einen Unterschied machen. Es ist auch etwas entfernt von dem, was wirklich vor sich geht: Es gibt einen zugrunde liegenden Prozess, der Punkte produziert. Sie sehen eine Realisierung dieses Prozesses; du machst einen KDE daraus ; Dann zeichnen Sie neue Erkenntnisse aus diesem KDE. Tatsächlich reproduzieren Sie nur neue Konfigurationen, ähnlich der einzelnen Konfiguration, die Sie beobachten. Beim Permutationsansatz rechtfertigt die Nullhypothese, dass beide Verteilungen gleich sind, das Permutieren der Markierungen: Dies ist direkt und mächtig.
whuber
1
Vielen Dank für die Eingabe, ich werde einen ausführlicheren Kommentar abgeben, wenn ich mehr Zeit habe. Es wäre gut, diesen R-Code zu notieren (haben Sie in der Antwort sogar erwähnt, dass es sich um R-Code handelt?), Und er verwendet Funktionen im spatstatPaket.
Andy W
2
+1, Einer der Vorteile der Verwendung von Permutationstests wie diesem ist 1), wenn sie auf die Spezifität des Geocodierers (Adresse oder Adressbereiche für Kriminalitätsdaten in den meisten Fällen) beschränkt sind und Punktmuster im Vergleich zur vollständigen räumlichen Zufälligkeit nicht ausreichen viel Sinn. 2) Solche Permutationstests vermeiden Probleme mit Randeffekten. Natürlich handelt es sich hierbei um Überverallgemeinerungen, aber ich denke, ein solcher Rahmen kann verallgemeinert werden, um viele verschiedene Arten von Punktmusterstatistiken auszuwerten.
Andy W
4

Vielleicht möchten Sie CrimeStat ausprobieren.

Laut der Website:

CrimeStat ist ein von Ned Levine & Associates entwickeltes Raumstatistikprogramm zur Analyse von Orten von Straftaten, das aus Mitteln des National Institute of Justice finanziert wurde (Stipendien 1997-IJ-CX-0040, 1999-IJ-CX-0044, 2002-IJ-CX-0007 und 2005-IJ-CX-K037). Das Programm basiert auf Windows und ist mit den meisten Desktop-GIS-Programmen kompatibel. Ziel ist es, zusätzliche statistische Instrumente bereitzustellen, um Strafverfolgungsbehörden und Forschern der Strafjustiz bei ihren Kriminalitätskartierungsbemühungen zu helfen. CrimeStat wird von vielen Polizeidienststellen auf der ganzen Welt sowie von der Strafjustiz und anderen Forschern verwendet. Die neueste Version ist 3.3 (CrimeStat III).

RK
quelle
2

Ein einfacher und schneller Ansatz könnte darin bestehen, Heatmaps und eine Differenzkarte dieser beiden Heatmaps zu erstellen. Siehe auch: Wie man effektive Heatmaps erstellt?

Underdunkel
quelle
3
Wenn Sie zwei interpolierte oder geglättete Karten unterscheiden, können Sie leider mehr über die Interpolations- oder Glättungsmethode als über die Daten erfahren :-(. Wenn Sie interpolieren müssen, achten Sie darauf (z. B. krige nach der Durchführung von EDA und Variografie) und Interpolieren Sie einfach einen der Datensätze. Sie können die tatsächlichen Daten in einem Satz mit den interpolierten Werten des anderen vergleichen, wodurch der halbe Fehler beim Vergleich zweier interpolierter Karten vermieden wird. Beachten Sie, dass die Interpolation für viele Arten von Daten nicht gültig ist und eine Glättung für ungeeignet ist andere Arten von Daten
whuber
Ich bin damit einverstanden, dass diese Methode nicht für viele Arten von Eingabedaten geeignet ist. Ich denke, es kann einen guten ersten Eindruck bei der Analyse von Punktdichtemustern vermitteln.
Underdunkel
Ich habe keinen Zweifel, dass Sie Recht haben, wenn die Interpolation von einem Experten durchgeführt und mit Bedacht interpretiert wird.
whuber
2

Angenommen, Sie haben die Literatur zur räumlichen Autokorrelation überprüft. ArcGIS verfügt über verschiedene Point-and-Click-Tools, um dies mithilfe von Toolbox-Skripten zu tun: Tools für räumliche Statistiken -> Analysieren von Mustern .

Sie könnten rückwärts arbeiten - Suchen Sie ein Tool und überprüfen Sie den implementierten Algorithmus, um festzustellen, ob er Ihrem Szenario entspricht. Ich habe vor einiger Zeit Morans Index verwendet, um die räumliche Beziehung beim Vorkommen von Bodenmineralien zu untersuchen.

Erick
quelle
2

Sie können in vielen Statistikprogrammen eine bivariate Korrelationsanalyse durchführen, um den Grad der statistischen Korrelation zwischen den beiden Variablen und dem Signifikanzniveau zu bestimmen. Sie können dann Ihre statistischen Ergebnisse sichern, indem Sie eine Variable mit einem Chloropleth-Schema und die andere Variable mit abgestuften Symbolen zuordnen. Nach dem Überlagern können Sie dann bestimmen, welche Bereiche hohe / hohe, hohe / niedrige und niedrige / niedrige räumliche Beziehungen aufweisen. Diese Präsentation enthält einige gute Beispiele.

Sie können auch einige einzigartige Geovisualisierungssoftware ausprobieren. Ich mag CommonGIS sehr für diese Art der Visualisierung. Sie können eine Nachbarschaft auswählen (Ihr Beispiel) und alle nützlichen Statistiken und Grundstücke stehen Ihnen sofort zur Verfügung. Dies macht die Analyse von Karten mit mehreren Variablen zum Kinderspiel.

Michael Markieta
quelle
2
Dies sind gute Ideen, aber ich stelle fest, dass die Beispiele, auf die Sie verweisen, erfolgreich sind, da die Attribute allgemeinen Funktionssätzen entsprechen. In der vorliegenden Frage haben die Features unterschiedliche Speicherorte, und diese Speicherorte sind Zufallsvariablen (beispielsweise keine festen Verwaltungseinheiten). Dies sind wichtige Komplikationen, da wir jetzt eine sinnvolle Vorgehensweise finden müssen, um Werte an einem Ort mit denen an anderen Orten in Beziehung zu setzen, und wir müssen mit dem Zufallscharakter der Orte selbst fertig werden.
Whuber
Danke für die Klarstellung! Ich habe das OP falsch gelesen und angenommen, es
handele
1

Eine quadratische Analyse wäre hierfür ideal. Es handelt sich um einen GIS-Ansatz, mit dem die räumlichen Muster verschiedener Punktdatenebenen hervorgehoben und verglichen werden können.

Eine Übersicht über eine Quadrat-Analyse, mit der die räumlichen Beziehungen zwischen mehreren Punktdatenebenen quantifiziert werden, finden Sie unter http://www.nccu.edu/academics/sc/artsandsciences/geospatialscience/_documents/se_daag_poster.pdf .


quelle
1
(1) Der Link ist ein 404 (daher bitten wir um Antworten, um Zusammenfassungen aller Links zu enthalten). (2) Wie genau würde eine Quadratanalyse zwei Punktverteilungen vergleichen ?
Whuber
(1) Der Link könnte jetzt funktionieren. (2) Eine Quadrat-Analyse unterteilt eine bestimmte Fläche in gleich große Einheiten mit angemessener Größe. Anschließend wird mithilfe der Wahrscheinlichkeitsanalyse die tatsächliche Häufigkeit von Punkten in jedem Quadrat im Vergleich zu einem erwarteten Wert für jede Häufigkeit ermittelt. Mithilfe des Befehls "Punktdichte" und der Zonenstatistik als Tabellenwerkzeuge in der räumlichen Analystenerweiterung für ArcMap können wir Bereiche in der Nähe von Punkten mit hoher Dichte hervorheben und diese Punkt-Feature-Classes für die Regressionsanalyse zusammenfassen.
Sie haben ein Verfahren zur univariaten Analyse von Punktverteilungen beschrieben. Es könnte angepasst werden (durch Bewertung quadratischer Korrelationen), um den Grad des gemeinsamen Auftretens der beiden Prozesse zu vergleichen, weist jedoch zwei signifikante Einschränkungen auf. Erstens werden die Beziehungen zwischen den Prozessen als Funktion der Entfernung nicht untersucht. zweitens verliert es durch Binning der Punkte in Quadraten an Kraft. Ein Stromausfall bedeutet, dass Sie möglicherweise wichtige Muster nicht erkennen oder dass Sie mehr Daten erfassen müssen, um die Untersuchungsziele zu erreichen.
Whuber
Ich habe dieses "Verfahren" für die multivariate Analyse von Punktverteilungen verwendet. Es bedeutet zwar einen Leistungsverlust, bietet jedoch auch die Möglichkeit, zwei Punktmusterverteilungen auf unterschiedlichen Aggregationsebenen visuell und quantitativ zu vergleichen (eine Lösung für die ursprüngliche Frage hier).
Ich hoffe, dass das, was Sie auf unserer Website lesen, Sie dazu inspiriert, in Zukunft über alternative Ansätze nachzudenken: Sie werden Ihre Fähigkeit erweitern, das Beste aus Ihren Daten und begrenzten Forschungsressourcen herauszuholen.
whuber