Zeitserienvorhersagemodell trainieren (GeoAI)

Zusammenfassung

Trainiert ein Deep-Learning-Zeitserienvorhersagemodell mit Zeitseriendaten aus einem Raum-Zeit-Würfel. Das trainierte Modell kann zur Vorhersage der Werte jeder Position eines Raum-Zeit-Würfels mit dem Werkzeug Vorhersage mit Zeitserienmodell verwendet werden.

Zeitseriendaten können unterschiedlichen Trends folgen und mehrere Ebenen saisonaler Schwankungen aufweisen. Traditionelle Zeitserienvorhersagemodelle, die auf statistischen Ansätzen basieren, funktionieren abhängig vom Trend und von den Mustern der saisonalen Schwankungen in den Daten unterschiedlich. Deep-Learning-Modelle sind besonders lernfähig und können Ergebnisse für verschiedenste Arten von Zeitserien liefern, sofern ausreichend Trainingsdaten zur Verfügung stehen.

Dieses Werkzeug trainiert Zeitserienvorhersagemodelle mithilfe verschiedener Deep-Learning-Modelle, wie Fully Connected Network (FCN), Long Short-Term Memory (LSTM), InceptionTime, ResNet und ResCNN. Diese Modelle unterstützen multivariate Zeitserien, in denen das Modell von mehr als einer zeitabhängigen Variablen lernt, um zukünftige Werte vorherzusagen. Das trainierte Modell wird als Deep-Learning-Paketdatei (.dlpk) gespeichert und kann zur Vorhersage von zukünftigen Werten mit dem Werkzeug Vorhersage mit Zeitserienmodell verwendet werden.

Weitere Informationen zur Funktionsweise von Zeitserienvorhersagemodellen

Verwendung

  • Sie müssen das richtige Deep-Learning-Framework für Python in ArcGIS Pro installieren.

    Informationen zum Installieren von Deep-Learning-Frameworks für ArcGIS

  • Dieses Werkzeug akzeptiert netCDF-Daten, die mit den Werkzeugen Raum-Zeit-Würfel durch Aggregieren von Punkten erstellen, Raum-Zeit-Würfel aus definierten Positionen erstellen, Raum-Zeit-Würfel aus multidimensionalem Raster-Layer erstellen und Teilmenge eines Raum-Zeit-Würfels bilden erstellt wurden.

  • Im Vergleich zu anderen Vorhersagewerkzeugen im Toolset "Zeitserienvorhersage" verwendet dieses Werkzeug Zeitserienvorhersagemodelle, die auf Deep Learning basieren. Deep-Learning-Modelle sind besonders lernfähig und für Zeitserien geeignet, die komplexen Trends folgen und mit einfachen mathematischen Funktionen schwer zu modellieren sind. Um diese komplexen Trends zu erlernen, benötigen sie jedoch größere Mengen an Trainingsdaten. Für Training und Inferenz sind daher mehr Datenverarbeitungsressourcen erforderlich. Zum Ausführen dieses Werkzeugs wird eine GPU empfohlen.

  • Wenn Sie dieses Werkzeug mit einem Grafikprozessor ausführen möchten, legen Sie die Umgebungsvariable Prozessortyp auf "GPU" fest. Wenn Sie mehrere Grafikprozessoren haben, legen Sie stattdessen die Umgebungsvariable GPU ID fest.

  • Mit diesem Werkzeug können sowohl univariate als auch multivariate Zeitserien modelliert werden. Wenn der Raum-Zeit-Würfel andere Variablen aufweist, die in Beziehung mit der Variablen stehen, die vorhergesagt wird, können diese als erklärende Variablen einbezogen werden, um die Vorhersage zu verbessern.

  • Anstatt für jede Position des Raum-Zeit-Würfels ein unabhängiges Vorhersagemodell zu erstellen, wird mit diesem Werkzeug ein einziges globales Vorhersagemodell trainiert, das Trainingsdaten jeder einzelnen Position verwendet. Mit diesem globalen Modell werden zukünftige Werte an jeder Position mit dem Werkzeug Vorhersage mit Zeitserienmodell vorhergesagt.

  • Der Parameterwert für Ausgabe-Features wird dem Bereich Inhalt hinzugefügt, wobei das Rendering auf dem letzten vorhergesagten Zeitschritt basiert.

  • Zu den Anwendungsfällen für dieses Werkzeug gehören das Trainieren eines Modells zur Vorhersage der Nachfrage nach Einzelhandelsprodukten auf der Grundlage historischer Verkaufsdaten, das Trainieren eines Modells zur Vorhersage der Ausbreitung von Krankheiten oder die Vorhersage der Windenergieerzeugung auf der Grundlage historischer Produktions- und Wetterdaten.

  • Die Entscheidung über die Anzahl der Zeitintervalle, die für die Validierung ausgeschlossen werden sollen, ist wichtig. Je mehr Zeitschritte ausgeschlossen werden, desto weniger stehen für die Schätzung des Validierungs-RMSE zur Verfügung. Wenn zu wenige Zeitschritte ausgeschlossen werden, wird der Validierungs-RMSE mit einer geringen Datenmenge geschätzt und kann irreführend sein. Schließen Sie so viele Zeitschritte wie möglich aus, und behalten Sie gleichzeitig genügend Zeitschritte bei, um den Validierungs-RMSE zu schätzen. Halten Sie mindestens so viele Zeitschritte für die Validierung zurück, wie vorhergesagt werden sollen, sofern der Raum-Zeit-Würfel eine ausreichende Anzahl an Zeitschritten aufweist.

  • Weitere Informationen zu den Voraussetzungen für die Ausführung dieses Werkzeugs und eventuell dabei auftretenden Problemen finden Sie unter Häufig gestellte Fragen zu Deep Learning.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Zeitseriendaten

