Correlación cruzada de series temporales (Minería de patrones en espacio-tiempo)

Resumen

Calcula la correlación cruzada en varios intervalos de tiempo entre dos series temporales almacenadas en un cubo de espacio-tiempo.

La correlación cruzada se calcula emparejando los valores correspondientes de cada serie temporal y calculando un coeficiente de correlación de Pearson. A continuación, la segunda serie temporal se desplaza un intervalo de tiempo y se calcula una nueva correlación. Este desplazamiento se repite hasta un número máximo especificado de intervalos de tiempo. El intervalo de tiempo (desplazamiento) con la correlación más sólida es una estimación del retraso entre los cambios en una serie temporal y las respuestas en la otra (por ejemplo, el retraso entre el gasto en publicidad y los ingresos por ventas). Puede filtrar y eliminar tendencias de las series temporales para comprobar si existe una dependencia estadísticamente significativa entre las variables. Asimismo, puede incluir vecinos espaciales en los cálculos para incorporar relaciones espaciales entre las dos series temporales.

Más información sobre el funcionamiento de la correlación cruzada de series temporales

Ilustración

Ilustración de la herramienta de correlación cruzada de series temporales
Las correlaciones cruzadas se calculan entre dos series temporales en todas las ubicaciones de un cubo de espacio-tiempo a lo largo de varios intervalos temporales.

Uso

  • El signo (positivo o negativo) de un valor de intervalo temporal se interpreta como el desplazamiento de la variable de análisis secundaria con respecto a la variable de análisis principal. Por ejemplo, un valor de intervalo de tiempo de 5 significa que la variable secundaria se desplaza cinco periodos de tiempo hacia delante (a la derecha en el eje temporal) antes de calcular la correlación cruzada. Si el intervalo de tiempo con la correlación más sólida es positivo, significa que los cambios en el valor de la variable de análisis secundaria se producen antes que los cambios en la variable de análisis principal. Del mismo modo, un valor de intervalo de tiempo de -3 significa que la serie temporal secundaria se desplaza tres periodos de tiempo hacia atrás (hacia la izquierda en el eje temporal). Si el intervalo de tiempo con la correlación más sólida es negativo, significa que los cambios en la variable de análisis principal se producen antes que los cambios en la variable de análisis secundaria.

    Más información sobre los intervalos de tiempo

  • La salida principal de la herramienta es una clase de entidad que contiene los resultados de la correlación cruzada de cada ubicación para todos los intervalos de tiempo. En un mapa, se agregará una capa de grupo que contenga seis capas de diferentes campos de las entidades de salida: tres capas de las correlaciones más sólidas (la más positiva, la más negativa y la más sólida en valor absoluto) y tres capas de los intervalos de tiempo asociados para cada una de las correlaciones más sólidas. Puede utilizar estas capas para identificar rápidamente las ubicaciones con las correlaciones más sólidas y los intervalos de tiempo que produjeron las correlaciones.

    Si lo desea, puede crear gráficos emergentes en las entidades de salida que resuman y muestren las correlaciones a través de todos los intervalos en cada ubicación. También puede crear tablas de salida que contengan todas las correlaciones individuales entre ubicaciones en cada intervalo de tiempo.

    Más información sobre las salidas de las herramientas

  • Utilice el parámetro Vecinos espaciales a incluir en los cálculos para calcular las correlaciones cruzadas utilizando las vecindades alrededor de cada ubicación. Esto es útil cuando las series temporales de lugares cercanos tienden a ser más similares que las series temporales de lugares más alejados. Si se utilizan vecinos, la correlación cruzada de una ubicación es una media ponderada de las correlaciones entre la variable principal de la ubicación focal y la variable secundaria de cada uno de sus vecinos (incluida ella misma). Por ejemplo, si una ubicación tiene cinco vecinos, la correlación cruzada de la ubicación es una media ponderada de seis correlaciones: la correlación entre la variable principal de la ubicación focal y la variable secundaria de la ubicación focal, la correlación entre la variable principal de la ubicación focal y la variable secundaria del primer vecino, la correlación entre la variable principal de la ubicación y la variable secundaria del segundo vecino, y así sucesivamente. El parámetro Método de ponderación de vecinos espaciales especifica las ponderaciones que se utilizarán en la media ponderada.

  • Para comprobar la significación estadística de las correlaciones cruzadas en cada intervalo, es preciso seleccionar el parámetro Filtrar y eliminar tendencias. Si se selecciona esta opción, se calcularán los valores p y los intervalos de confianza del 95% para todos los intervalos de todas las ubicaciones. Además, las pruebas de significación solo pueden realizarse en correlaciones por pares entre dos series temporales (en lugar de una media ponderada de correlaciones múltiples), de modo que, si incluye vecinos espaciales en los cálculos, solo la tabla de correlaciones por pares de salida contendrá valores p e intervalos de confianza. Si no se incluyen los vecinos, las entidades de salida y la tabla de correlaciones de intervalos de salida contendrán campos de valor p e intervalo de confianza.

    Precaución:

    Las pruebas de significación estadística se realizan de forma independiente para cada intervalo de tiempo de cada ubicación, y no hay corrección para pruebas de hipótesis múltiples. Sea prudente a la hora de interpretar la importancia de cualquier valor p o intervalo de confianza.

    Más información sobre cómo eliminar tendencias y filtrar la autocorrelación

  • Se puede introducir la misma variable de análisis para las variables de análisis principal y secundaria (lo que se denomina análisis de autocorrelación). Sin embargo, es posible que los resultados sean difíciles de interpretar, ya que una serie temporal siempre está perfectamente correlacionada consigo misma cuando el valor del intervalo de tiempo es cero (no desplazado). Las entidades de salida y las tablas de correlación contendrán los resultados de correlación de todos los intervalos de tiempo, y los resultados del intervalo de tiempo cero pueden filtrarse o deseleccionarse.

Parámetros

EtiquetaExplicaciónTipo 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 principal

Variable numérica del cubo de espacio-tiempo que contiene los valores de serie temporal de la variable principal.

String
Variable de análisis secundaria

Variable numérica del cubo de espacio-tiempo que contiene los valores de serie temporal de la variable secundaria. Cuando se utilizan intervalos de tiempo, la variable de análisis secundaria se desplaza con respecto a la variable de análisis principal.

String
Entidades de salida

Entidades de salida que contienen las correlaciones cruzadas de todas las ubicaciones para todos los intervalos de tiempo. La salida también tendrá campos de las correlaciones más sólidas (positivas, negativas y absolutas) y campos de las correlaciones de todos los intervalos de tiempo. Si filtra y elimina tendencias, y no utiliza vecinos, la salida contendrá campos de valores p e intervalos de confianza del 95 por ciento de todas las correlaciones cruzadas.

Feature Class
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 los resultados de la correlación cruzada. Las series temporales emergentes no son compatibles con las salidas de los shapefiles.

  • Activado: se crearán gráficos de series temporales para las entidades de salida.
  • Desactivado: no se crearán gráficos de series temporales. Esta es la opción predeterminada.
Boolean
Intervalo de tiempo máximo
(Opcional)

Número máximo de intervalos de tiempo que se utilizarán para desplazar la variable de análisis secundaria. Las correlaciones cruzadas se calcularán para cada valor de intervalo de tiempo hasta el máximo. Proporcione un valor positivo incluso para intervalos de tiempo negativos; por ejemplo, si se proporciona 10 para este parámetro y la dirección del intervalo de tiempo desplaza la variable secundaria en ambas direcciones, se calcularán correlaciones cruzadas para todos los intervalos de tiempo comprendidos entre -10 y 10. Si no se proporciona ningún valor, se determinará un valor basado en la longitud de la serie temporal. Proporcione un valor de 0 para calcular únicamente la correlación bruta entre las series temporales sin ningún intervalo de tiempo.

Long
Dirección del intervalo de tiempo de la variable secundaria
(Opcional)

