Zusammenfassung
Führt eine geographisch gewichtete Regression (GWR) aus, eine lokale Form linearer Regression zur Modellierung räumlich variierender Beziehungen.
Weitere Informationen zur Funktionsweise von "Geographisch gewichtete Regression"
Abbildung
Verwendung
Das GWR-Werkzeug erstellt eine separate Gleichung für jedes Feature im Dataset einschließlich der abhängigen und erklärenden Variablen von Features, die in die Bandbreite der einzelnen Ziel-Features fallen. Shape und Ausdehnung der Bandbreite hängen von den Benutzereingaben für die Parameter Kernel-Typ, Bandbreitenmethode, Entfernung und Anzahl der Nachbarn ab. Ausnahme: 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.
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.
Die Verwendung projizierter Daten ist immer empfehlenswert, insbesondere dann, wenn die Entfernung eine Komponente der Analyse ist. Dies ist bei der geographisch gewichteten Regression der Fall, wenn Sie als Kernel-Typ die Option Fest auswählen. Die Eingabedaten sollten sich in einem projizierten Koordinatensystem und nicht in einem geographischen Koordinatensystem befinden.
Zur Verbesserung der Performance werden für einen Teil der vom GWR-Werkzeug ausgeführten Berechnungen mehrere CPUs genutzt. Zur Verarbeitung werden automatisch bis zu acht CPU-Threads genutzt.
Die Regressionsanalyse muss mit der OLS-Regression Kleinste Quadrate (Ordinary Least Squares) beginnen. Suchen Sie zunächst nach einem korrekt angegebenen OLS-Modell und verwenden Sie dann dieselben erklärenden Variablen zur Ausführung des GWR-Werkzeugs (ohne Dummy-Variablen, die als Indikator für andere räumliche Ordnungen dienen).
Abhängige und erklärende Variablen sollten 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 OLS führt Multikollinearität zu unzuverlässigen Ergebnissen. Multikollinearität tritt auf, wenn zwei oder mehr Variablen redundant sind (das bedeutet, dass sie das gleiche oder fast 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, treten sehr wahrscheinlich Probleme mit lokaler Multikollinearität auf. Das Bedingungswert-Feld (COND) in der Ausgabe-Feature-Class gibt an, wann Ergebnisse aufgrund von lokaler Multikollinearität instabil sind. Als allgemeine Faustregel gilt: Vertrauen Sie Ergebnissen für Features mit einem Bedingungswert größer als 30, gleich NULL oder (für Shapefiles) gleich -1.7976931348623158e+308 nicht.
Bei Verwendung von Nominal- oder Kategoriedaten in einem GWR-Modell ist Vorsicht angebracht. Wenn Kategorien zur räumlichen Cluster-Bildung neigen, treten sehr wahrscheinlich 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 Dummy-Variablen zur Darstellung anderer räumlicher Ordnungen in einem GWR-Modell (z. B. Zuweisung des Wertes 1 zu Volkszählungsgebieten 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 (falls angegeben). 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 Prediction-Location-Feature-Class (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 und/oder die unerwartete räumliche Variation unter den Koeffizienten einer oder mehrerer erklärender Variablen weist darauf hin, dass das Modell falsch angegeben ist. Treffen Sie alle möglichen Maßnahmen (zum Beispiel die Untersuchung von OLS-Residuen und GWR-Koeffizientenvariationen), um zu ermitteln, welche wichtigen Variablen fehlen, um diese möglichst in das Modell aufzunehmen.
Hinterfragen Sie stets, ob es Sinn macht, 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.
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 AICc (korrigiertes Akaike Informationskriterium) oder CV (Kreuzvalidierung) 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 AICc und CV die optimale Entfernung bzw. die optimale Anzahl von Nachbarn berechnet wird. Wenn Sie eine Fehlermeldung erhalten, in der auf schwere Modellentwurfsfehler hingewiesen wird, geben Sie eine bestimmte Entfernung oder Anzahl von Nachbarn an und überprüfen Sie dann die Bedingungswerte in der Ausgabe-Feature-Class, um zu ermitteln, bei welchen Features Probleme aufgrund von lokaler Kollinearität vorliegen.
Schwere Modellentwurfsfehler oder Fehler, in denen darauf hingewiesen wird, 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 Wohnungswerte modellieren und sowohl für Schlafzimmer als auch für 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 von Dummy-Variablen (räumliche Ordnung), von kategorialen/nominalen Variablen (räumliche Cluster-Bildung) oder von 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. Überprüfen Sie den Abschnitt Wie Regressionsmodelle ungültig werden im Dokument Grundlagen zur Regressionsanalyse als Test, ob Ihr GWR-Modell korrekt angegeben ist.
Syntax
GeographicallyWeightedRegression_stats (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})
Parameter | Erläuterung | Datentyp |
in_features | Die Feature-Class, die die abhängigen und unabhängigen Variablen enthält. | Feature Layer |
dependent_field | Das Zahlenfeld, das Werte für den geplanten Modellierungsvorgang enthält. | 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 zum Empfangen abhängiger Variablenschätzungen und Residuen. | Feature Class |
kernel_type | Gibt an, ob der Kernel als feste Entfernung oder als Funktion der Feature-Dichte mit variierender Ausdehnung erstellt wird.
| String |
bandwidth_method | Gibt an, wie die Ausdehnung des Kernels bestimmt werden soll. Bei Auswahl von AICc oder CV sucht das Werkzeug automatisch die optimale Entfernung bzw. 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 Entfernung bzw. Anzahl der Nachbarn verwenden sollen. Um das Werkzeug jedoch die optimale Entfernung bzw. die optimale Anzahl von Nachbarn bestimmen zu lassen, sollten Sie die Option BANDWIDTH_PARAMETER verwenden.
| String |
distance (optional) | Die Entfernung, wenn der kernel_type FIXED und die bandwidth_method BANDWIDTH_PARAMETER 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. Es ist sehr 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 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) | Ein vollständiger Pfadname zu dem Workspace, in dem alle Koeffizienten-Raster erstellt werden. Wenn dieser Workspace bereitgestellt wird, werden Raster für den Intercept und jede erklärende Variable erstellt. | Folder |
cell_size (optional) | Die Zellengröße (eine Zahl) oder der Verweis auf die Zellengröße (ein Pfadname 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 |
Codebeispiel
GeographicallyWeightedRegression - Beispiel (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie das Werkzeug "GeographicallyWeightedRegression" verwenden.
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 Python-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:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert ArcGIS Spatial Analyst oder Geostatistical Analyst
- ArcGIS Desktop Standard: Erfordert ArcGIS Spatial Analyst oder Geostatistical Analyst
- ArcGIS Desktop Advanced: Ja