Geographisch gewichtete Regression (GWR) (Spatial Statistics)

Zusammenfassung

Führt eine geographisch gewichtete Regression (GWR) aus, eine lokale Form linearer Regression zur Modellierung räumlich variierender Beziehungen.

Ältere Versionen:
Eine erweiterte Version dieses Werkzeugs wurde zu ArcGIS Pro 2.3 hinzugefügt. Diese Werkzeugdokumentation bezieht sich auf die veraltete Version des Werkzeugs. Es wird empfohlen, ein Upgrade durchzuführen und das neue Werkzeug Geographisch gewichtete Regression in ArcGIS Pro oder höher zu verwenden.

Abbildung

Geographisch gewichtete Regression
GWR ist ein lokales Regressionsmodell. Die Koeffizienten können variieren.

Verwendung

  • Das GWR-Werkzeug erstellt eine separate Gleichung für jedes Feature im Dataset, wobei die abhängigen und erklärenden Variablen von Features, die in die Bandbreite der einzelnen Ziel-Features fallen, einbezogen werden. Shape und Ausdehnung der Bandbreite hängen von den Benutzereingaben für die Parameter Kernel-Typ, Bandbreitenmethode, Entfernung und Anzahl der Nachbarn ab. Dabei gilt jedoch folgende Einschränkung: Wenn die Anzahl der benachbarten Features 1000 überschreitet, werden nur die nächsten 1000 in jede lokale Gleichung aufgenommen.

  • Wenden Sie das GWR-Werkzeug auf Datasets mit mehreren hundert Features an, um optimale Ergebnisse zu erzielen. Für kleine Datasets ist diese Methode nicht geeignet. Das Werkzeug funktioniert nicht mit Multipoint-Daten.

  • Hinweis:

    Das GWR-Werkzeug erzeugt verschiedene Ausgaben. Während der Ausführung des Werkzeugs wird unten im Bereich Geoverarbeitung eine Zusammenfassung des GWR-Modells in Form von Meldungen angezeigt. Sie können auf diese Meldungen zugreifen, indem Sie mit der Maus auf die Fortschrittsleiste zeigen, auf die Pop-out-Schaltfläche klicken oder den Abschnitt "Meldungen" im Bereich Geoverarbeitung erweitern. Sie können auch über den Geoverarbeitungsverlauf auf die Meldungen einer früheren Ausführung des Werkzeugs Geographisch gewichtete Regression zugreifen.

    Das GWR-Werkzeug erzeugt auch eine Ausgabe-Feature-Class und eine Tabelle mit den Diagnosewerten des Zusammenfassungsberichts. Der Name dieser Tabelle wird automatisch erstellt und setzt sich aus dem Namen der Ausgabe-Feature-Class und dem Suffix _supp zusammen. Die Ausgabe-Feature-Class wird automatisch dem Inhaltsverzeichnis hinzugefügt, wobei ein Hot/Cold-Rendering-Schema zur Modellierung von Residuen angewendet wird. Eine vollständige Erklärung jeder Ausgabe findet sich unter Interpretieren von GWR-Ergebnissen.

  • Die _supp-Datei wird immer im selben Verzeichnis erstellt wie die Ausgabe-Feature-Class, es sei denn, die Ausgabe-Feature-Class wird in einem Feature-Dataset erstellt. Wenn sich die Ausgabe-Feature-Class in einem Feature-Dataset befindet, wird die Tabelle _supp in der Geodatabase erstellt, die das Feature-Dataset enthält.

  • Es wird empfohlen, projizierte Daten zu verwenden. Dies ist besonders wichtig, wenn die Entfernung eine Komponente der Analyse ist, z. B. wenn Sie für GWR Fest als Kernel-Typ auswählen. Es wird empfohlen, dass die Daten in einem projizierten Koordinatensystem (und nicht in einem geographischen Koordinatensystem) vorliegen.

  • Zur Verbesserung der Performance werden für einen Teil der vom GWR-Werkzeug ausgeführten Berechnungen mehrere CPUs verwendet. Zur Verarbeitung werden automatisch bis zu acht Threads/CPUs genutzt.

  • Die Regressionsanalyse muss mit der OLS-Regression Kleinste Quadrate (Ordinary Least Squares) beginnen. Suchen Sie zunächst ein korrekt spezifiziertes OLS-Modell. Führen Sie dann das GWR-Werkzeug mit denselben erklärenden Variablen aus (ohne Dummy-Variablen, die als Indikator für andere räumliche Ordnungen dienen).

  • Abhängige und erklärende Variablen müssen Zahlenfelder sein, die eine Vielzahl von Werten enthalten. Lineare Regressionsmethoden wie GWR sind nicht für das Vorhersagen von binären Ergebnissen geeignet (wenn z. B. alle Werte für die abhängige Variable entweder 1 oder 0 betragen).

  • In globalen Regressionsmodellen wie Kleinste Quadrate (Ordinary Least Squares, OLS) sind die Ergebnisse unzuverlässig, wenn zwei oder mehr Variablen Multikollinearität aufweisen (wenn zwei oder mehr Variablen redundant sind oder das Gleiche aussagen). GWR erstellt eine lokale Regressionsgleichung für jedes Feature im Dataset. Wenn die Werte für eine bestimmte erklärende Variable zur räumlichen Cluster-Bildung neigen, liegen wahrscheinlich Probleme mit lokaler Multikollinearität vor. Das Feld für Bedingungswerte (COND) in der Ausgabe-Feature-Class gibt an, wann Ergebnisse aufgrund von lokaler Multikollinearität instabil sind. Betrachten Sie im Allgemeinen Ergebnisse für Features mit einem Bedingungswert größer als 30, gleich null oder (für Shapefiles) gleich -1.7976931348623158e+308 skeptisch.

  • Bei Verwendung von Nominal- oder Kategoriedaten in einem GWR-Modell ist Vorsicht angebracht. Wenn Kategorien zur Bildung von räumlichen Clustern neigen, treten u. U. Probleme aufgrund von lokaler Multikollinearität auf. Der in der Ausgabe des GWR-Werkzeugs enthaltene Bedingungswert gibt an, wann lokale Kollinearität ein Problem darstellt (ein Bedingungswert kleiner als null (0), größer als 30 oder gleich NULL). Bei einer starken lokalen Multikollinearität sind die Ergebnisse instabil.

  • Verwenden Sie keine künstlichen Variablen zur Darstellung anderer räumlicher Ordnungen in einem GWR-Modell (z. B. Zuweisung des Wertes 1 zu Zählbezirken außerhalb des Stadtkerns und des Wertes 0 zu allen anderen). Da die erklärenden Variablenkoeffizienten bei der geographisch gewichteten Regression variieren können, sind diese erklärenden Variablen für räumliche Ordnungen unnötig und können Probleme aufgrund von lokaler Multikollinearität verursachen.

  • Um die regionale Variation unter den Koeffizienten der erklärenden Variablen besser zu verstehen, untersuchen Sie die vom GWR-Werkzeug erstellten optionalen Koeffizienten-Raster-Oberflächen. Diese Raster-Oberflächen werden im Koeffizienten-Raster-Workspace erstellt. Für Polygondaten können Sie auf jedes Koeffizientenfeld in der Ausgabe-Feature-Class Cold-to-Hot-Rendering oder Rendering mit abgestuften Farben verwenden, um die Änderungen in Ihrem Untersuchungsgebiet zu untersuchen.

  • Sie können das GWR-Werkzeug auch für Vorhersagen verwenden, indem Sie eine Feature-Class für vorherzusagende Positionen (stimmt meist mit der Eingabe-Feature-Class überein), die erklärenden Variablen für die Vorhersage und eine Ausgabe-Prediction-Feature-Class angeben. Es muss eine 1:1-Entsprechung zwischen den für die Kalibrierung des Regressionsmodells verwendeten Feldern (die für das Feld Erklärende Variablen eingegebenen Werte) und den für die Vorhersage verwendeten Feldern (die für das Feld Erklärende Variablen für die Vorhersage eingegebenen Werte) bestehen. Die Reihenfolge dieser Variablen muss übereinstimmen. Angenommen, Sie modellieren z. B. Verkehrsunfälle als Funktion von Geschwindigkeitsbegrenzungen, Straßenbeschaffenheit, Anzahl von Fahrbahnen und Anzahl von Autos. Sie können die Auswirkungen einer Änderung der Geschwindigkeitsbegrenzungen oder einer Straßenausbesserung auf die Verkehrsunfälle vorhersagen, indem Sie neue Variablen mit den geänderten Geschwindigkeitsbegrenzungen und der geänderten Straßenbeschaffenheit erstellen. Die vorhandenen Variablen werden zur Kalibrierung des Regressionsmodells und für den Parameter Erklärende Variablen verwendet. Die geänderten Variablen werden für Vorhersagen verwendet und als erklärende Variablen für die Vorhersage eingegeben.

  • Wenn Sie zwar eine Prediction-Locations-Feature-Class, aber keine erklärenden Variablen für die Vorhersage angeben, enthält die Ausgabe-Prediction-Feature-Class lediglich die für jede Position berechneten Koeffizienten (keine Vorhersagen).

  • Bei einem falsch angegebenen Regressionsmodell handelt es sich um ein Modell, in dem eine wichtige erklärende Variable fehlt. Die statistisch signifikante räumliche Autokorrelation in den Regressionsresiduen oder die unerwartete räumliche Variation unter den Koeffizienten einer oder mehrerer erklärender Variablen weist darauf hin, dass das Modell falsch angegeben ist. Ermitteln Sie mit allen verfügbaren Analysemethoden (zum Beispiel die Untersuchung von OLS-Residuen und GWR-Koeffizientenvariationen) welche wichtigen Variablen fehlen, damit sie in das Modell aufgenommen werden können.

  • Hinterfragen Sie stets, ob es sinnvoll ist, dass eine erklärende Variable nicht stationär ist. Nehmen Sie beispielsweise an, Sie modellieren die Verbreitung einer bestimmten Pflanzenart als Funktion mehrerer Variablen einschließlich ASPECT. Wenn Sie feststellen, dass sich der Koeffizient für die Variable ASPECT über das Untersuchungsgebiet hinweg ändert, weist dies darauf hin, dass eine wichtige erklärende Variable fehlt (zum Beispiel die Verbreitung einer konkurrierenden Vegetationsart). Treffen Sie alle möglichen Maßnahmen, damit alle wichtigen erklärenden Variablen in Ihrem Regressionsmodell enthalten sind.

  • Vorsicht:

    Denken Sie beim Verwenden von Shapefiles daran, dass diese keine NULL-Werte speichern können. Werkzeuge oder andere Verfahren zur Erstellung von Shapefiles aus Nicht-Shapefile-Eingaben speichern NULL-Werte ggf. als Wert 0 oder als sehr kleinen negativen Wert (-DBL_MAX = -1,7976931348623158e+308). Dies kann zu unerwarteten Ergebnissen führen. Weitere Informationen finden Sie unter Überlegungen zur Geoverarbeitung für die Shapefile-Ausgabe.

  • Wenn das Ergebnis einer Berechnung unendlich oder nicht definiert ist, lautet das Ergebnis für Nicht-Shapefiles NULL und für Shapefiles -DBL_MAX = -1.7976931348623158e+308.

  • Wenn Sie Akaike Information Criterion oder Cross Validation als Bandbreitenmethode auswählen, sucht GWR die optimale Entfernung (für einen festen Kernel) bzw. die optimale Anzahl der Nachbarn (für einen adaptiven Kernel). Durch Probleme mit lokaler Multikollinearität wird jedoch verhindert, dass mit den Bandbreitenmethoden Akaike Information Criterion und Cross Validation die optimale Entfernung bzw. die optimale Anzahl von Nachbarn berechnet wird. Wenn ein Fehler auf schwerwiegende Probleme beim Modellentwurf hinweist, versuchen Sie, eine bestimmte Entfernung oder Anzahl von Nachbarn anzugeben. Untersuchen Sie dann die Bedingungswerte in der Ausgabe-Feature-Class, um zu ermitteln, welche Features mit den Problemen mit lokaler Multikollinearität verknüpft sind.

  • Schwerwiegende Fehler beim Modellentwurf oder Fehler mit der Meldung, dass die Anzahl an Nachbarn in lokalen Gleichungen nicht ausreicht, weisen oft auf globale oder lokale Multikollinearität hin. Um die Problemursache zu ermitteln, führen Sie das Modell mit OLS aus und untersuchen Sie den VIF-Wert für jede erklärende Variable. Wenn einige der VIF-Werte sehr groß sind (z. B. größer als 7,5), verhindert die globale Multikollinearität die Berechnung mit dem GWR-Werkzeug. Jedoch ist wahrscheinlich eher eine lokale Multikollinearität das Hauptproblem. Versuchen Sie, eine thematische Karte für jede erklärende Variable zu erstellen. Wenn die Karte räumliche Cluster-Bildung von identischen Werten erkennen lässt, entfernen Sie diese Variablen aus dem Modell oder kombinieren Sie diese Variablen mit anderen erklärenden Variablen, um die Wertvariation zu erhöhen. Wenn Sie beispielsweise Immobilienwerte modellieren und für Schlafzimmer wie auch Badezimmer über Variablen verfügen, ist es möglicherweise sinnvoll, diese zu kombinieren, um die Wertvariation zu erhöhen oder sie als kombinierte Größe darzustellen. Vermeiden Sie beim Erstellen von GWR-Modellen die Verwendung der folgenden Variablen: Dummy-Variablen für räumliche Ordnungen, Kategorievariablen bzw. nominale Variablen für räumliche Cluster-Bildung oder Variablen mit sehr wenigen möglichen Werten.

  • Bei der geographisch gewichteten Regression handelt es sich um ein lineares Modell, für das die gleichen Anforderungen gelten wie für das OLS-Modell. Stellen Sie anhand des Abschnitts Wie Regressionsmodelle ungültig werden des Dokuments Grundlagen zur Regressionsanalyse sicher, dass Ihr GWR-Modell ordnungsgemäß angegeben ist.