Especifica la dirección del intervalo de tiempo. La variable secundaria puede desplazarse hacia delante en el tiempo (en relación con la variable principal), hacia atrás en el tiempo o en ambas direcciones.

  • Desplazar la variable secundaria en ambas direccionesLa variable de análisis secundaria se desplazará en ambas direcciones. Por ejemplo, si el intervalo de tiempo máximo es 5, se calcularán las correlaciones de todos los intervalos de tiempo comprendidos entre -5 y 5. Esta es la opción predeterminada.
  • Desplazar la variable secundaria hacia delante en el tiempoLa variable de análisis secundaria se desplazará hacia delante en el tiempo (a la derecha en el eje temporal). Por ejemplo, si el intervalo de tiempo máximo es 5, se calcularán las correlaciones de todos los intervalos de tiempo comprendidos entre 0 y 5. Esta opción es adecuada cuando los cambios en la variable de análisis secundaria se producen antes que los cambios en la variable de análisis principal.
  • Desplazar la variable secundaria hacia atrás en el tiempoLa variable de análisis secundaria se desplazará hacia atrás en el tiempo (hacia la izquierda en el eje temporal). Por ejemplo, si el intervalo de tiempo máximo es 5, se calcularán las correlaciones de todos los intervalos de tiempo comprendidos entre -5 y 0. Esta opción es adecuada cuando los cambios en la variable de análisis principal se producen antes que los cambios en la variable de análisis secundaria.
String
Vecinos espaciales a incluir en los cálculos
(Opcional)

Especifica los vecinos alrededor de cada ubicación que se utilizarán en los cálculos. Si se utilizan vecinos, la correlación cruzada de una ubicación es la media ponderada de las correlaciones entre la variable principal de la ubicación focal y la variable secundaria de cada uno de sus vecinos (incluida ella misma).

  • Sin vecinosNo se incluirán vecinos espaciales en los cálculos.
  • Banda de distanciaLas ubicaciones situadas a una distancia determinada de cada ubicación se incluirán como vecinos en los cálculos.
  • K vecinos más próximosEn los cálculos se incluirá como vecinos un número determinado de ubicaciones más cercanas.
  • Solo bordes de contigüidadLos polígonos que comparten una arista se incluirán como vecinos (contigüidad de la rook).
  • Bordes o esquinas de contigüidadLos polígonos que comparten una arista o una esquina se incluirán como vecinas (contigüidad de la rook).
String
Número de vecinos espaciales
(Opcional)

Número de ubicaciones más cercanas que se incluirán como vecinas en los cálculos.

Long
Banda de distancia
(Opcional)

Todas las ubicaciones dentro de esta distancia se incluirán como vecinas. Si no se proporciona ningún valor, se estimará uno durante el procesamiento y se incluirá como un mensaje de geoprocesamiento. Si la distancia especificada da como resultado más de 1000 vecinos, solo las 1000 ubicaciones más cercanas se incluirán como vecinas. En el caso de los polígonos, para determinar los vecinos se utiliza la distancia entre los centroides.

Linear Unit
Método de ponderación de vecinos espaciales
(Opcional)

Especifica el esquema de ponderación que se aplicará a los vecinos espaciales al calcular las correlaciones. Las ponderaciones se utilizan al calcular la media ponderada de la correlación entre la entidad focal y cada vecino.

  • Pesos igualesCada vecino recibirá el mismo peso (no ponderado). Esta es la opción predeterminada.
  • Kernel BicuadradoLos vecinos se ponderarán utilizando un kernel bicuadrado.
  • Kernel GausianoLos vecinos se ponderarán utilizando un kernel gaussiano.
String
Filtrar y eliminar tendencia
(Opcional)

Especifica si las tendencias, la estacionalidad y la autocorrelación se eliminarán de la variable de análisis principal y se utilizarán para filtrar la variable de análisis secundaria.

  • Activada: se eliminarán las tendencias, la estacionalidad y la autocorrelación.
  • Desactivada: los valores de las series temporales no se alterarán. Esta es la opción predeterminada.
Boolean
Tabla de correlaciones de intervalos de salida
(Opcional)

Tabla que contiene las correlaciones de cada intervalo de tiempo de cada ubicación.

Table
Tabla de correlaciones por pares de salida
(Opcional)

Tabla que contiene las correlaciones por pares entre cada ubicación y cada vecino en todos los intervalos de tiempo.

Table

Salida derivada

EtiquetaExplicaciónTipo de datos
Grupo de capas de salida

Una capa de grupo de las capas de salida.

Group Layer

arcpy.stpm.TimeSeriesCrossCorrelation(in_cube, analysis_variable_1, analysis_variable_2, output_features, {enable_pop_ups}, {max_lag}, {lag_direction}, {neighborhood_type}, {num_nbrs}, {distance_band}, {spatial_weights}, {filter_option}, {out_corr_table}, {out_pair_table})
NombreExplicaciónTipo 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_1

