Previsión de ajuste de curva (Minería de patrones en espacio-tiempo)

Resumen

Predice los valores de cada ubicación de un cubo de espacio-tiempo utilizando un ajuste a la curva.

La herramienta ajusta una curva paramétrica a cada ubicación del parámetro Cubo de espacio-tiempo de entrada y predice la serie temporal extrapolando esta curva a periodos de tiempo futuros. Las curvas pueden ser lineales, parabólicas, en forma de S (Gompertz) o exponenciales. Puede usar el mismo tipo de curva en cada ubicación del cubo de espacio-tiempo o permitir que la herramienta establezca el tipo de curva que mejor se ajusta a cada ubicación.

Más información sobre el funcionamiento de la previsión de ajuste de curva

Ilustración

Tipos de curva
Se muestran cuatro tipos de curva.

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.

  • Si se compara con otras herramientas de previsión del conjunto de herramientas de previsión de serie temporal, esta es la más directa y la más adecuada para las series temporales que siguen una tendencia predecible y que no presentan una fuerte estacionalidad. Si los datos siguen una tendencia compleja o presentan ciclos estacionales importantes, utilice otras herramientas de previsión.

  • 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.

  • Para cada ubicación del parámetro Cubo de espacio-tiempo de entrada, la herramienta crea dos modelos que sirven para diferentes propósitos.

    • Modelo de predicción: este modelo se utiliza para predecir los valores del cubo de espacio-tiempo ajustando una curva a los valores de las series temporales y extrapolando esta curva para los periodos de tiempo futuros. 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 ajusta a 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 tipo de curva elegido puede predecir los 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

  • La opción Detección automática del parámetro Tipo de curva se ajustará a los cuatro tipos de curva en cada ubicación e identificará el que tenga el RMSE de validación más pequeño. Si no se excluyen periodos de tiempo para validación, se utiliza la curva con el RMSE de previsión más pequeño.

  • 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 la estadística de resumen de los valores de RMSE. Al hacer clic en una entidad mediante el uso de la herramienta de navegación Explorar, se muestra un gráfico de líneas en el panel Emergente en el que aparecen los valores del cubo de espacio-tiempo, la curva empleada en la previsión y los valores previstos para 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

  • 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.CurveFitForecast(in_cube, analysis_variable, output_features, {output_cube}, {number_of_time_steps_to_forecast}, {curve_type}, {number_for_validation}, {outlier_option}, {level_of_confidence}, maximum_number_of_outliers)
ParámetroExplicaciónTipo 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 presenta la previsión correspondiente al periodo de tiempo final y contiene gráficos emergentes en los que se muestran las series temporales y las previsiones correspondientes a 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
curve_type
(Opcional)

Especifica el tipo de curva que se utilizará para predecir los valores del cubo de espacio-tiempo de entrada.

  • LINEARLas series temporales aumentan o se reducen de forma lineal con el tiempo.
  • PARABOLICLa serie temporal describe una parábola o una curva cuadrática a lo largo del tiempo.
  • EXPONENTIALLas series temporales aumentan o se reducen exponencialmente con el tiempo.
  • GOMPERTZLas series temporales aumentan o se reducen en forma de S con el tiempo.
  • AUTO_DETECTSe ejecutan los cuatro tipos de curvas para cada ubicación y se proporciona el modelo con el RMSE de validación más pequeño. Si no se excluyen porciones de tiempo para validación, se utiliza el modelo con el RMSE de previsión más pequeño. Esta es la opción predeterminada.
String
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
outlier_option
(Opcional)

Especifica si se identificarán valores atípicos de series temporales estadísticamente significativos.

  • NONENo se identificarán valores atípicos. Esta es la opción predeterminada.
  • IDENTIFYSe identificarán valores atípicos utilizando la prueba de ESD generalizada.
String
level_of_confidence
(Opcional)

Especifica el nivel de confianza para la prueba de los valores atípicos de series temporales.

  • 90%El nivel de confianza para la prueba es de un 90 por ciento. Esta es la opción predeterminada.
  • 95%El nivel de confianza para la prueba es de un 95 por ciento.
  • 99%El nivel de confianza para la prueba es de un 99 por ciento.
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

Ejemplo 1 de CurveFitForecast (ventana de Python)

En el siguiente script de Python se muestra cómo utilizar la herramienta CurveFitForecast.

import arcpy
arcpy.env.workspace = "C:/Analysis"
# Forecast four time steps using a linear curve.
arcpy.stpm.CurveFitForecast("Population.nc", "Pop_NONE_ZEROS", 
                            "Analysis.gdb/Forecasts", 
                            "outForecastCube.nc", 4, 
                            "LINEAR", 5)
Ejemplo 2 de CurveFitForecast (script independiente)

En el siguiente script de Python se muestra cómo utilizar la herramienta CurveFitForecast para hacer una previsión de población:

# Forecast population levels using curve fitting.
# Import system modules.
import arcpy
# Set property to overwrite existing output.
arcpy.env.overwriteOutput = True
# Set workspace.
workspace = r"C:\Analysis"
arcpy.env.workspace = workspace
# Forecast three time steps using auto-detect.
arcpy.stpm.CurveFitForecast("Population.nc", "Pop_NONE_ZEROS", 
                            "Analysis.gdb/Forecasts", "outForecastCube.nc"
                            3, "AUTO_DETECT", 5, "IDENTIFY", "90%", 4)
# Create a feature class visualizing the forecasts.
# Output can only be viewed in a Scene view.
arcpy.stpm.VisualizeSpaceTimeCube3D("outForecastCube.nc", "Pop_NONE_ZEROS", 
                                    "VALUE", "Analysis.gdb/ForecastsFC")

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados