Corrélation croisée de séries chronologiques (Exploration des modèles spatio-temporels)

Synthèse

Calcule la corrélation croisée à différents décalages temporels entre deux séries chronologiques stockées dans un cube spatio-temporel.

La corrélation croisée est calculée en appariant les valeurs correspondantes de chaque série chronologique et en calculant un coefficient de corrélation Pearson. La deuxième série chronologique est ensuite décalée d’un intervalle temporel, et une nouvelle corrélation est calculée. Ce décalage se reproduit jusqu’à atteindre le nombre maximal d’intervalles temporels spécifié. Le décalage temporel (déplacement) qui présente la plus forte corrélation est une estimation du délai entre les changements intervenus dans une série chronologique et les réponses dans l’autre (par exemple, le délai entre les dépenses publicitaires et le produit des ventes). Vous pouvez filtrer et supprimer des tendances dans la série chronologique pour rechercher une dépendance statistiquement significative entre les variables. Vous pouvez également inclure des voisins spatiaux dans les calculs pour incorporer des relations spatiales entre les deux séries chronologiques.

En savoir plus sur le fonctionnement de l’outil Corrélation croisée de séries chronologiques

Illustration

Illustration de l’outil Corrélation croisée de séries chronologiques
Les corrélations croisées sont calculées entre deux séries chronologiques à tous les emplacements d’un cube spatio-temporel à différents décalages temporels.

Utilisation

  • Le signe (positif ou négatif) d’une valeur de décalage temporel est interprété comme étant le déplacement de la variable d’analyse secondaire par rapport à la variable d’analyse principale. Par exemple, une valeur de décalage temporel de 5 signifie que la variable secondaire avance de cinq intervalles temporels (vers la droite sur l’axe chronologique) avant le calcul de la corrélation croisée. Si le décalage temporel qui présente la corrélation la plus forte est positif, cela signifie que les variations de la valeur de la variable d’analyse secondaire se produisent avant celles de la variable d’analyse principale. De la même manière, une valeur de décalage temporel de -3 signifie que la série chronologique secondaire recule de trois intervalles temporels (vers la gauche sur l’axe chronologique). Si le décalage temporel qui présente la corrélation la plus forte est négatif, cela signifie que les variations de la variable d’analyse principale se produisent avant celles de la variable d’analyse secondaire.

    En savoir plus sur les décalages temporels

  • La sortie principale de l’outil est une classe d’entités contenant les résultats de corrélation croisée de chaque emplacement pour tous les décalages temporels. Dans une carte, un groupe de couches est ajouté, constitué de six couches issues de différents champs des entités en sortie : trois couches des corrélations les plus fortes (positive, négative et en valeur absolue) et trois couches des décalages temporels associés pour chacune des corrélations les plus fortes. Vous pouvez vous servir de ces couches pour identifier rapidement les emplacements qui présentaient corrélations les plus fortes et les décalages temporels qui ont produit les corrélations.

    Vous pouvez éventuellement créer des diagrammes contextuels sur les entités en sortie qui résument et présentent les corrélations pour tous les décalages à chaque emplacement. Vous pouvez également créer des tables en sortie contenant toutes les corrélations individuelles entre les emplacements à chaque intervalle temporel.

    En savoir plus sur les sorties de l’outil

  • Utilisez le paramètre Voisins spatiaux à inclure dans les calculs pour calculer les corrélations croisées en utilisant les voisinages de chaque emplacement. Cela est opportun lorsque la série chronologique des emplacements voisins a tendance à être similaire à la série chronologique des emplacements plus éloignés. Si les voisins sont pris en compte, la corrélation croisée d’un emplacement représente une moyenne pondérée des corrélations entre la variable principale de l’emplacement focal (lui-même compris) et la variable secondaire de chacun de ses voisins. Par exemple, si un emplacement compte cinq voisins, la corrélation croisée de l’emplacement est une moyenne pondérée de six corrélations : la corrélation entre la variable principale de l’emplacement focal et la variable secondaire de ce même emplacement focal, la corrélation entre la variable principale de l’emplacement focal et la variable secondaire du premier voisin, la corrélation entre la variable principale de l’emplacement focal et la variable secondaire du deuxième voisin, et ainsi de suite. Le paramètre Méthode de pondération des voisins spatiaux spécifie les pondérations utilisées dans la moyenne pondérée.

  • Pour tester la signification statistique des corrélations croisées à chaque décalage, le paramètre Filtrer et supprimer les tendances doit être coché. Dans ce cas, les valeurs p et les intervalles de confiance de 95 pour cent sont calculés pour tous les décalages à tous les emplacements. Par ailleurs, les tests de signification ne pouvant être réalisés que sur des corrélations deux par deux entre deux séries chronologiques (et non sur une moyenne pondérée de plusieurs corrélations), si vous incluez des voisins spatiaux dans les calculs, seule la table des corrélations deux par deux en sortie contient les valeurs p et les intervalles de confiance. Si les voisins ne sont pas inclus, les entités en sortie et la table des corrélations décalées en sortie contiennent des champs de valeur p et d’intervalle de confiance.

    Attention :

    Les tests de signification statistique sont réalisés de manière indépendante pour chaque décalage temporel de chaque emplacement, et aucune correction ne se produit pour les tests d’hypothèses multiples. Faites preuve de prudence lorsqu’il s’agit d’interpréter la signification d’une valeur p ou d’un intervalle de confiance en particulier.

    En savoir plus sur la suppression des tendances et le filtrage de l’auto-corrélation

  • La même variable d’analyse peut être saisie à la fois pour la variable d’analyse principale et pour la variable d’analyse secondaire (ce qui s’appelle une analyse d’auto-corrélation). Cependant, les résultats peuvent être difficiles à interpréter, car une série chronologique est toujours parfaitement corrélée avec elle-même lorsque la valeur de décalage temporel est égale à zéro (absence de déplacement). Les entités en sortie et les tables de corrélation contiennent les résultats de corrélation de tous les décalages temporels, et les résultats au décalage temporel zéro peuvent être filtrés ou désélectionnés.

