Etiqueta | Explicación | Tipo de datos |
Cubo de espacio-tiempo de entrada | El cubo de espacio-tiempo que contiene la variable que se analizará. Los cubos de espacio-tiempo tienen una extensión de archivo .nc y se crean utilizando varias herramientas de la caja de herramientas Minería de patrones en espacio-tiempo. | File |
Variable de análisis | La variable numérica del cubo de espacio-tiempo que contiene los valores de serie temporal de cada ubicación. | String |
Entidades de salida | La clase de entidad de salida que contendrá los resultados de la detección de puntos de cambio. La capa muestra el número de puntos de cambio detectados en cada ubicación y contiene gráficos de línea emergentes que muestran los valores de serie temporal originales, los puntos de cambio y las estimaciones del valor medio o la desviación estándar de cada segmento. | Feature Class |
Cambiar tipo (Opcional) | Especifica el tipo de cambio que se va a detectar. Cada opción especifica una propiedad estadística de la serie temporal que se presupone que es constante en cada segmento. El valor cambia a un nuevo valor constante en cada punto de cambio de la serie temporal.
| String |
Método (Opcional) | Especifica si el número de puntos de cambio se detectará automáticamente o se especificará mediante un número definido de puntos de cambio utilizados para todas las ubicaciones.
| String |
Número de puntos de cambio (Opcional) | El número de puntos de cambio que se detectarán en cada ubicación. El valor predeterminado es 1. | Long |
Sensibilidad de detección (Opcional) | Un número entre 0 y 1 que define la sensibilidad de la detección. Los valores más grandes darán como resultado más puntos de cambio detectados en cada ubicación. El valor predeterminado es 0,5. | Double |
Longitud de segmento mínima (Opcional) | Número mínimo de periodos de tiempo en cada segmento. Los puntos de cambio dividirán cada serie temporal en segmentos en los que cada segmento tiene al menos este número de periodos de tiempo. El valor predeterminado de cambio de la media, la desviación estándar y el recuento es 1, lo que significa que cada periodo de tiempo puede ser un punto de cambio. El valor predeterminado de cambio de pendiente (tendencia lineal) es 2 porque se requieren al menos dos valores para ajustar una recta. El valor debe ser menos de la mitad del número de periodos de tiempo de la serie temporal. | Long |
Resumen
Detecta periodos de tiempo cuando una propiedad estadística de la serie temporal cambia para cada ubicación de un cubo de espacio-tiempo.
La herramienta puede detectar cambios en el valor medio, la desviación estándar o la tendencia lineal de variables continuas, así como cambios en el valor medio de las variables de recuento. La herramienta puede determinar el número de puntos de cambio de cada ubicación o se puede proporcionar un número definido de puntos de cambio que se utilizarán en todas las ubicaciones. Los puntos de cambio dividen cada serie temporal en segmentos en los que los valores de cada segmento tienen un valor medio, una desviación estándar o una tendencia lineal similares. Los puntos de cambio se definen como el primer periodo de tiempo de cada nuevo segmento, de modo que el número de puntos de cambio siempre es uno menos que el número de segmentos.
Más información sobre cómo funciona Detección de puntos de cambio
Ilustración
Uso
Cuando el parámetro Método se define como Detectar automáticamente el número de puntos de cambio, el parámetro Sensibilidad de detección se utiliza para controlar la sensibilidad de la detección. Los valores de sensibilidad más altos dan como resultado más puntos de cambio en cada ubicación. La elección de sensibilidad es fundamental para los resultados del análisis y se recomienda que pruebe varios valores y compare los resultados.
Para las variables de análisis que representan recuentos, la opción Recuento del parámetro Tipo de cambio suele ser más adecuada para detectar cambios en el valor medio de los recuentos. Sin embargo, la opción Desplazamiento medio puede proporcionar resultados equivalentes o mejores para los datos de recuento. Esto se debe a que el modelo del tipo de cambio de recuento presupone que los valores de cada segmento siguen una distribución Poisson en la que la varianza del segmento es igual al valor medio del segmento. En su lugar, el tipo de cambio de desplazamiento medio presupone que los valores de cada segmento están distribuidos normalmente, de modo que el valor medio puede ser mayor o menor que la varianza de los valores.
En una distribución Poisson, la mayoría de los recuentos están dentro de aproximadamente dos raíces cuadradas del valor medio. Por ejemplo, para una distribución Poisson con un valor medio igual a 100, aproximadamente el 95 por ciento de los recuentos estará entre 80 y 120 (2 × sqrt(100) = 20). Para una distribución Poisson con un valor medio igual a 1 millón, la mayoría de recuentos estará entre 998.000 y 1.002.000 (la raíz cuadrada de 1 millón es 1.000). El rango de recuentos es en comparación más acotado para el valor medio más grande de 1 millón, donde la mayoría de los recuentos están dentro del 0,2 por ciento del valor medio. Sin embargo, en el valor medio más pequeño de 100, los recuentos varían hasta el 20 por ciento del valor medio. Comparados con su valor medio, si los valores de los recuentos varían más de lo esperado respecto de una distribución Poisson, es posible que se detecten muchos periodos de tiempo como puntos de cambio. Esto es más común con recuentos grandes. En este caso, se recomienda que detecte el desplazamiento medio.
Esta herramienta acepta archivos netCDF creados por varias herramientas en la caja de herramientas Minería de patrones en espacio-tiempo.
Más información sobre la creación de un cubo de espacio-tiempo
El valor del parámetro Entidades de salida se agregará al panel Contenido con una representación en pantalla en función del número de puntos de cambio detectados en cada ubicación, junto con los campos de las fechas del primer y el último punto de cambio. Los elementos emergentes de las entidades incluyen un gráfico de líneas que muestra los valores de las series temporales, los puntos de cambio y las estimaciones del valor medio o la desviación estándar de los segmentos entre cada punto de cambio.
La hora de capa del valor del parámetro Entidades de salida se basa en la fecha del primer punto de cambio. Puede utilizar el control deslizante de tiempo para filtrar las ubicaciones en función de la fecha del primer punto de cambio. La hora de la capa se puede cambiar a la fecha del último punto de cambio en las propiedades de capa.
El cubo de espacio-tiempo de entrada se actualiza con los resultados del análisis y se puede utilizar en la herramienta Visualizar cubo de espacio-tiempo en 3D con la opción Cambiar puntos de serie temporal del parámetro Tema de visualización para mostrar los resultados en 3D. La salida contendrá una entidad por periodo de tiempo del cubo de espacio-tiempo con campos que indican si el periodo de tiempo es un punto de cambio, junto con estimaciones del valor medio o la desviación estándar del segmento. Usar el cubo de espacio-tiempo en la herramienta Visualizar cubo de espacio-tiempo en 2D volverá a crear la clase de entidad de salida de la detección de puntos de cambio.
Esta herramienta admite el procesamiento en paralelo para analizar ubicaciones separadas en distintos núcleos de procesamiento y utiliza el 50 por ciento de los procesadores disponibles de forma predeterminada. El número de procesadores puede aumentar o disminuir usando el entorno Factor de procesamiento en paralelo.
Parámetros
arcpy.stpm.ChangePointDetection(in_cube, analysis_variable, output_features, {change_type}, {method}, {num_change_points}, {sensitivity}, {min_seg_len})
Nombre | Explicación | Tipo de datos |
in_cube | El cubo de espacio-tiempo que contiene la variable que se analizará. Los cubos de espacio-tiempo tienen una extensión de archivo .nc y se crean utilizando varias herramientas de la caja de herramientas Minería de patrones en espacio-tiempo. | File |
analysis_variable | La variable numérica del cubo de espacio-tiempo que contiene los valores de serie temporal de cada ubicación. | String |
output_features | La clase de entidad de salida que contendrá los resultados de la detección de puntos de cambio. La capa muestra el número de puntos de cambio detectados en cada ubicación y contiene gráficos de línea emergentes que muestran los valores de serie temporal originales, los puntos de cambio y las estimaciones del valor medio o la desviación estándar de cada segmento. | Feature Class |
change_type (Opcional) | Especifica el tipo de cambio que se va a detectar. Cada opción especifica una propiedad estadística de la serie temporal que se presupone que es constante en cada segmento. El valor cambia a un nuevo valor constante en cada punto de cambio de la serie temporal.
| String |
method (Opcional) | Especifica si el número de puntos de cambio se detectará automáticamente o se especificará mediante un número definido de puntos de cambio utilizados para todas las ubicaciones.
| String |
num_change_points (Opcional) | El número de puntos de cambio que se detectarán en cada ubicación. El valor predeterminado es 1. | Long |
sensitivity (Opcional) | Un número entre 0 y 1 que define la sensibilidad de la detección. Los valores más grandes darán como resultado más puntos de cambio detectados en cada ubicación. El valor predeterminado es 0,5. | Double |
min_seg_len (Opcional) | Número mínimo de periodos de tiempo en cada segmento. Los puntos de cambio dividirán cada serie temporal en segmentos en los que cada segmento tiene al menos este número de periodos de tiempo. El valor predeterminado de cambio de la media, la desviación estándar y el recuento es 1, lo que significa que cada periodo de tiempo puede ser un punto de cambio. El valor predeterminado de cambio de pendiente (tendencia lineal) es 2 porque se requieren al menos dos valores para ajustar una recta. El valor debe ser menos de la mitad del número de periodos de tiempo de la serie temporal. | Long |
Muestra de código
En el siguiente script de Python se muestra cómo utilizar la función ChangePointDetection.
import arcpy
arcpy.env.workspace = "C:/Analysis"
# Automatically detect changes in population counts
arcpy.stpm.ChangePointDetection("Population.nc", "Pop_NONE_ZEROS",
"Analysis.gdb/Population_Change_Points",
"COUNT", "AUTO_DETECT", "", 0.5, 1)
En el siguiente script de Python se muestra cómo utilizar la función ChangePointDetection.
# Detect changes in air temperature.
# 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
# Detect the largest mean shift of temperature measurements.
arcpy.stpm.ChangePointDetection("Air_Temp.nc", "MAX_DEGREES_F",
"Analysis.gdb/Temperature_Change_Points",
"MEAN", "DEFINED_NUMBER", 1, "", 3)
# Create a feature class visualizing the change point results in a 3D scene view.
arcpy.stpm.VisualizeSpaceTimeCube3D("Air_Temp.nc", "Pop_NONE_ZEROS",
"VALUE", "Analysis.gdb/ForecastsFC")