Der NetCDF-Würfel, der die Variable enthält, mit der zukünftige Zeitschritte vorhergesagt werden sollen. Diese Datei muss eine .nc-Dateierweiterung aufweisen und mit dem Werkzeug Raum-Zeit-Würfel durch Aggregieren von Punkten erstellen, Raum-Zeit-Würfel aus definierten Positionen erstellen oder Raum-Zeit-Würfel aus multidimensionalem Raster-Layer erstellen erstellt worden sein.

File
Ausgabemodell

Der Speicherort des Ausgabeordners, in dem das trainierte Modell gespeichert wird. Das trainierte Modell wird als Deep-Learning-Paketdatei (.dlpk) gespeichert.

Folder
Analysevariable

Die numerische Variable im Dataset, die für zukünftige Zeitschritte vorhergesagt wird.

String
Sequenzlänge

Die Anzahl der vorherigen Zeitintervalle, die beim Trainieren des Modells verwendet werden sollen. Wenn die Daten saisonale Schwankungen (sich wiederholende Zyklen) enthalten, dann geben Sie die Länge an, die einer Saison entspricht. Der Parameterwert darf nicht größer als die Gesamtanzahl der Eingabe-Zeitschritte sein, die nach dem Ausschließen der Validierungszeitschritte übrig bleiben.

Long
Erklärende Trainingsvariablen
(optional)

Unabhängige Variablen aus den Daten, die zum Trainieren des Modells verwendet werden. Aktivieren Sie das Kontrollkästchen Kategorisch für alle Variablen, die Klassen oder Kategorien darstellen.

Value Table
Max. Epochen
(optional)

Die maximale Anzahl von Epochen, für die das Modell trainiert wird. Die Standardeinstellung ist 20.

Long
Für die Validierung auszuschließende Anzahl an Zeitschritten
(optional)

