Generalisierte lineare Regression (GeoAnalytics)

Zusammenfassung

Führt eine generalisierte lineare Regression (GLR) aus, um Vorhersagen zu generieren oder eine abhängige Variable in Hinsicht auf ihre Beziehung zu einem Satz erklärender Variablen zu modellieren. Dieses Werkzeug kann für kontinuierliche (OLS) und binäre (logistische) Modelle sowie für Anzahlmodelle (Poisson) verwendet werden.

Verwendung

  • Dieses Werkzeug kann in zwei verschiedenen Operationsmodi verwendet werden. Sie können die Performance verschiedener Modelle beim Erkunden unterschiedlicher erklärender Variablen und Werkzeugeinstellungen auswerten. Wenn Sie ein gutes Modell gefunden haben, können Sie das Modell an ein neues Dataset anpassen.

  • Verwenden Sie den Parameter Eingabe-Features mit einem Feld, das das Phänomen darstellt, das Sie modellieren (der Parameter Abhängige Variable), und einem oder mehreren Feldern, die die erklärenden Variablen darstellen.

  • Das Werkzeug Generalisierte lineare Regression erzeugt darüber hinaus Ausgabe-Features und Diagnosen. Ausgabe-Feature-Classes werden automatisch zur Karte hinzugefügt, wobei ein Rendering-Schema auf Modellresiduen angewendet wird. Eine vollständige Erklärung jeder Ausgabe wird nachfolgend bereitgestellt.

  • Es ist wichtig, den richtigen Modelltyp (Kontinuierlich, Binär oder Anzahl) für die Analyse zu verwenden, damit die Regressionsanalyse möglichst genaue Ergebnisse liefert.

  • Ergebnisse der Modellzusammenfassung und Diagnosen werden in das Meldungsfenster eingegeben, und Diagramme werden unterhalb der Ausgabe-Feature-Class erstellt. Die gemeldeten Diagnosen sind abhängig vom Parameter Modelltyp. Die folgenden drei Optionen für den Modelltyp sind verfügbar:

    • Verwenden Sie Kontinuierlich (Gauß) als Modelltyp, wenn die abhängige Variable einen großen Wertebereich haben kann, z. B. Temperaturen oder Umsätze. Im Idealfall ist die abhängige Variable normal verteilt.
    • Verwenden Sie Binär (Logistisch) als Modelltyp, wenn die abhängige Variable einen von zwei möglichen Werten annehmen kann, z. B. Erfolg oder Misserfolg, Anwesenheit oder Abwesenheit. Bei dem Feld mit der abhängigen Variable muss es sich um ein numerisches Feld handeln, das nur Einsen und Nullen enthält. Ihre Daten sollten Variationen von Einsen und Nullen aufweisen.

    • Die Verwendung von Anzahl (Poisson) als Modelltyp sollten Sie in Betracht ziehen, wenn die abhängige Variable diskontinuierlich ist und die Anzahl eines bestimmten Ereignisses darstellt, z. B. die Anzahl von Straftaten. Anzahlmodelle können auch verwendet werden, wenn die abhängige Variable ein Verhältnis darstellt und es sich bei dem Nenner des Verhältnisses um einen Festwert handelt, z. B. Umsatz pro Monat oder die Anzahl der krebskranken Personen pro 10.000 Einwohner. Das Modell Anzahl geht davon aus, dass der Mittelwert und die Abweichung der abhängigen Variablen gleich sind und die Werte der abhängigen Variablen weder negativ sind noch Dezimalstellen enthalten.

    Die Parameter Abhängige Variable und Erklärende Variable sollten numerische Felder sein, die eine Vielzahl von Werten enthalten. Dieses Werkzeug kann keine Berechnung vornehmen, wenn die Variablen alle dieselben Werte aufweisen (wenn beispielsweise alle Werte für ein Feld 9,0 betragen).

  • Features mit Vorhersage- oder erklärenden Feldern, die mindestens einen NULL-Wert oder eine leere Zeichenfolge aufweisen, werden von der Ausgabe ausgeschlossen. Sie können die Werte bei Bedarf mit dem Werkzeug Feld berechnen ändern.

  • Überprüfen Sie die zu hohen und zu niedrigen Vorhersagen in den Regressionsresiduen visuell, um festzustellen, ob sie Aufschluss über potenziell fehlende Variablen im Regressionsmodell geben.

  • Mit dem erstellten Regressionsmodell können Sie Vorhersagen für andere Features treffen. Für diese Vorhersagen ist es erforderlich, dass alle Vorhersage-Features Werte für jede der angegebenen erklärenden Variablen enthalten. Stimmen die Feldnamen aus den Parametern "Eingabe-Features" und "Vorherzusagende Positionen" nicht überein, wird ein Parameter für den Variablenabgleich bereitgestellt. Beim Abgleich der erklärenden Variablen müssen die Felder aus den Eingabe-Features und die Parameter für die Eingabe-Vorhersage-Features den gleichen Typ aufweisen (z. B. müssen Double-Felder mit Double-Feldern abgeglichen werden).

  • Die GeoAnalytics-Implementierung des Werkzeugs "Generalisierte lineare Regression" (GLR) unterliegt folgenden Beschränkungen:

    • Es handelt sich um ein globales Regressionsmodell, in dem die räumliche Verteilung der Daten unberücksichtigt bleibt.
    • Bei der Analyse wird der Morans I-Test nicht auf die Residuen angewendet.
    • Als Eingabe werden Feature-Datasets (Punkte, Linien, Polygone und Tabellen) unterstützt, jedoch keine Raster.
    • Eine Klassifizierung von Werten ist nicht möglich.

  • Dieses Geoverarbeitungswerkzeug wird unterstützt durch ArcGIS GeoAnalytics Server. Die Analyse wird auf dem GeoAnalytics Server ausgeführt, und die Ergebnisse werden in den eigenen Inhalten in ArcGIS Enterprise gespeichert.

  • Bei der Ausführung von GeoAnalytics Server-Werkzeugen wird die Analyse auf dem GeoAnalytics Server abgeschlossen. Für eine optimale Performance sollten die Daten dem GeoAnalytics Server über Feature-Layer zur Verfügung stehen, die auf Ihrem ArcGIS Enterprise-Portal gehostet werden. Alternativ können Big-Data-Dateifreigaben verwendet werden. Daten, auf die der GeoAnalytics Server nicht lokal zugreifen kann, werden vor Analysebeginn auf den GeoAnalytics Server verschoben. Dadurch dauert die Ausführung eines Werkzeugs länger. Es kann zudem vorkommen, dass das Verschieben der Daten von ArcGIS Pro zum GeoAnalytics Server fehlschlägt. Die Wahrscheinlichkeit eines Fehlers hängt dabei von der Netzwerkgeschwindigkeit sowie der Größe und Komplexität der Daten ab. Daher wird empfohlen, dass Sie Ihre Daten stets freigeben oder eine Big-Data-Dateifreigabe erstellen.

    Weitere Informationen zum Freigeben von Daten in Ihrem Portal

    Weitere Informationen zum Erstellen einer Big-Data-Dateifreigabe über Server Manager

Syntax

GeneralizedLinearRegression(input_features, dependent_variable, model_type, explanatory_variables, output_features_name, {generate_coefficient_table}, {input_features_to_predict}, {explanatory_variables_to_match}, {dependent_variable_mapping}, {data_store})
ParameterErklärungDatentyp
input_features

Der Layer, der die abhängigen und unabhängigen Variablen enthält.

Record Set
dependent_variable

Das numerische Feld mit den beobachteten Werten, die modelliert werden sollen.

Field
model_type

Gibt den Typ der Daten an, die modelliert werden.

  • CONTINUOUS dependent_variable ist kontinuierlich. Das Gauß'sche Modell wird verwendet, und das Werkzeug führt eine Regression des Typs "Kleinste Quadrate" durch. Dies ist die Standardeinstellung.
  • BINARY dependent_variable stellt das Vorhandensein oder Fehlen dar. Dies können herkömmliche Einsen und Nullen oder Zeichenfolgenwerte sein, die im Parameter Erklärende Variablen abgleichen Einsen und Nullen zugeordnet werden. Das logistische Regressionsmodell wird verwendet.
  • COUNTdependent_variable ist diskontinuierlich und stellt Ereignisse wie die Anzahl von Straftaten, Krankheiten oder Verkehrsunfälle dar. Das Poisson-Regressionsmodell wird verwendet.
String
explanatory_variables
[explanatory_variables,...]

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

Field
output_features_name

Der Name der erstellten Feature-Class mit den Schätzungen und Residuen abhängiger Variablen.

String
generate_coefficient_table
(optional)

Gibt an, ob eine Ausgabetabelle mit booleschen Werten generiert wird.

  • CREATE_TABLEEine Tabelle mit Koeffizientenwerten wird generiert.
  • NO_TABLEEs wird keine Tabelle mit Koeffizientenwerten generiert. Dies ist die Standardeinstellung.
Boolean
input_features_to_predict
(optional)

Ein Layer mit Features, die Positionen darstellen, an denen Schätzungen berechnet werden sollen. Jedes Feature im Dataset sollte Werte für alle angegebenen erklärenden Variablen enthalten. Die abhängige Variable für diese Features wird anhand des Modells geschätzt, das für die Daten des Eingabe-Layers kalibriert wurde.

Record Set
explanatory_variables_to_match
[[Field from Prediction Locations, Field from Input Features],...]
(optional)

Gleicht die erklärenden Variablen im Parameter input_features_to_predict mit den entsprechenden erklärenden Variablen des Parameters input_features ab, Beispiel: [["LandCover2000", "LandCover2010"], ["Income", "PerCapitaIncome"]]

Value Table
dependent_variable_mapping
[dependent_variable_mapping,...]
(optional)

Zwei Zeichenfolgen für die Werte, die bei der binären Regression 0 (nicht vorhanden) und 1 (vorhanden) zugeordnet werden. Standardmäßig werden 0 und 1 verwendet. Wenn Sie beispielsweise eine Verhaftung vorhersagen möchten und über Felder mit den Werten "Verhaftung" und "Keine Verhaftung" verfügen, geben Sie "Keine Verhaftung" für den Wert "False" (0) und "Verhaftung" für den Wert "True" (1) ein.

Value Table
data_store
(optional)

Gibt den ArcGIS Data Store für das Speichern der Ausgabe an. Die Standardeinstellung ist SPATIOTEMPORAL_DATA_STORE. Alle im SPATIOTEMPORAL_DATA_STORE gespeicherten Ergebnisse werden im WGS84 gespeichert. Ergebnisse, die in einem RELATIONAL_DATA_STORE gespeichert werden, behalten ihr Koordinatensystem bei.

  • SPATIOTEMPORAL_DATA_STOREDie Ausgabe wird in einem Big Data Store vom Typ "spatiotemporal" gespeichert. Dies ist die Standardeinstellung.
  • RELATIONAL_DATA_STOREDie Ausgabe wird in einem Data Store vom Typ "relational" gespeichert.
String

Abgeleitete Ausgabe

NameErklärungDatentyp
output

Der Ausgabe-Feature-Service mit den Schätzungen der abhängigen Variablen für alle Eingabe-Features.

Datensatz
output_predicted_features

Ein Ausgabe-Layer mit den Eingabevariablen und vorhergesagten erklärenden Werten.

Datensatz
coefficient_table

Ausgabetabelle mit Koeffizientenwerten.

Datensatz

Codebeispiel

GeneralizedLinearRegression – Beispiel (Python-Fenster)

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

In diesem Skript wird ein Modell erstellt und vorhergesagt, ob eine Verhaftung wegen bestimmter Straftaten vorgenommen wurde.

#-------------------------------------------------------------------------------
# Name: GeneralizedLinearRegression.py
# Description: Run GLR on crime data and predict if an arrest was made for a crime reporting.
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
trainingDataset = "https://analysis.org.com/server/rest/services/Hosted/old_crimes/FeatureServer/0"
predictionDataset = "https://analysis.org.com/server/rest/services/Hosted/new_crimes/FeatureServer/0"
outputTrainingName = "training"
# Execute GLR
arcpy.geoanalytics.GeneralizedLinearRegression(
    trainingDataset, "ArrestMade", "BINARY", "CRIME_TYPE; WARD; DAY_OF_MONTH", outputTrainingName, 
    "NO_TABLE", predictionDataset, "CRIME_TYPE CRIME_TYPE;WARD WARD;DAY_OF_MONTH DAY_OF_MON", 
    "Arrest NoArrest", "SPATIOTEMPORAL_DATA_STORE")

Umgebungen

Ausgabe-Koordinatensystem

Das Koordinatensystem, das für die Analyse verwendet wird. Die Analyse wird im Eingabe-Koordinatensystem ausgeführt, sofern nicht anders durch diesen Parameter angegeben. Für GeoAnalytics Tools werden die Endergebnisse im Data Store vom Typ "spatiotemporal" in WGS84 gespeichert.

Lizenzinformationen

  • Basic: Erfordert ArcGIS GeoAnalytics Server
  • Standard: Erfordert ArcGIS GeoAnalytics Server
  • Advanced: Erfordert ArcGIS GeoAnalytics Server

Verwandte Themen