Variable numérica del cubo de espacio-tiempo que contiene los valores de serie temporal de la variable principal.

String
analysis_variable_2

Variable numérica del cubo de espacio-tiempo que contiene los valores de serie temporal de la variable secundaria. Cuando se utilizan intervalos de tiempo, la variable de análisis secundaria se desplaza con respecto a la variable de análisis principal.

String
output_features

Entidades de salida que contienen las correlaciones cruzadas de todas las ubicaciones para todos los intervalos de tiempo. La salida también tendrá campos de las correlaciones más sólidas (positivas, negativas y absolutas) y campos de las correlaciones de todos los intervalos de tiempo. Si filtra y elimina tendencias, y no utiliza vecinos, la salida contendrá campos de valores p e intervalos de confianza del 95 por ciento de todas las correlaciones cruzadas.

Feature Class
enable_pop_ups
(Opcional)

Especifica si se crearán gráficos de series temporales en los elementos emergentes de cada entidad de salida que muestren los resultados de la correlación cruzada. Las series temporales emergentes no son compatibles con las salidas de los shapefiles.

  • CREATE_POPUPSe crearán gráficos de series temporales para las entidades de salida.
  • NO_POPUPNo se crearán gráficos de series temporales. Esta es la opción predeterminada.
Boolean
max_lag
(Opcional)

Número máximo de intervalos de tiempo que se utilizarán para desplazar la variable de análisis secundaria. Las correlaciones cruzadas se calcularán para cada valor de intervalo de tiempo hasta el máximo. Proporcione un valor positivo incluso para intervalos de tiempo negativos; por ejemplo, si se proporciona 10 para este parámetro y la dirección del intervalo de tiempo desplaza la variable secundaria en ambas direcciones, se calcularán correlaciones cruzadas para todos los intervalos de tiempo comprendidos entre -10 y 10. Si no se proporciona ningún valor, se determinará un valor basado en la longitud de la serie temporal. Proporcione un valor de 0 para calcular únicamente la correlación bruta entre las series temporales sin ningún intervalo de tiempo.

Long
lag_direction
(Opcional)

Especifica la dirección del intervalo de tiempo. La variable secundaria puede desplazarse hacia delante en el tiempo (en relación con la variable principal), hacia atrás en el tiempo o en ambas direcciones.

  • BOTHLa variable de análisis secundaria se desplazará en ambas direcciones. Por ejemplo, si el intervalo de tiempo máximo es 5, se calcularán las correlaciones de todos los intervalos de tiempo comprendidos entre -5 y 5. Esta es la opción predeterminada.
  • FORWARDLa variable de análisis secundaria se desplazará hacia delante en el tiempo (a la derecha en el eje temporal). Por ejemplo, si el intervalo de tiempo máximo es 5, se calcularán las correlaciones de todos los intervalos de tiempo comprendidos entre 0 y 5. Esta opción es adecuada cuando los cambios en la variable de análisis secundaria se producen antes que los cambios en la variable de análisis principal.
  • BACKWARDLa variable de análisis secundaria se desplazará hacia atrás en el tiempo (hacia la izquierda en el eje temporal). Por ejemplo, si el intervalo de tiempo máximo es 5, se calcularán las correlaciones de todos los intervalos de tiempo comprendidos entre -5 y 0. Esta opción es adecuada cuando los cambios en la variable de análisis principal se producen antes que los cambios en la variable de análisis secundaria.
String
neighborhood_type
(Opcional)

Especifica los vecinos alrededor de cada ubicación que se utilizarán en los cálculos. Si se utilizan vecinos, la correlación cruzada de una ubicación es la media ponderada de las correlaciones entre la variable principal de la ubicación focal y la variable secundaria de cada uno de sus vecinos (incluida ella misma).

  • NO_NBRSNo se incluirán vecinos espaciales en los cálculos.
  • FIXED_DISTANCELas ubicaciones situadas a una distancia determinada de cada ubicación se incluirán como vecinos en los cálculos.
  • K_NEAREST_NEIGHBORSEn los cálculos se incluirá como vecinos un número determinado de ubicaciones más cercanas.
  • CONTIGUITY_EDGES_ONLYLos polígonos que comparten una arista se incluirán como vecinos (contigüidad de la rook).
  • CONTIGUITY_EDGES_CORNERSLos polígonos que comparten una arista o una esquina se incluirán como vecinas (contigüidad de la rook).
String
num_nbrs
(Opcional)

Número de ubicaciones más cercanas que se incluirán como vecinas en los cálculos.

Long
distance_band
(Opcional)

Todas las ubicaciones dentro de esta distancia se incluirán como vecinas. Si no se proporciona ningún valor, se estimará uno durante el procesamiento y se incluirá como un mensaje de geoprocesamiento. Si la distancia especificada da como resultado más de 1000 vecinos, solo las 1000 ubicaciones más cercanas se incluirán como vecinas. En el caso de los polígonos, para determinar los vecinos se utiliza la distancia entre los centroides.

Linear Unit
spatial_weights
(Opcional)

Especifica el esquema de ponderación que se aplicará a los vecinos espaciales al calcular las correlaciones. Las ponderaciones se utilizan al calcular la media ponderada de la correlación entre la entidad focal y cada vecino.

  • EQUALCada vecino recibirá el mismo peso (no ponderado). Esta es la opción predeterminada.
  • BISQUARELos vecinos se ponderarán utilizando un kernel bicuadrado.
  • GAUSSIANLos vecinos se ponderarán utilizando un kernel gaussiano.
String
filter_option
(Opcional)

Especifica si las tendencias, la estacionalidad y la autocorrelación se eliminarán de la variable de análisis principal y se utilizarán para filtrar la variable de análisis secundaria.

  • FILTERSe eliminarán las tendencias, la estacionalidad y la autocorrelación.
  • NO_FILTERLos valores de las series temporales no se alterarán. Esta es la opción predeterminada.
Boolean
out_corr_table
(Opcional)

Tabla que contiene las correlaciones de cada intervalo de tiempo de cada ubicación.

Table
out_pair_table
(Opcional)

Tabla que contiene las correlaciones por pares entre cada ubicación y cada vecino en todos los intervalos de tiempo.

Table

Salida derivada

NombreExplicaciónTipo de datos
output_layer_group

Una capa de grupo de las capas de salida.

Group Layer

Muestra de código

Ejemplo de TimeSeriesCrossCorrelation 1 (ventana de Python)

En el siguiente script de Python se muestra cómo utilizar la función TimeSeriesCrossCorrelation.

import arcpy
arcpy.stpm.TimeSeriesCrossCorrelation(
    in_cube=r"c:\data\Sales.nc",
    analysis_variable_1="MARKETING",
    analysis_variable_2="REVENUE",
    output_features=r"CrossCorrResults",
    enable_pop_ups="NO_POPUP",
    max_lag=10,
    lag_direction="BOTH",
    neighborhood_type="K_NEAREST_NEIGHBORS",
    num_nbrs=8,
    distance_band=None,
    spatial_weights="EQUAL",
    filter_option="FILTER",
    out_corr_table=r"LagCorrTable",
    out_pair_table=r"PairCorrTable"
)
Ejemplo de TimeSeriesCrossCorrelation 2 (secuencia de comandos independiente)

En el siguiente script de Python se muestra cómo utilizar la función TimeSeriesCrossCorrelation.

# Estimate the time lag between infection and 
# hospitalization for seasonal influenza.

# Import required modules.
import arcpy

# Set the workspace.
arcpy.env.workspace = "c:/data/data.gdb"

# Run Time Series Cross Correlation
# Use neighbors and calculate p-values
try:
    arcpy.stats.CausalInferenceAnalysis(
        in_cube=r"c:\data\FluData.nc",
        analysis_variable_1="FLU_CASES",
        analysis_variable_2="HOSPITALIZATIONS",
        output_features=r"CrossCorrResults",
        enable_pop_ups="POPUP",
        max_lag=10,
        lag_direction="BOTH",
        neighborhood_type="K_NEAREST_NEIGHBORS",
        num_nbrs=8,
        distance_band=None,
        spatial_weights="BISQUARE",
        filter_option="FILTER",
        out_corr_table=r"LagCorrTable",
        out_pair_table=r"PairCorrTable"
    )
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print the error message.
    print(arcpy.GetMessages())

Información de licenciamiento

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

Temas relacionados