Die Anzahl der Zeitschritte, die für die Validierung ausgeschlossen werden. Wenn der Wert 14 angegeben wird, werden die letzten 14 Zeilen im Datenrahmen als Validierungsdaten verwendet. Dieser Wert darf nicht größer als 25 Prozent der Anzahl der Eingabe-Zeitschritte sein. Die Standardeinstellung ist 2.

Long
Modelltyp
(optional)

Gibt die Modellarchitektur an, die zum Trainieren des Modells verwendet wird.

  • InceptionTime
  • ResNet
  • ResCNN
  • FCN
  • LSTM

Der Standardmodelltyp ist InceptionTime.

Weitere Informationen zur Funktionsweise von Zeitserienvorhersagemodellen

String
Batch-Größe
(optional)

Die Anzahl der Stichproben, die gleichzeitig verarbeitet werden sollen. Die Standardeinstellung ist 64.

Abhängig von der GPU des Computers kann diese Zahl zu 8, 16, 32, 64 usw. geändert werden.

Long
Modellargumente
(optional)

Zusätzliche Modellargumente, die für jedes Modell spezifisch verwendet werden. Mit diesen Argumenten können Komplexität und Größe des Modells angepasst werden. Informationen zur Modellarchitektur, den unterstützten Modellargumenten und den Standardwerten finden Sie unter Funktionsweise von Zeitserienvorhersagemodellen.

Value Table
Training beenden, wenn sich das Modell nicht mehr verbessert
(optional)

Gibt an, ob das Modelltraining beendet wird, wenn der Validierungsverlust nach fünf aufeinanderfolgenden Epochen keine Verbesserung registriert.

  • Aktiviert: Das Modelltraining wird beendet, wenn der Validierungsverlust nach fünf aufeinanderfolgenden Epochen keine Verbesserung registriert. Dies ist die Standardeinstellung.

  • Deaktiviert: Das Modelltraining wird fortgesetzt, bis die maximale Anzahl an Epochen erreicht wird.

Boolean
Ausgabe-Feature-Class
(optional)

Die Ausgabe-Feature-Class von allen Positionen im Raum-Zeit-Würfel mit vorhergesagten Werten, die als Felder gespeichert werden. Die Feature-Class wird anhand der Vorhersage des trainierten Modells für das Validierungs-Dataset erstellt. Die Ausgabe zeigt die Vorhersage für den letzten Zeitschritt an und enthält Pop-up-Diagramme, die die Zeitserienvorhersage für das Validierungs-Dataset zeigen.

Feature Class

arcpy.geoai.TrainTimeSeriesForecastingModel(in_cube, out_model, analysis_variable, sequence_length, {explanatory_variables}, {max_epochs}, {validation_timesteps}, {model_type}, {batch_size}, {arguments}, {early_stopping}, {out_features})
NameErläuterungDatentyp
in_cube

Der NetCDF-Würfel, der die Variable enthält, mit der zukünftige Zeitschritte vorhergesagt werden sollen. Diese Datei muss eine .nc-Dateierweiterung aufweisen und mit dem Werkzeug Raum-Zeit-Würfel durch Aggregieren von Punkten erstellen, Raum-Zeit-Würfel aus definierten Positionen erstellen oder Raum-Zeit-Würfel aus multidimensionalem Raster-Layer erstellen erstellt worden sein.

File
out_model

Der Speicherort des Ausgabeordners, in dem das trainierte Modell gespeichert wird. Das trainierte Modell wird als Deep-Learning-Paketdatei (.dlpk) gespeichert.

Folder
analysis_variable

Die numerische Variable im Dataset, die für zukünftige Zeitschritte vorhergesagt wird.

String
sequence_length

Die Anzahl der vorherigen Zeitintervalle, die beim Trainieren des Modells verwendet werden sollen. Wenn die Daten saisonale Schwankungen (sich wiederholende Zyklen) enthalten, dann geben Sie die Länge an, die einer Saison entspricht. Der Parameterwert darf nicht größer als die Gesamtanzahl der Eingabe-Zeitschritte sein, die nach dem Ausschließen der Validierungszeitschritte übrig bleiben.