Syntax

arcpy.stats.GeographicallyWeightedRegression(in_features, dependent_field, explanatory_field, out_featureclass, kernel_type, bandwidth_method, {distance}, {number_of_neighbors}, {weight_field}, {coefficient_raster_workspace}, {cell_size}, {in_prediction_locations}, {prediction_explanatory_field}, {out_prediction_featureclass})
ParameterErklärungDatentyp
in_features

Die Feature-Class, die die abhängigen und unabhängigen Variablen enthält.

Feature Layer
dependent_field

Das numerische Feld mit den Werten, die modelliert werden.

Field
explanatory_field
[explanatory_field,...]

Eine Liste von Feldern, die unabhängige erklärende Variablen im Regressionsmodell darstellen.

Field
out_featureclass

Die Ausgabe-Feature-Class, die abhängige Variablenschätzungen und Residuen empfängt.

Feature Class
kernel_type

Gibt an, ob der Kernel als feste Entfernung oder als Funktion der Feature-Dichte mit variierender Ausdehnung erstellt wird.

  • FIXEDDer räumliche Kontext (der Gauß'sche Kernel) zur Berechnung jeder lokalen Regressionsanalyse ist eine feste Entfernung.
  • ADAPTIVEDer räumliche Kontext (der Gauß'sche Kernel) ist eine Funktion einer angegebenen Anzahl von Nachbarn. Bei hoher Feature-Dichte ist der räumliche Kontext kleiner, bei niedriger Feature-Dichte größer.
String
bandwidth_method

Gibt an, wie die Ausdehnung des Kernels bestimmt wird. Bei der Auswahl von AICc oder CV sucht das Werkzeug automatisch die optimale Entfernung oder die optimale Anzahl von Nachbarn. In der Regel wählen Sie entweder AICc oder CV aus, wenn Sie sich nicht sicher sind, welchen Wert Sie für den Parameter distance oder number_of_neighbors verwenden sollen. Um mit dem Werkzeug jedoch die optimale Entfernung bzw. die optimale Anzahl von Nachbarn zu bestimmen, müssen Sie die Option BANDWIDTH_PARAMETER verwenden.

  • AICcDie Ausdehnung des Kernels wird mit dem Akaike Information Criterion (AICc) bestimmt.
  • CVDie Ausdehnung des Kernels wird mit der Kreuzvalidierung bestimmt.
  • BANDWIDTH_PARAMETERDie Ausdehnung des Kernels wird anhand einer festen Entfernung oder einer festen Anzahl von Nachbarn bestimmt. Sie müssen einen Wert für den Parameter distance oder number_of_neighbors angeben.
String
distance
(optional)

Die zu verwendende Entfernung, wenn für kernel_type der Wert FIXED und für bandwidth_method der Wert BANDWIDTH_PARAMETER festgelegt ist.

Double
number_of_neighbors
(optional)

Die genaue Anzahl von Nachbarn, die in die lokale Bandbreite des Gauß'schen Kernels einbezogen werden soll, wenn der kernel_type auf ADAPTIVE und die bandwidth_method auf BANDWIDTH_PARAMETER festgelegt ist.

Long
weight_field
(optional)

Das Zahlenfeld, das eine räumliche Gewichtung für einzelne Features enthält. Dieses Gewichtungsfeld ermöglicht es, einige Features beim Modellkalibrierungsprozess höher zu gewichten als andere. Dies ist nützlich, wenn die Anzahl der an verschiedenen Orten genommenen Stichproben variiert, die Werte für die abhängigen und unabhängigen Variablen gemittelt werden und Orte mit mehr Stichproben zuverlässiger sind (und aus diesem Grund höher gewichtet werden sollten). Wenn Sie für einen Ort durchschnittlich 25 verschiedene Stichproben haben, für einen anderen Ort aber nur durchschnittlich zwei Stichproben, können Sie zum Beispiel die Anzahl der Stichproben als Gewichtungsfeld verwenden, sodass die Orte mit mehr Stichproben bei der Modellkalibrierung höher gewichtet werden als die Orte mit weniger Stichproben.

Field
coefficient_raster_workspace
(optional)

Der vollständige Pfad zu dem Workspace, in dem die Koeffizienten-Raster erstellt werden. Wenn dieser Workspace bereitgestellt wird, werden Raster für den Intercept und jede erklärende Variable erstellt.

Workspace
cell_size
(optional)

Die Zellengröße (eine Zahl) oder der Verweis auf die Zellengröße (ein Pfad zu einem Raster-Dataset) zur Verwendung beim Erstellen der Koeffizienten-Raster.

Die Standardzellengröße entspricht der Breite oder Höhe (jeweils der kürzeste Wert) der im Ausgabe-Koordinatensystem der Geoverarbeitungsumgebung angegebenen Ausdehnung dividiert durch 250.

Analysis Cell Size
in_prediction_locations
(optional)

Eine Feature-Class mit Features, die Positionen darstellen, an denen Schätzungen berechnet werden sollen. Jedes Feature in diesem Dataset muss Werte für alle angegebenen erklärenden Variablen enthalten. Die abhängige Variable für diese Features wird mit dem für die Eingabe-Feature-Class-Daten kalibrierten Modell geschätzt.

Feature Layer
prediction_explanatory_field
[prediction_explanatory_field,...]
(optional)

Eine Liste von Feldern, die erklärende Variablen in der Prediction-Locations-Feature-Class darstellen. Diese Feldnamen müssen in der gleichen Reihenfolge (1:1-Entsprechung) angegeben werden wie die für den Parameter "Erklärende Variablen" der Eingabe-Feature-Class. Wenn keine erklärenden Variablen für die Vorhersage angegeben werden, enthält die Ausgabe-Prediction-Feature-Class nur die berechneten Koeffizienten für jede vorhergesagte Position.

Field
out_prediction_featureclass
(optional)

Die Ausgabe-Feature-Class, in der die abhängigen Variablenschätzungen für jedes Feature in der Prediction-Locations-Feature-Class gespeichert werden.

Feature Class

Abgeleitete Ausgabe

NameErklärungDatentyp
out_table

Die Tabelle mit den Diagnosewerten aus dem Übersichtsbericht über die Werkzeugausführung.

Tabelle
out_regression_rasters

Der Workspace, in dem alle Koeffizienten-Raster erstellt werden.

Raster-Layer

Codebeispiel

GeographicallyWeightedRegression – Beispiel (Python-Fenster)

Das folgende Skript veranschaulicht die Verwendung des Werkzeugs GeographicallyWeightedRegression im Python-Fenster.

import arcpy
arcpy.env.workspace = "c:/data"
arcpy.GeographicallyWeightedRegression_stats("CallData.shp", "Calls", "BUS_COUNT;RENTROCC00;NoHSDip",
                                             "CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER",
                                             "#", "25", "#","CoefRasters", "135", "PredictionPoints", 
                                             "#", "GWRCallPredictions.shp")
GeographicallyWeightedRegression – Beispiel (eigenständiges Skript)

Das folgende eigenständige Python-Skript veranschaulicht, wie Sie das Werkzeug GeographicallyWeightedRegression verwenden.

# Model 911 emergency calls using GWR
# Import system modules
import arcpy
# Set property to overwrite existing outputs
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\Data"
try:
    # Set the current workspace (to avoid having to specify the full path to the 
    # feature classes each time)
    arcpy.env.workspace = workspace
    # 911 Calls as a function of {number of businesses, number of rental units,
    # number of adults who didn't finish high school}
    # Process: Geographically Weighted Regression... 
    gwr = arcpy.GeographicallyWeightedRegression_stats("CallData.shp", "Calls", 
                        "BUS_COUNT;RENTROCC00;NoHSDip",
                        "CallsGWR.shp", "ADAPTIVE", "BANDWIDTH PARAMETER","#", "25", "#",
                        "CoefRasters", "135", "PredictionPoints", "#", "GWRCallPredictions.shp")
    # Create Spatial Weights Matrix to use with Global Moran's I tool
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("CallsGWR.shp", "UniqID",
                        "CallData25Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 25) 
                        
    # Calculate Moran's Index of Spatial Autocorrelation for 
    # OLS Residuals using a SWM File.  
    # Process: Spatial Autocorrelation (Morans I)...      
    moransI = arcpy.SpatialAutocorrelation_stats("CallsGWR.shp", "StdResid",
                        "NO_REPORT", "GET_SPATIAL_WEIGHTS_FROM_FILE", 
                        "EUCLIDEAN_DISTANCE", "NONE", "#", 
                        "CallData25Neighs.swm")
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

Umgebungen

Ausgabe-Koordinatensystem

Die Feature-Geometrie wird nach Abschluss der Analyse auf das Ausgabe-Koordinatensystem projiziert. Daher sollte der Wert für den Parameter Entfernung in den Einheiten eingegeben werden, die in der Eingabe-Feature-Class festgelegt sind. Die Werte für Ausgabezellengröße sollten in den Einheiten eingegeben werden, die im Ausgabekoordinatensystem festgelegt sind.

Lizenzinformationen

  • Basic: Erfordert Spatial Analyst oder Geostatistical Analyst
  • Standard: Erfordert Spatial Analyst oder Geostatistical Analyst
  • Advanced: Ja

Verwandte Themen