Etiqueta | Explicación | Tipo de datos |
Cubo de espacio-tiempo de entrada
| Cubo de netCDF que se analizará. 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 entidades definidas o Crear cubo de espacio-tiempo a partir de capa ráster multidimensional. | File |
Variable de análisis
| La variable numérica del archivo netCDF, que cambia a lo largo del tiempo, que se utilizará para distinguir un clúster de otro. | String |
Entidades de salida
| La nueva clase de entidad de salida contiene todas las ubicaciones en el cubo de espacio-tiempo y un campo que indica la pertenencia a un clúster. Esta clase de entidad será una representación bidimensional de los clústeres en sus datos. | Feature Class |
Característica de interés
| Especifica la característica de la serie temporal que se utilizará para determinar las ubicaciones que se deben agrupar juntas.
| String |
Número de clústeres
(Opcional) | El número de clústeres que se desea crear. Si se deja vacío, la herramienta evaluará el número óptimo de clústeres mediante un pseudo índice estadístico F. El número óptimo de clústeres se comunicará en la ventana de mensajes. | Long |
Tabla de salida para gráficos
(Opcional) | Si se especifica, esta tabla contiene las series temporales representativas de cada clúster en función tanto del promedio de cada serie temporal como del medoide de serie temporal. Puede acceder a los gráficos creados a partir de esta tabla en la sección Tablas independientes. | Table |
Características de serie temporal que ignorar
(Opcional) | Especifica las características que se ignorarán a la hora de determinar la similitud entre dos series temporales. Si se ignoran ambas características, dos series temporales se considerarán similares si la duración de los periodos es similar, incluso si comienzan en momentos distintos y los periodos no tienen los mismos valores.
| String |
Habilitar series temporales emergentes
(Opcional) | Especifica si se crearán gráficos de series temporales en los elementos emergentes de cada entidad de salida que muestren las series temporales de la entidad y la serie temporal media de todas las entidades del mismo clúster como la entidad.
| Boolean |
Resumen
Divide una colección de serie temporal, almacenada en un cubo de espacio-tiempo, en función de la similitud de las características de las series temporales. Las series temporales se puede agrupar según tres criterios: tener valores similares a lo largo del tiempo, tender a aumentar o disminuir al mismo tiempo y tener patrones repetidos similares. La salida de esta herramienta es un mapa 2D que muestra en el cubo cada ubicación simbolizada por pertenencia a un clúster y mensajes. La salida también incluye gráficos que contienen información sobre la firma de serie temporal representativa para cada clúster.
Más información sobre cómo funciona la herramienta Clustering de serie temporal
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.
Esta herramienta compara la serie temporal en cada ubicación con las del resto de ubicaciones en el Cubo de espacio-tiempo de entrada, y las series temporales se agrupan en función de su parecido. El parámetro Característica de interés se utiliza para definir lo que significa que dos series temporales sean similares, además, es posible definir la similitud según estas características:
- Valor: las series temporales son similares si tienen aproximadamente los mismos valores de la Variable de análisis a lo largo del tiempo. Por ejemplo, una serie temporal con valores (1, 0, 1, 0, 1) se parece más a una serie temporal con valores (1, 1, 1, 1, 1) de lo que se parece a otra con (10, 0, 10, 0, 10), puesto que los valores se parecen más.
- Perfil (Correlación): las series temporales se parecen si sus valores tienden a aumentar y disminuir al mismo tiempo y sus valores son aproximadamente proporcionales (es decir, se correlacionan a lo largo del tiempo). Por ejemplo, una serie temporal con valores (1, 0, 1, 0, 1) se parece más a una serie temporal con valores (10, 0, 10, 0, 10) de lo que se parece a otra con (1, 1, 1, 1, 1), puesto que los valores aumentan y disminuyen al mismo tiempo y mantienen una proporción constante.
- Perfil (Fourier): las series temporales se parecen si presentan patrones periódicos y uniformes en sus valores a lo largo del tiempo. En ocasiones, estos periodos se conocen como ciclos o estaciones y representan duraciones de un patrón que se repite en un nuevo periodo. Por ejemplo, es posible que los negocios observen patrones repetidos periódicos en las ventas totales de cada semana, con un intervalo que comienza el lunes y termina el domingo. Si lo desea, puede optar por ignorar determinadas características de estos patrones con el parámetro Características de serie temporal que ignorar. Los patrones repetidos se detectan mediante análisis de datos funcionales con una familia Fourier. Para que esta opción sea la más eficaz, la serie temporal del cubo de espacio-tiempo debe abarcar toda la duración de al menos un periodo. Por ejemplo, la temperatura presenta un periodo anual basado en el clima de las estaciones, no obstante, si todos los datos se recopilan en varios meses de un mismo año, es posible que esta opción no detecte el periodo anual.
Con la definición de similitud, las ubicaciones del cubo de espacio-tiempo se agrupan utilizando uno de los distintos algoritmos de clustering para producir los clústeres definitivos que devuelve la herramienta. Consulte Cómo funciona Clustering de serie temporal para obtener más información sobre estos algoritmos de clustering.
Las Entidades de salida se agregarán al panel Contenido con una representación en pantalla basada en el campo CLUSTER_ID y se indicará el clúster en el que quedó cada una de las ubicaciones. Si especifica tres clústeres, por ejemplo, cada registro tendrá un valor de 1, 2 o 3 para el campo CLUSTER_ID. El campo CENTER_REP identifica el medoide de la serie temporal de cada clúster y contiene un valor de 1 para la serie temporal del medoide de cada clúster y un 0 para el resto de entidades.
-
Esta herramienta crea mensajes y gráficos opcionales para ayudarle a comprender las características de los clústeres identificados. Puede acceder a los mensajes desplazándose sobre la barra de progreso, haciendo clic en el botón emergente o expandiendo la sección de mensajes en el panel Geoprocesamiento. También puede acceder a los mensajes de una ejecución anterior de la herramienta Clustering de serie temporal a través del Historial de geoprocesamiento. Si especifica una Tabla de salida para gráficos, se crearán gráficos para la tabla de salida que muestren las series temporales medias de cada clúster y el medoide de la serie temporal de cada clúster. Se puede acceder a estos gráficos en el panel Contenido, en la tabla creada en la sección Tablas independientes. Para obtener más información sobre los mensajes y gráficos de salida, consulte Cómo funciona Clustering de serie temporal.
-
A veces conoce el número de clústeres más adecuado para sus datos. En caso contrario, puede que tenga que probar diferentes números de clústeres, anotando qué valores proporcionan la mejor diferenciación de clústeres. Si deja vacío el parámetro Número de clústeres, la herramienta evaluará el número óptimo de clústeres mediante un pseudo índice estadístico F e informará del número óptimo de clústeres en forma de mensaje de geoprocesamiento. Cuanto mayor sea el pseudo índice estadístico F, más distinto será cada clúster del resto. El número óptimo de clústeres no superará los diez, y calcular el número óptimo de clústeres ocupa la mayoría del tiempo de ejecución de la herramienta. Se recomienda proporcionar un número de clústeres si conoce un valor adecuado o si el tiempo de ejecución de la herramienta es demasiado largo.
Para calcular el número óptimo de clústeres, la herramienta probará entre dos y diez clústeres. Para cada uno de estos nueve números posibles de clúster, la herramienta realizará diez clústeres con valores de inicialización iniciales aleatorios (salvo cuando se utiliza Perfil (Correlación) con más de 10.000 ubicaciones en el cubo de espacio-tiempo, en cuyo caso cada número de vecinos se repite 20 veces). Genera 90 (o 180) posibles resultados de clustering (10 o 20 para cada uno de los nueve números posibles de clústeres), el que tenga el mayor pseudo índice estadístico F se elegirá para el número final de clústeres utilizado en la herramienta. El mayor pseudo índice estadístico F de cada uno de los nueve números posibles de clústeres se imprime como una tabla en los mensajes de geoprocesamiento.
Nota:
Un pseudo índice estadístico F de infinito significa que todas las series temporales del mismo clúster son perfectamente similares entre sí.
-
El Id. de clúster asignado a una ubicación puede cambiar de una ejecución a la siguiente, ya que el algoritmo selecciona aleatoriamente los valores de inicialización iniciales para empezar a hacer crecer los clústeres. Por ejemplo, supongamos que divide las ubicaciones en dos clústeres basados en el crecimiento anual de la población. La primera vez que ejecuta el análisis puede ver las ubicaciones de crecimiento elevado etiquetadas como clúster 2 y las ubicaciones de crecimiento bajo etiquetadas como clúster 1; la segunda vez que ejecute el mismo análisis, las ubicaciones de crecimiento elevado pueden estar etiquetadas como clúster 1. También podría ver que algunas de las ubicaciones de crecimiento medio cambian la pertenencia a un clúster de una ejecución a otra. Se debe a un componente aleatorio del algoritmo de clustering. Si los resultados del clustering cambian considerablemente al volver a ejecutar la herramienta con los mismos parámetros, plantéese cambiar el valor del parámetro Número de clústeres.
Parámetros
arcpy.stpm.TimeSeriesClustering(in_cube, analysis_variable, output_features, characteristic_of_interest, {cluster_count}, {output_table_for_charts}, {shape_characteristic_to_ignore}, {enable_time_series_popups})
Nombre | Explicación | Tipo de datos |
in_cube | Cubo de netCDF que se analizará. 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 entidades definidas o Crear cubo de espacio-tiempo a partir de capa ráster multidimensional. | File |
analysis_variable | La variable numérica del archivo netCDF, que cambia a lo largo del tiempo, que se utilizará para distinguir un clúster de otro. | String |
output_features | La nueva clase de entidad de salida contiene todas las ubicaciones en el cubo de espacio-tiempo y un campo que indica la pertenencia a un clúster. Esta clase de entidad será una representación bidimensional de los clústeres en sus datos. | Feature Class |
characteristic_of_interest | Especifica la característica de la serie temporal que se utilizará para determinar las ubicaciones que se deben agrupar juntas.
| String |
cluster_count (Opcional) | El número de clústeres que se desea crear. Si se deja vacío, la herramienta evaluará el número óptimo de clústeres mediante un pseudo índice estadístico F. El número óptimo de clústeres se comunicará en la ventana de mensajes. | Long |
output_table_for_charts (Opcional) | Si se especifica, esta tabla contiene las series temporales representativas de cada clúster en función tanto del promedio de cada serie temporal como del medoide de serie temporal. Puede acceder a los gráficos creados a partir de esta tabla en la sección Tablas independientes. | Table |
shape_characteristic_to_ignore [shape_characteristic_to_ignore,...] (Opcional) | Especifica las características que se ignorarán a la hora de determinar la similitud entre dos series temporales.
Si se ignoran ambas características, dos series temporales se considerarán similares si la duración de los periodos es similar, incluso si comienzan en momentos distintos y los periodos no tienen los mismos valores. | String |
enable_time_series_popups (Opcional) | Especifica si se crearán gráficos de series temporales en los elementos emergentes de cada entidad de salida que muestren las series temporales de la entidad y la serie temporal media de todas las entidades del mismo clúster como la entidad. Las series temporales emergentes no son compatibles con las salidas de los shapefiles.
| Boolean |
Muestra de código
En el siguiente script de Python se muestra cómo utilizar la herramienta TimeSeriesClustering:
import arcpy
arcpy.env.workspace = r"C:\Analysis"
# Value
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc",
"Air_NONE_ZEROS", r"Analysis.gdb\Temp_Value_3Clusts",
"VALUE", 3, "Temp_Value_3Clusts_Chart", None, "CREATE_POPUP")
# Profile - correlation
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc", "Air_NONE_ZEROS",
r"Analysis.gdb\Temp_Profile_3Clusts", "PROFILE", 3,
r"Temp_Profile_3Clusts_Chart", None, "CREATE_POPUP")
# Profile - Fourier
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc",
"Air_NONE_ZEROS", r"Analysis.gdb\Temp_Fourier_3Clusts",
"PROFILE_FOURIER", 3, r"Temp_Fourier_3Clusts_Chart",
"TIME_LAG", "CREATE_POPUP")
En el siguiente script de Python se muestra cómo utilizar la herramienta TimeSeriesClustering para agrupar ubicaciones de almacén similares en clúster:
# Create clusters of store locations with similar sales volumes over time.
# 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
# Create 3 clusters of location with similar extent of fluctuation in temperature.
arcpy.stpm.TimeSeriesClustering(r"Temperature.nc", "Air_NONE_ZEROS",
r"Analysis.gdb\Temperature_TSC",
"PROFILE_FOURIER", 3, "Temp_Chart", None,
"CREATE_POPUP")
# Create a feature class containing all the bins in the input space time cube.
arcpy.stpm.VisualizeSpaceTimeCube3D(r"Temperature.nc", "Air_NONE_ZEROS", "VALUE",
r"Temp_Bins.shp")
# Make the bins as a feature layer.
arcpy.MakeFeatureLayer_management("Temp_Bins.shp", "Temp_Bins_Temp_Layer")
# Join the clustering results to the bins so each bin now has a cluster ID.
arcpy.management.AddJoin("Temp_Bins_Temp_Layer", "Location",
r"Analysis.gdb\Temperature_TSC", "Location", "KEEP_ALL")
# Summarize the bins using Summary Statistics with Cluster ID as a case field
# to get the minimum, maximum, and average temperature for each cluster.
arcpy.analysis.Statistics("Temp_Bins_Temp_Layer", "Temp_Bins_Statistics.shp",
"Temp_Bins.VALUE MEAN;Temp_Bins.VALUE MAX;Temp_Bins.VALUE MIN",
"Temperature_TSC.CLUSTER_ID")
Entornos
Casos especiales
- Generador de números aleatorios
El tipo de generador de números aleatorios que se utiliza siempre es Mersenne Twister.
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí