Zusammenfassung
Sagt mithilfe einer Adaption des "Random Forest"-Algorithmus von Leo Breiman die zukünftigen Werte für jede Position eines Raum-Zeit-Würfels vorher. Das Forest-Regressionsmodell wird mithilfe von Zeitfenstern an jeder Position des Raum-Zeit-Würfels trainiert.
Weitere Informationen zur Funktionsweise der Forest-basierten Vorhersage
Abbildung
Verwendung
Dieses Werkzeug akzeptiert netCDF-Dateien, die mit dem Werkzeug Raum-Zeit-Würfel durch Aggregieren von Punkten erstellen, mit dem Werkzeug Raum-Zeit-Würfel aus definierten Features erstellen und mit dem Werkzeug Raum-Zeit-Würfel aus multidimensionalem Raster-Layer erstellen erstellt wurden.
Verglichen mit anderen Vorhersagewerkzeugen im Toolset Zeitserienvorhersage ist dieses Werkzeug das komplexeste, macht allerdings auch die wenigsten Annahmen über die Daten. Empfohlen wird es für Zeitserien mit komplizierten Shapes und Trends, die mit einfachen mathematischen Funktionen schwierig zu modellieren sind, oder wenn den Annahmen anderer Methoden nicht entsprochen wird.
Mit dem Werkzeug Vorhersagen nach Position auswerten können mehrere vorhergesagte Raum-Zeit-Würfel verglichen und zusammengeführt werden. Auf diese Weise können Sie mit unterschiedlichen Vorhersagewerkzeugen und -parametern mehrere Vorhersagewürfel erstellen. Das Werkzeug ermittelt dann mit dem Vorhersage-RMSE (Root Mean Square Error) oder dem Validierungs-RMSE die beste Vorhersage für jeden Position.
Für jede Position im Eingabe-Raum-Zeit-Würfel erstellt das Werkzeug zwei Modelle für unterschiedliche Zwecke.
- Vorhersagemodell: Dieses Modell wird für die Vorhersage zukünftiger Werte des Raum-Zeit-Würfels verwendet, indem mit den Werten der Zeitserie ein Forest erstellt wird und dieser Forest für die Vorhersage der Werte zukünftiger Zeitintervalle verwendet wird. Die Eignung des Vorhersagemodell für die Werte des Raum-Zeit-Würfels wird mit dem Vorhersage-RMSE-Wert gemessen.
- Validierungsmodell: Mit diesem Modell wird das Vorhersagemodell validiert und getestet, wie genau es zukünftige Werte vorhersagen kann. Wenn eine Zahl größer als 0 für den Parameter Für die Validierung auszuschließende Anzahl an Zeitintervallen angegeben wird, wird mit den Zeitintervallen, die nicht ausgeschlossen wurden, dieses Modell erstellt und verwendet, um die Werte der ausgeschlossenen Zeitintervalle vorherzusagen. So können Sie erkennen, wie gut das Forest-Modell zukünftige Werte vorhersagen kann. Die Übereinstimmung der vorhergesagten Werte mit den ausgeschlossenen Werten wird mit dem Validierungs-RMSE-Wert gemessen.
Weitere Informationen zu Vorhersagemodell, Validierungsmodell und RMSE-Statistiken
Die Ausgabe-Features werden dem Bereich Inhalt hinzugefügt, wobei das Rendering auf dem letzten vorhergesagten Zeitintervall basiert.
-
Das Werkzeug erstellt Geoverarbeitungsmeldungen und Pop-up-Diagramme, damit Sie die Ergebnisse der Vorhersage leichter verstehen und visualisieren können. Die Meldungen enthalten Informationen über die Struktur des Raum-Zeit-Würfels und Summenstatistiken der RMSE-Werte und Saisonlängen. Wenn Sie mit dem Navigationswerkzeug Erkunden auf ein Feature klicken, wird im Bereich Pop-up ein Liniendiagramm mit den Werten des Raum-Zeit-Würfels, den angepassten Forest-Werten, den vorhergesagten Werten und den Konfidenzgrenzen für diese Position angezeigt.
Die Entscheidung über die Anzahl der Zeitintervalle, die für die Validierung ausgeschlossen werden sollen, ist wichtig. Je mehr Zeitintervalle ausgeschlossen werden, desto weniger stehen für die Schätzung des Validierungsmodell zur Verfügung. Wenn jedoch zu wenige Zeitintervalle ausgeschlossen werden, wird der Validierungs-RMSE mit einer geringen Datenmenge geschätzt und kann irreführend sein. Sie sollten so viele Zeitintervalle wie möglich ausschließen und gleichzeitig ausreichend Zeitintervalle behalten, um das Validierungsmodell zu schätzen. Es empfiehlt sich außerdem, mindestens so viele Zeitintervalle für die Validierung zurückzuhalten, wie vorhergesagt werden sollen, sofern der Raum-Zeit-Würfel eine entsprechende Anzahl an Zeitintervallen aufweist.
Syntax
ForestBasedForecast(in_cube, analysis_variable, output_features, {output_cube}, {number_of_time_steps_to_forecast}, {time_window}, {number_for_validation}, {number_of_trees}, {minimum_leaf_size}, {maximum_depth}, {sample_size}, {forecast_approach})
Parameter | Erklärung | Datentyp |
in_cube | Der NetCDF-Würfel, der die Variable enthält, die Sie für zukünftige Zeitintervalle vorhersagen möchten. Diese Datei muss eine .nc-Dateierweiterung aufweisen und mit den Werkzeugen 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 |
analysis_variable | Die numerische Variable in der NetCDF-Datei, die für zukünftige Zeitintervalle vorhergesagt wird. | String |
output_features | Die Ausgabe-Feature-Class von allen Positionen im Raum-Zeit-Würfel mit vorhergesagten Werten, die als Felder gespeichert werden. Der Layer zeigt die Vorhersage für das letzte Zeitintervall an und enthält Pop-up-Diagramme, die die Zeitserie, Vorhersagen und 90-Prozent-Konfidenzgrenzen für jede Position enthalten. | Feature Class |
output_cube (optional) | Ein neuer Raum-Zeit-Würfel (.nc-Datei), der die Werte des Eingabe-Raum-Zeit-Würfels mit den angehängten vorhergesagten Zeitintervallen enthält. Das Werkzeug Raum-Zeit-Würfel in 3D visualisieren kann verwendet werden, um alle beobachteten und vorhergesagten Werte gleichzeitig zu sehen. | File |
number_of_time_steps_to_forecast (optional) | Eine positive ganze Zahl, mit der die Anzahl an Zeitintervallen für die Vorhersage angegeben wird. Dieser Wert darf nicht mehr als 50 Prozent aller Zeitintervalle im Eingabe-Raum-Zeit-Würfel betragen. Der Standardwert ist ein Zeitintervall. | Long |
time_window (optional) | Die Anzahl der vorherigen Zeitintervalle, die beim Trainieren des Forest verwendet werden sollen. Wenn Ihre Daten eine Saisonalität (sich wiederholende Zyklen) zeigen, dann geben Sie die Anzahl der Zeitschritte, die einer Saison entsprechen, für diesen Parameter an. Dieser Wert darf nicht mehr als ein Drittel der Anzahl der Zeitschritte im Eingabe-Raum-Zeit-Würfel betragen. Wird kein Wert angegeben, wird mit einer spektralen Dichtefunktion ein Zeitfenster für jede Position geschätzt. | Long |
number_for_validation (optional) | Die Anzahl an Zeitintervallen am Ende jeder Zeitserie, die für die Validierung ausgeschlossen wird. Der Standardwert ist 10 Prozent (abgerundet) der Anzahl an Eingabe-Zeitintervallen. Der Wert darf nicht größer als 25 Prozent der Anzahl an Zeitintervallen sein. Geben Sie den Wert 0 an, um keine Zeitintervalle auszuschließen. | Long |
number_of_trees (optional) | Die Anzahl der Strukturen, die im Forest-Modell erstellt werden sollen. Eine höhere Anzahl von Strukturen führt zu einer genaueren Modellvorhersage, für die Berechnung des Modells wird jedoch mehr Zeit benötigt. Die Standardzahl der Strukturen beträgt 100. Dieser Wert muss mindestens 1 und darf nicht größer als 1.000 sein. | Long |
minimum_leaf_size (optional) | Die minimale Anzahl der Beobachtungen, die mindestens erforderlich sind, um ein Element (den Endpunkt einer Struktur, der keine weiteren Verzweigungen hat) beizubehalten. Bei sehr großen Daten führt eine Erhöhung dieser Zahl zu einer Erhöhung der Laufzeit des Werkzeugs. | Long |
maximum_depth (optional) | Die maximale Anzahl von Teilungen entlang einer Struktur. Je größer die maximale Tiefe, desto mehr Teilungen werden erstellt. Dadurch steigt das Risiko einer Überanpassung des Modells. Wird kein Wert angegeben, wird durch das Werkzeug basierend auf der Anzahl der durch das Modell erstellten Strukturen und der Größe des Zeitintervallfensters ein Wert ermittelt. | Long |
sample_size (optional) | Der Prozentsatz der Trainingsdaten, die für die Anpassung des Vorhersagemodells verwendet werden sollen. Die Trainingsdaten bestehen aus verknüpften erklärenden und abhängigen Variablen, die mit Zeitfenstern erstellt wurden. Alle verbleibenden Trainingsdaten werden zum Optimieren der Parameter des Vorhersagemodells verwendet. Der Standardwert ist 100 Prozent. Weitere Informationen zum Training des Forest-Vorhersagemodells | Long |
forecast_approach (optional) | Gibt an, wie die erklärenden und abhängigen Variablen beim Training des Forest-Modells an jeder Position dargestellt werden sollen. Zum Trainieren des Forest-Modells, das für Vorhersagen verwendet werden soll, müssen mit Zeitfenstern Sätze aus erklärenden und abhängigen Variablen erstellt werden. Verwenden Sie diesen Parameter, um anzugeben, ob diese Variablen linear trendbereinigt werden sollen und ob die abhängige Variable durch ihren Raw-Wert oder durch das Residuum eines linearen Regressionsmodells dargestellt werden soll. Dieses lineare Regressionsmodell verwendet alle Zeitintervalle innerhalb eines Zeitfensters als erklärende Variablen und das folgende Zeitintervall als abhängige Variable. Das Residuum wird durch Subtraktion des auf linearer Regression basierenden vorhergesagten Wertes vom Raw-Wert der abhängigen Variable berechnet. Weitere Informationen zum Parameter "Vorhersageansatz"
| String |
Codebeispiel
Das folgende Python-Skript veranschaulicht die Verwendung des Werkzeugs ForestBasedForecast:
import arcpy
arcpy.env.workspace = "C:/Analysis"
# Forecast four time steps using a random forest with detrending.
arcpy.stpm.ForestBasedForecast("CarTheft.nc","Cars_NONE_ZEROS",
"Analysis.gdb/Forecasts", "outForecastCube.nc"
4, 3, 5, 100, "", "", 100, "VALUE_DETREND")
Das folgende Python-Skript veranschaulicht die Verwendung des Werkzeugs ForestBasedForecast zur Vorhersage der Anzahl von Autodiebstählen:
# Forecast car thefts using a random forest.
# Import system modules.
import arcpy
# Set property to overwrite existing output, by default.
arcpy.env.overwriteOutput = True
# Set workspace.
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace
# Forecast three time steps using a random forest based on change.
arcpy.stpm.ForestBasedForecast("CarTheft.nc","Cars_NONE_ZEROS",
"Analysis.gdb/Forecasts", "outForecastCube.nc"
4, 3, 5, 100, "", "", 100, "CHANGE")
# Create a feature class visualizing the forecasts.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Cars_NONE_ZEROS",
"VALUE", "Analysis.gdb/ForecastsFC")
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja
Verwandte Themen
- Überblick über die Toolbox "Space Time Pattern Mining"
- Überblick über das Toolset "Zeitserienvorhersage"
- Kurvenanpassungsvorhersage
- Vorhersage mit exponentiellem Glätten
- Vorhersagen nach Position auswerten
- Funktionsweise der Forest-basierten Vorhersage
- Forest-basierte Klassifizierung und Regression
- Funktionsweise des Werkzeugs "Forest-basierte Klassifizierung und Regression"
- Suchen eines Geoverarbeitungswerkzeugs