Paramètres

ÉtiquetteExplicationType de données
Cube spatio-temporel en entrée

Le cube spatio-temporel contenant la variable à analyser. Les cubes spatio-temporels ont une extension de fichier .nc et sont créés à l’aide de divers outils dans la boîte à outils Exploration des modèles spatio-temporels.

File
Variable d’analyse principale

Variable numérique du cube spatio-temporel contenant les valeurs de série chronologique de la variable principale.

String
Variable d’analyse secondaire

Variable numérique du cube spatio-temporel contenant la variable d’analyse secondaire. Lorsque les décalages temporels sont utilisés, la variable d’analyse secondaire est déplacée par rapport à la variable d’analyse principale.

String
Entités en sortie

Entités en sortie contenant les corrélations croisées de tous les emplacements pour tous les décalages temporels. La sortie contient également les champs des corrélations les plus fortes (positive, négative et absolue) et les champs des corrélations de tous les décalages temporels. Si vous filtrez et supprimez des tendances et que vous ne prenez pas en compte les voisins, la sortie contient les champs de valeurs p et les intervalles de confiance de 95 pour cent de toutes les corrélations croisées.

Feature Class
Activer les fenêtres contextuelles de série chronologique
(Facultatif)

Indique si des diagrammes de série chronologique sont créés dans les fenêtres contextuelles de chaque entité en sortie affichant les résultats de corrélation croisée. Les fenêtres contextuelles de série chronologique ne sont pas prises en charge pour les sorties shapefile.

  • Activé : les diagrammes de série chronologique sont créés pour les entités en sortie.
  • Désactivé : les diagrammes de série chronologique ne sont pas créés. Il s’agit de l’option par défaut.
Boolean
Décalage temporel maximal
(Facultatif)

