Skip To Content

Generalisierte lineare Regression (GeoAnalytics Desktop)

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).

  • Mithilfe der folgenden Schritte können Sie die Verarbeitungsgeschwindigkeit des Werkzeugs Generalisierte lineare Regression verbessern:

    • Legen Sie die Verarbeitungsausdehnung für die Analyse so fest, dass nur die gewünschten Daten analysiert werden.
    • Geben Sie keine Koeffiziententabelle aus.
    • Verwenden Sie lokale Daten an der Stelle, an der die Analyse ausgeführt wird.

  • Dieses Geoverarbeitungswerkzeug wird unterstützt durch Spark. Bei Analysen auf Ihrem Desktop-Computer werden mehrere Kerne parallel verwendet. Weitere Informationen über die Ausführung der Analyse finden Sie unter Überlegungen zu GeoAnalytics Desktop-Werkzeugen.
  • Bei der Ausführung von GeoAnalytics Desktop-Werkzeugen wird die Analyse auf Ihrem Desktop-Computer durchgeführt. Für eine optimale Performance sollten die Daten auf Ihrem Desktop verfügbar sein. Wenn Sie einen gehosteten Feature-Layer verwenden, wird empfohlen, ArcGIS GeoAnalytics Server zu verwenden. Wenn Ihre Daten nicht lokal verfügbar sind, dauert die Ausführung eines Werkzeugs bedeutend länger. Wenn Sie Ihren ArcGIS GeoAnalytics Server für Analysen verwenden möchten, finden Sie weitere Informationen unter ArcGIS GeoAnalytics Server-Werkzeuge.

  • 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.

Syntax

GeneralizedLinearRegression(input_features, dependent_variable, model_type, explanatory_variables, output_features, {input_features_to_predict}, {explanatory_variables_to_match}, {dependent_variable_mapping}, {output_predicted_features}, {coefficient_table})
ParameterErklärungDatentyp
input_features

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

Table View
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

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

Table; Feature Class
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.

Table View
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
output_predicted_features
(optional)

Die Ausgabe-Feature-Class mit den Schätzungen der abhängigen Variablen für jede input_features_to_predict.

Die Ausgabe-Feature-Class mit den Schätzungen der abhängigen Variablen für alle Eingabe-Vorhersage-Features.

Table; Feature Class
coefficient_table
(optional)

Die Ausgabe-Feature-Class mit den Schätzungen der abhängigen Variablen für jede input_features_to_predict.

Die Ausgabe-Feature-Class mit den Schätzungen der abhängigen Variablen für alle Eingabe-Vorhersage-Features.

Table; Feature Class

Codebeispiel

GeneralizedLinearRegression – Beispiel (Python-Fenster)

Das folgende Skript veranschaulicht die Verwendung des Werkzeugs GeneralizeLinearRegression 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: Advanced License
# Import system modules
import arcpy
arcpy.env.workspace = "c:/data/city.gdb"
# Set local variables
trainingDataset = "old_crimes"
predictionDataset = "new_crimes"
outputTrainingName = "training"
outputPredictedName = "predicted"
# Execute Generalize Linear Regression
arcpy.geoanalytics.GeneralizedLinearRegression(
    trainingData, "ArrestMade", "BINARY", "CRIME_TYPE; WARD; DAY_OF_MONTH", 
    outputTrainingName, None, outputPredictedName, 
    "CRIME_TYPE CRIME_TYPE;WARD WARD;DAY_OF_MONTH DAY_OF_MON", 
    "Arrest NoArrest")

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen