Resumen
Predice los valores de cada ubicación de un cubo de espacio-tiempo utilizando una adaptación del algoritmo de bosque aleatorio de Leo Breiman. El modelo de regresión de bosque se entrena usando ventanas de tiempo en cada ubicación del cubo de espacio-tiempo.
Más información sobre cómo funciona Predicción basada en bosque
Ilustración
Uso
Esta herramienta acepta archivos netCDF creados con las herramientas Crear cubo de espacio-tiempo agregando puntos, Crear cubo de espacio-tiempo a partir de entidades definidas y Crear cubo de espacio-tiempo a partir de capa ráster multidimensional.
En comparación con otras herramientas de predicción del conjunto de herramientas Predicción de serie temporal, esta herramienta es la más compleja, pero es la que incluye el menor número de suposiciones acerca de los datos. Se recomienda para series temporales con formas y tendencias complicadas que son difíciles de modelar con funciones matemáticas simples o cuando no se satisfacen las suposiciones de otros métodos.
Se pueden comparar y fusionar varios cubos de espacio-tiempo predichos mediante la herramienta Evaluar previsiones por ubicación. Esto permite crear varios cubos de previsión con parámetros y herramientas de previsión diferentes; la herramienta identificará la mejor previsión correspondiente a cada ubicación por medio del error cuadrático medio de previsión (RMSE) o el RMSE de validación.
Por cada ubicación del Cubo de espacio-tiempo de entrada, la herramienta genera dos modelos que sirven para fines diferentes.
- Modelo de predicción: este modelo se utiliza para predecir los valores del cubo de espacio-tiempo creando un bosque con los valores de las series temporales y utilizando este bosque para predecir los valores de los futuros periodos de tiempo. El ajuste del modelo de previsión a los valores del cubo de espacio-tiempo se mide mediante el valor de RMSE de previsión.
- Modelo de validación: este modelo se utiliza para validar el modelo de predicción y evaluar con qué precisión es capaz de predecir los valores. Si se especifica un número mayor que 0 en el parámetro Número de periodos de tiempo a excluir para la validación, este modelo se crea utilizando los periodos de tiempo incluidos y se utiliza para predecir los valores de los periodos de tiempo excluidos. Permite ver con qué precisión el modelo puede predecir valores. El ajuste de los valores previstos a los valores excluidos se mide mediante el valor RMSE de validación.
Más información sobre el modelo de previsión, el modelo de validación y la estadística de RMSE
Los valores del parámetro Entidades de salida se agregarán al panel Contenido con una representación en pantalla basada en el periodo de tiempo predicho final.
-
Esta herramienta genera mensajes de geoprocesamiento y gráficos emergentes para facilitar la compresión y visualización de los resultados de previsión. Los mensajes contienen información sobre la estructura del cubo de espacio-tiempo y estadísticas resumidas de los valores de RMSE y la duración de las estaciones. Al hacer clic en una entidad con la herramienta de navegación Explorar, aparece un gráfico de líneas en el panel Elementos emergentes que muestra los valores del cubo de espacio-tiempo, los valores del bosque ajustados, los valores predichos y los límites de confianza de esa ubicación.
El parámetro Opción de valor atípico se puede utilizar para detectar valores atípicos estadísticamente significativos en los valores de la serie temporal de cada ubicación.
Más información sobre cómo detectar valores atípicos de series temporales
Si elige la opción Identificar valores atípicos del parámetro Opción de valor atípico, se recomienda que proporcione un valor para el parámetro Ventana de periodo de tiempo en lugar de dejar el parámetro vacío y estimar una ventana de periodo de tiempo diferente en cada ubicación. Para cada ubicación, el modelo de bosque utiliza los periodos de tiempo de la primera ventana de periodo de tiempo para entrenar el modelo de predicción y solo se detectan valores atípicos para los periodos de tiempo restantes. Si las diferentes ubicaciones excluyen diferentes números de periodos de tiempo para el entrenamiento, las estadísticas de resumen como el valor medio y los números mínimo y máximo de valores atípicos por periodo de tiempo o por ubicación pueden resultar confusas.
La decisión sobre cuántos periodos de tiempo deben excluirse para la validación es importante. Cuantos más periodos de tiempo se excluyan, menores periodos de tiempo se mantienen para estimar el modelo de validación. No obstante, si se excluyen muy pocos periodos de tiempo, el RMSE de validación se estimará usando una pequeña cantidad de datos y puede llevar a engaño. Se recomienda excluir los máximos periodos de tiempo posibles, pero manteniendo a la vez suficientes periodos de tiempo para estimar el modelo de validación. También se recomienda mantener al menos tanto periodos de tiempo para validación como número de periodos de tiempo pretenda pronosticar si el cubo de espacio-tiempo tiene suficientes periodos de tiempo para permitirlo.
Sintaxis
arcpy.stpm.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}, {outlier_option}, {level_of_confidence}, maximum_number_of_outliers)
Parámetro | Explicación | Tipo de datos |
in_cube | El cubo netCDF que contiene la variable para predecir los periodos de tiempo futuros. Este archivo debe tener una extensión .nc y se debe haber creado utilizando las herramientas Crear cubo de espacio-tiempo agregando puntos, Crear cubo de espacio-tiempo a partir de ubicaciones definidas o Crear cubo de espacio-tiempo a partir de capa ráster multidimensional. | File |
analysis_variable | Variable numérica del archivo netCDF que se pronosticará en periodos de tiempo futuros. | String |
output_features | Clase de entidad de salida de todas las ubicaciones en el cubo de espacio-tiempo con valores previstos almacenados como campos. La capa muestra la predicción del paso de tiempo final y contiene gráficos emergentes que muestran las series de tiempo, las predicciones y los límites de confianza del 90 por ciento de cada ubicación. | Feature Class |
output_cube (Opcional) | Nuevo cubo de espacio-tiempo (archivo .nc) que contiene los valores del cubo de espacio-tiempo de entrada con los periodos de tiempo previstos anexados. La herramienta Visualizar cubo de espacio-tiempo en 3D puede utilizarse para ver todos los valores observados y previstos de forma simultánea. | File |
number_of_time_steps_to_forecast (Opcional) | Entero positivo que especifica el número de periodos de tiempo de la previsión. Este valor no puede ser mayor que el 50% de los periodos de tiempo totales del cubo de espacio-tiempo de entrada. El valor predeterminado es un periodo de tiempo. | Long |
time_window (Opcional) | El número de periodos de tiempo anteriores que se desea usar para entrenar el modelo. Si sus datos presentan estacionalidad (ciclos que se repiten), proporcione el número de periodos de tiempo correspondientes a una estación. Este valor no puede ser mayor que un tercio del número de pasos de tiempo del cubo de espacio-tiempo de entrada. Si no se proporciona ningún valor, se estima una ventana de tiempo para cada ubicación utilizando una función de densidad espectral. | Long |
number_for_validation (Opcional) | Número de periodos de tiempo al final de cada serie temporal que se van a excluir para validación. El valor predeterminado es el 10% (redondeado por defecto) del número de periodos de tiempo de entrada y no puede ser mayor que el 25% del número de periodos de tiempo. Si no quiere excluir ningún periodo de tiempo, introduzca el valor 0. | Long |
number_of_trees (Opcional) | La cantidad de árboles que se crearán en el modelo de bosque. Un mayor número de árboles por lo general dará lugar a una predicción de modelo más precisa, pero el modelo tardará más en calcularse. El número predeterminado de árboles es de 100, y el valor debe ser al menos 1 y no mayor de 1.000. | Long |
minimum_leaf_size (Opcional) | El número mínimo de observaciones que se requieren para conservar una hoja (es decir, el nodo terminal de un árbol que no tiene más divisiones). En el caso de datos muy grandes, si aumenta este número se reducirá el tiempo de ejecución de la herramienta. | Long |
maximum_depth (Opcional) | El número máximo de divisiones que se realizarán en un árbol. Si se utiliza una profundidad máxima grande, se podrán crear más divisiones, lo cual puede aumentar las probabilidades de exceso de ajuste en el modelo. Si no se proporciona ningún valor, la herramienta identificará un valor basado en el número de árboles creados por el modelo y el tamaño de la ventana de periodos de tiempo. | Long |
sample_size (Opcional) | El porcentaje de datos de entrenamiento que se utilizarán para ajustar el modelo de predicción. Los datos de entrenamiento constan de variables explicativas y dependientes asociadas construidas usando ventanas de tiempo. Todos los datos de entrenamiento restantes se utilizarán para optimizar los parámetros del modelo de predicción. El valor predeterminado es del 100 por ciento. Más información sobre el entrenamiento del modelo de predicción de bosque | Long |
forecast_approach (Opcional) | Especifica cómo se representarán las variables explicativas y dependientes al entrenar el modelo de bosque en cada ubicación. Para entrenar el modelo de bosque que se utilizará para la predicción, se deben crear conjuntos de variables explicativas y dependientes utilizando ventanas de tiempo. Utilice este parámetro para especificar si la eliminación de tendencia en estas variables será lineal y si la variable dependiente se representará por su valor bruto o por el residual de un modelo de regresión lineal. Este modelo de regresión lineal utiliza todos los pasos de tiempo de una ventana de tiempo como variables explicativas y utiliza el siguiente paso de tiempo como variable dependiente. El residual se calcula restando el valor predicho basado en la regresión lineal del valor bruto de la variable dependiente. Más información sobre el parámetro Planteamiento de predicción
| String |
outlier_option (Opcional) | Especifica si se identificarán valores atípicos de series temporales estadísticamente significativos.
| String |
level_of_confidence (Opcional) | Especifica el nivel de confianza para la prueba de los valores atípicos de series temporales.
| String |
maximum_number_of_outliers | El número máximo de periodos de tiempo que se pueden declarar como valores atípicos para cada ubicación. El valor predeterminado corresponde a un cinco por ciento (redondeado a la baja) del número de periodos de tiempo del cubo de espacio-tiempo de entrada (siempre se utilizará un valor de al menos 1). Este valor no puede superar el 20 por ciento del número de periodos de tiempo. | Long |
Muestra de código
En el siguiente script de Python se muestra cómo utilizar la herramienta 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")
En el siguiente script de Python se muestra cómo utilizar la herramienta ForestBasedForecast para predecir el recuento de delitos de robo de vehículos.
# Forecast change in 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",
"IDENTIFY", "90%", 4)
# Create a feature class visualizing the forecasts.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Cars_NONE_ZEROS",
"VALUE", "Analysis.gdb/ForecastsFC")
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí
Temas relacionados
- Descripción general de la caja de herramientas Minería de patrones en espacio-tiempo
- Una vista general del conjunto de herramientas de previsión de serie temporal
- Previsión de ajuste de curva
- Previsión de suavizado exponencial
- Evaluar predicciones por ubicación
- Comprender los valores atípicos en el análisis de serie temporal
- Cómo fuciona predicción basada en bosque
- Clasificación y regresión basadas en bosque
- Cómo funciona Clasificación y regresión basadas en bosque
- Buscar una herramienta de geoprocesamiento