Nombre maximal de décalages temporels utilisés pour déplacer la variable d’analyse secondaire. Les corrélations croisées sont calculées pour chaque valeur de décalage temporel jusqu’à atteindre la valeur maximale. Fournissez une valeur positive même pour les décalages temporels négatifs ; par exemple, si une valeur de 10 est fournie pour ce paramètre et que la direction de décalage temporel déplace la variable secondaire dans les deux directions, les corrélations croisées sont calculées pour tous les décalages temporels entre -10 et 10. Si aucune valeur n’est fournie, une valeur est déterminée en fonction de la longueur de la série chronologique. Fournissez une valeur de 0 pour calculer uniquement la corrélation brute entre les séries chronologiques sans aucun décalage temporel.

Long
Direction du décalage pour la variable secondaire
(Facultatif)

Indique la direction du décalage temporel. La variable secondaire peut être avancée dans le temps (par rapport à la variable principale), reculée dans le temps, ou déplacée dans les deux directions.

  • Déplacer la variable secondaire dans les deux directionsLa variable d’analyse secondaire est déplacée dans les deux directions. Par exemple, si le décalage temporel maximal est de 5, les corrélations pour tous les décalages temporels entre -5 et 5 sont calculées. Il s’agit de l’option par défaut.
  • Avancer la variable secondaire dans le tempsLa variable d’analyse secondaire avance dans le temps (vers la droite sur l’axe chronologique). Par exemple, si le décalage temporel maximal est de 5, les corrélations pour tous les décalages temporels entre 0 et 5 sont calculées. Cette option est appropriée lorsque les variations de la variable d’analyse secondaire se produisent avant celles de la variable d’analyse principale.
  • Reculer la variable secondaire dans le tempsLa variable d’analyse secondaire recule dans le temps (vers la gauche sur l’axe chronologique). Par exemple, si le décalage temporel maximal est de 5, les corrélations pour tous les décalages temporels entre -5 et 0 sont calculées. Cette option est appropriée lorsque les variations de la variable d’analyse principale se produisent avant celles de la variable d’analyse secondaire.
String
Voisins spatiaux à inclure dans les calculs
(Facultatif)

Spécifie les voisins de chaque emplacement qui seront pris en compte dans les calculs. Si les voisins sont pris en compte, la corrélation croisée d’un emplacement est la moyenne pondérée des corrélations entre la variable principale de l’emplacement focal (lui-même compris) et la variable secondaire de chacun de ses voisins.

  • Aucun voisinAucun voisin spatial n’est inclus dans les calculs.
  • Canal de distanceLes emplacements situés à une distance spécifiée de chaque emplacement sont inclus dans les calculs en tant que voisins.
  • K voisins les plus prochesUn nombre donné d’emplacements les plus proches sont inclus dans les calculs en tant que voisins.
  • Segments de contiguïté uniquementLes polygones qui partagent une arête sont inclus en tant que voisins (contiguïté Tour).
  • Angles des segments de contiguïtéLes polygones qui partagent une arête ou un angle sont inclus en tant que voisins (contiguïté Reine).
String
Nombre de voisins spatiaux
(Facultatif)

Nombre donné d’emplacements les plus proches inclus dans les calculs en tant que voisins.

Long
Canal de distance
(Facultatif)

Tous les emplacements situés dans le rayon de cette distance sont inclus en tant que voisins. Si aucune valeur n’est fournie, une valeur est estimée pendant le traitement et incluse sous forme de message de géotraitement. Si la distance spécifiée renvoie plus de 1 000 voisins, seuls les 1 000 emplacements les plus proches sont inclus en tant que voisins. Pour les polygones, la distance séparant les centroïdes est utilisée pour déterminer les voisins.

Linear Unit
Méthode de pondération des voisins spatiaux
(Facultatif)

Spécifie la structure de pondération qui est appliquée aux voisins spatiaux lors du calcul des corrélations. Les pondérations sont utilisées lors du calcul de la moyenne pondérée de la corrélation entre l’entité focale et chaque voisin.

  • Pondérations égalesChaque voisin reçoit une pondération égale (absence de pondération). Il s’agit de l’option par défaut.
  • Noyau bicarréLes voisins sont pondérés en utilisant un noyau bicarré.
  • Noyau GaussienLes voisins sont pondérés en utilisant un noyau Gaussien.
String
Filtrer et supprimer les tendances
(Facultatif)

Indique si les tendances, la saisonnalité et l’auto-corrélation sont supprimées de la variable d’analyse principale et utilisées pour filtrer la variable d’analyse secondaire.

  • Activé : les tendances, la saisonnalité et l’auto-corrélation sont supprimées.
  • Désactivé : les valeurs de série chronologique ne sont pas modifiées. Il s’agit de l’option par défaut.
Boolean
Table des corrélations décalées en sortie
(Facultatif)

Table contenant les corrélations pour chaque décalage temporel de chaque emplacement.

Table
Table des corrélations deux par deux en sortie
(Facultatif)

Table contenant les corrélations deux par deux entre chaque emplacement et chaque voisin pour tous les décalages temporels.

Table

Sortie obtenue

ÉtiquetteExplicationType de données
Groupe de couches en sortie

Groupe de couches des couches en sortie.

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})
NomExplicationType de données
in_cube

Le cube spatio-temporel contenant la variable à analyser. Les cubes spatio-temporels ont une extension de fichier .nc et sont créés à l’aide de divers outils dans la boîte à outils Exploration des modèles spatio-temporels.

File
analysis_variable_1

Variable numérique du cube spatio-temporel contenant les valeurs de série chronologique de la variable principale.

String
analysis_variable_2

Variable numérique du cube spatio-temporel contenant la variable d’analyse secondaire. Lorsque les décalages temporels sont utilisés, la variable d’analyse secondaire est déplacée par rapport à la variable d’analyse principale.

String
output_features

Entités en sortie contenant les corrélations croisées de tous les emplacements pour tous les décalages temporels. La sortie contient également les champs des corrélations les plus fortes (positive, négative et absolue) et les champs des corrélations de tous les décalages temporels. Si vous filtrez et supprimez des tendances et que vous ne prenez pas en compte les voisins, la sortie contient les champs de valeurs p et les intervalles de confiance de 95 pour cent de toutes les corrélations croisées.

Feature Class
enable_pop_ups
(Facultatif)

Indique si des diagrammes de série chronologique sont créés dans les fenêtres contextuelles de chaque entité en sortie affichant les résultats de corrélation croisée. Les fenêtres contextuelles de série chronologique ne sont pas prises en charge pour les sorties shapefile.

  • CREATE_POPUPLes diagrammes de série chronologique sont créés pour les entités en sortie.
  • NO_POPUPLes diagrammes de série chronologique ne sont pas créés. Il s’agit de l’option par défaut.
Boolean
max_lag
(Facultatif)

Nombre maximal de décalages temporels utilisés pour déplacer la variable d’analyse secondaire. Les corrélations croisées sont calculées pour chaque valeur de décalage temporel jusqu’à atteindre la valeur maximale. Fournissez une valeur positive même pour les décalages temporels négatifs ; par exemple, si une valeur de 10 est fournie pour ce paramètre et que la direction de décalage temporel déplace la variable secondaire dans les deux directions, les corrélations croisées sont calculées pour tous les décalages temporels entre -10 et 10. Si aucune valeur n’est fournie, une valeur est déterminée en fonction de la longueur de la série chronologique. Fournissez une valeur de 0 pour calculer uniquement la corrélation brute entre les séries chronologiques sans aucun décalage temporel.

Long
lag_direction
(Facultatif)

Indique la direction du décalage temporel. La variable secondaire peut être avancée dans le temps (par rapport à la variable principale), reculée dans le temps, ou déplacée dans les deux directions.

  • BOTHLa variable d’analyse secondaire est déplacée dans les deux directions. Par exemple, si le décalage temporel maximal est de 5, les corrélations pour tous les décalages temporels entre -5 et 5 sont calculées. Il s’agit de l’option par défaut.
  • FORWARDLa variable d’analyse secondaire avance dans le temps (vers la droite sur l’axe chronologique). Par exemple, si le décalage temporel maximal est de 5, les corrélations pour tous les décalages temporels entre 0 et 5 sont calculées. Cette option est appropriée lorsque les variations de la variable d’analyse secondaire se produisent avant celles de la variable d’analyse principale.
  • BACKWARDLa variable d’analyse secondaire recule dans le temps (vers la gauche sur l’axe chronologique). Par exemple, si le décalage temporel maximal est de 5, les corrélations pour tous les décalages temporels entre -5 et 0 sont calculées. Cette option est appropriée lorsque les variations de la variable d’analyse principale se produisent avant celles de la variable d’analyse secondaire.
String
neighborhood_type
(Facultatif)

Spécifie les voisins de chaque emplacement qui seront pris en compte dans les calculs. Si les voisins sont pris en compte, la corrélation croisée d’un emplacement est la moyenne pondérée des corrélations entre la variable principale de l’emplacement focal (lui-même compris) et la variable secondaire de chacun de ses voisins.

  • NO_NBRSAucun voisin spatial n’est inclus dans les calculs.
  • FIXED_DISTANCELes emplacements situés à une distance spécifiée de chaque emplacement sont inclus dans les calculs en tant que voisins.
  • K_NEAREST_NEIGHBORSUn nombre donné d’emplacements les plus proches sont inclus dans les calculs en tant que voisins.
  • CONTIGUITY_EDGES_ONLYLes polygones qui partagent une arête sont inclus en tant que voisins (contiguïté Tour).
  • CONTIGUITY_EDGES_CORNERSLes polygones qui partagent une arête ou un angle sont inclus en tant que voisins (contiguïté Reine).
String
num_nbrs
(Facultatif)

Nombre donné d’emplacements les plus proches inclus dans les calculs en tant que voisins.

Long
distance_band
(Facultatif)

Tous les emplacements situés dans le rayon de cette distance sont inclus en tant que voisins. Si aucune valeur n’est fournie, une valeur est estimée pendant le traitement et incluse sous forme de message de géotraitement. Si la distance spécifiée renvoie plus de 1 000 voisins, seuls les 1 000 emplacements les plus proches sont inclus en tant que voisins. Pour les polygones, la distance séparant les centroïdes est utilisée pour déterminer les voisins.

Linear Unit
spatial_weights
(Facultatif)

Spécifie la structure de pondération qui est appliquée aux voisins spatiaux lors du calcul des corrélations. Les pondérations sont utilisées lors du calcul de la moyenne pondérée de la corrélation entre l’entité focale et chaque voisin.

  • EQUALChaque voisin reçoit une pondération égale (absence de pondération). Il s’agit de l’option par défaut.
  • BISQUARELes voisins sont pondérés en utilisant un noyau bicarré.
  • GAUSSIANLes voisins sont pondérés en utilisant un noyau Gaussien.
String
filter_option
(Facultatif)

Indique si les tendances, la saisonnalité et l’auto-corrélation sont supprimées de la variable d’analyse principale et utilisées pour filtrer la variable d’analyse secondaire.

  • FILTERLes tendances, la saisonnalité et l’auto-corrélation sont supprimées.
  • NO_FILTERLes valeurs de série chronologique ne sont pas modifiées. Il s’agit de l’option par défaut.
Boolean
out_corr_table
(Facultatif)

Table contenant les corrélations pour chaque décalage temporel de chaque emplacement.

Table
out_pair_table
(Facultatif)

Table contenant les corrélations deux par deux entre chaque emplacement et chaque voisin pour tous les décalages temporels.

Table

Sortie obtenue

NomExplicationType de données
output_layer_group

Groupe de couches des couches en sortie.

Group Layer

Exemple de code

Exemple 1 d’utilisation de TimeSeriesCrossCorrelation (fenêtre Python)

Le script Python ci-dessous illustre l’utilisation de la fonction 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"
)
Exemple 2 d’utilisation de TimeSeriesCrossCorrelation (script autonome)

Le script Python ci-dessous illustre l’utilisation de la fonction 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())

Informations de licence

  • Basic: Oui
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes