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