Long
explanatory_variables
[explanatory_variables,...]
(optional)

Unabhängige Variablen aus den Daten, die zum Trainieren des Modells verwendet werden. Verwenden Sie den Wert True nach allen Variablen, die Klassen oder Kategorien darstellen.

Value Table
max_epochs
(optional)

Die maximale Anzahl von Epochen, für die das Modell trainiert wird. Die Standardeinstellung ist 20.

Long
validation_timesteps
(optional)

Die Anzahl der Zeitschritte, die für die Validierung ausgeschlossen werden. Wenn der Wert 14 angegeben wird, werden die letzten 14 Zeilen im Datenrahmen als Validierungsdaten verwendet. Dieser Wert darf nicht größer als 25 Prozent der Anzahl der Eingabe-Zeitschritte sein. Die Standardeinstellung ist 2.

Long
model_type
(optional)

Gibt die Modellarchitektur an, die zum Trainieren des Modells verwendet wird.

  • InceptionTime
  • ResNet
  • ResCNN
  • FCN
  • LSTM

Der Standardmodelltyp ist InceptionTime.

String
batch_size
(optional)

Die Anzahl der Stichproben, die gleichzeitig verarbeitet werden sollen. Die Standardeinstellung ist 64.

Abhängig von der GPU des Computers kann diese Zahl zu 8, 16, 32, 64 usw. geändert werden.

Long
arguments
[arguments,...]
(optional)

Zusätzliche Modellargumente, die für jedes Modell spezifisch verwendet werden. Mit diesen Argumenten können Komplexität und Größe des Modells angepasst werden. Informationen zur Modellarchitektur, den unterstützten Modellargumenten und den Standardwerten finden Sie unter Funktionsweise von Zeitserienvorhersagemodellen.

Value Table
early_stopping
(optional)

Gibt an, ob das Modelltraining beendet wird, wenn der Validierungsverlust nach fünf aufeinanderfolgenden Epochen keine Verbesserung registriert.

  • TRUEDas Modelltraining wird beendet, wenn der Validierungsverlust nach fünf aufeinanderfolgenden Epochen keine Verbesserung registriert. Dies ist die Standardeinstellung.
  • FALSEDas Modelltraining wird fortgesetzt, bis die maximale Anzahl an Epochen erreicht wird.
Boolean
out_features
(optional)

Die Ausgabe-Feature-Class von allen Positionen im Raum-Zeit-Würfel mit vorhergesagten Werten, die als Felder gespeichert werden. Die Feature-Class wird anhand der Vorhersage des trainierten Modells für das Validierungs-Dataset erstellt. Die Ausgabe zeigt die Vorhersage für den letzten Zeitschritt an und enthält Pop-up-Diagramme, die die Zeitserienvorhersage für das Validierungs-Dataset zeigen.

Feature Class

Codebeispiel

TrainTimeSeriesForecastingModel (eigenständiges Skript)

In diesem Beispiel wird die Verwendung der Funktion TrainTimeSeriesForecastingModel gezeigt.


# Name: TrainTimeSeriesForecastingModel.py
# Description: Train a time series model on space-time cube data with
# different AI models.
  
# Import system modules                                                                                                                                                                                                                                                                                                                    
import arcpy
import os

# Set local variables
datapath  = "path_to_data_for_forecasting" 
out_path = "path_to_gdb_for_forecasting"

model_path = os.path.join(out_path, "model")
in_cube = os.path.join(datapath, "test_data")
out_features = os.path.join(out_path, "forecasted_feature.gdb", "forecasted")

# Run TrainTimeSeriesForecastingModel
arcpy.geoai.TrainTimeSeriesForecastingModel(
        in_cube,
        model_path,
        "CONSUMPTION",
        12,
        None,
        20,
        2,
        "InceptionTime",
        64,
        None,
        True,
        out_features
    )

Lizenzinformationen

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

Verwandte Themen