Beschriftung | Erläuterung | Datentyp |
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.
| Long |
Erklärende Trainingsvariablen (optional) | Unabhängige Variablen aus den Daten, die zum Trainieren des Modells verwendet werden. Aktivieren Sie das Kontrollkästchen Kategorial 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 z. B. der Wert 14 angegeben wird, werden die letzten 14 Zeilen im Datenrahmen als Validierungsdaten verwendet. Der Standardwert ist 10 Prozent der gesamten Zeitschritte. Der Wert sollte nach Möglichkeit nicht weniger als 5 Prozent der gesamten Zeitschritte im Eingabe-Raum-Zeit-Würfel betragen.
| Long |
Modelltyp (optional) | Gibt die Modellarchitektur an, die zum Trainieren des Modells verwendet wird.
| 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 in 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.
| 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 |
Ausgabe-Würfel (optional) | Ein Ausgabe-Raum-Zeit-Würfel (.nc-Datei), der die Werte des Eingabe-Raum-Zeit-Würfels enthält, die durch die vorhergesagten Werte für die entsprechenden Validierungszeitschritte ersetzt wurden. | File |
Mehrere Schritte (optional) | Gibt an, ob zum Trainieren des Vorhersagemodells für multivariate Zeitserien die Ein-Schritt-Methode oder die aus mehreren Schritten bestehende Methode verwendet wird.
| Boolean |
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.
Vorhersagen mit univariaten Zeitserien erfolgen in einem einzigen Schritt. Dies ist die Standardmethode.
Vorhersagen mit multivariaten Zeitserien können mit zwei verschiedenen Methoden erfolgen: als Vorhersage in einem einzigen Schritt oder als Vorhersage in mehreren Schritten. Der Parameter Mehrere Schritte wird aktiviert, wenn mehrere erklärende Trainingsvariablen ausgewählt werden.
Bei Verwendung der Ein-Schritt-Methode kann das Modell in jedem Zeitschritt mit neuen Daten aktualisiert werden; daher ist es für Echtzeitanwendungen geeignet. Da das Modell jedoch in jedem Zeitschritt aktualisiert wird, können sich im Zeitverlauf Vorhersagefehler summieren, sodass sich die Genauigkeit langfristiger Vorhersagen verringert. Bei der Vorhersage in mehreren Schritten sagt das Modell mehrere zukünftige Datenpunkte auch nach dem aktuellen Zeitschritt voraus. Wenn zum Beispiel die nächsten 20 Zeitschritte vorhergesagt werden sollen, generiert das Modell sofort 20 aufeinanderfolgende Vorhersagen. Mit einer Vorhersage in mehreren Schritten kann das Modell weitere Aspekte der Zeitserie berücksichtigen und langfristige Trends und Muster effektiver erfassen. Da das Modell mehrere Zeitschritte im Voraus vorhersagt, verringert sich die Wahrscheinlichkeit, dass sich Fehler summieren, und die Genauigkeit langfristiger Vorhersagen wird erhöht. Jedoch ist die Fähigkeit des Modells, Echtzeitänderungen der Daten zu berücksichtigen, geringer, da es mehrere Schritte auf einmal vorhersagt. Die Entscheidung für eine dieser beiden Methoden hängt von den speziellen Anforderungen und Eigenschaften der durchzuführenden Zeitserienvorhersage ab.
Der Parameter Sequenzlänge wirkt sich auf das Ergebnis eines Zeitserienvorhersagemodells aus und kann als Anzahl der früheren Zeitschritte definiert werden, die als Eingabe für die Vorhersage des nächsten Zeitschritts verwendet werden sollten. Wenn die Sequenzlänge n beträgt, verwendet das Modell die letzten n Zeitschritte als Eingabe für die Vorhersage des nächsten Zeitschritts. Der Parameterwert darf nicht größer als die Gesamtanzahl der Eingabe-Zeitschritte sein, die nach dem Ausschließen der Validierungszeitschritte übrig bleiben.
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 beispielsweise 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 das Trainieren des Modells für 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
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}, {out_cube}, {multistep})
Name | Erläuterung | Datentyp |
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.
| 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 z. B. der Wert 14 angegeben wird, werden die letzten 14 Zeilen im Datenrahmen als Validierungsdaten verwendet. Der Standardwert ist 10 Prozent der gesamten Zeitschritte. Der Wert sollte nach Möglichkeit nicht weniger als 5 Prozent der gesamten Zeitschritte im Eingabe-Raum-Zeit-Würfel betragen.
| Long |
model_type (optional) | Gibt die Modellarchitektur an, die zum Trainieren des Modells verwendet wird.
| 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 in 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.
| 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 |
out_cube (optional) | Ein Ausgabe-Raum-Zeit-Würfel (.nc-Datei), der die Werte des Eingabe-Raum-Zeit-Würfels enthält, die durch die vorhergesagten Werte für die entsprechenden Validierungszeitschritte ersetzt wurden. | File |
multistep (optional) | Gibt an, ob zum Trainieren des Vorhersagemodells für multivariate Zeitserien die Ein-Schritt-Methode oder die aus mehreren Schritten bestehende Methode verwendet wird.
| Boolean |
Codebeispiel
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