Zusammenfassung
Führt eine geographisch gewichtete Regression (GWR) aus, eine lokale Form linearer Regression zur Modellierung räumlich variierender Beziehungen.
Abbildung
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.
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 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 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.
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 Information Criterion) oder CV (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 AICc und CV 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
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})
Parameter | Erklärung | Datentyp |
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.
| 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 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 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. 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 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 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 |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
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
Lizenzinformationen
- Basic: Erfordert ArcGIS Spatial Analyst oder Geostatistical Analyst
- Standard: Erfordert ArcGIS Spatial Analyst oder Geostatistical Analyst
- Advanced: Ja