Accueil
Thèmes
Autocorrélation
Date de publication : 24 mai 2024
Contributeurs : Joshua Noble, Eda Kavlakoglu
L’autocorrélation permet d’analyser les données de séries temporelles et de les modéliser. Elle est largement utilisée dans l’économétrie, le traitement du signal et la prédiction de la demande.
L’autocorrélation, ou corrélation en série, analyse les données de séries temporelles pour rechercher des corrélations dans les valeurs à différents points d’une série temporelle. Cette méthode d’analyse clé mesure la corrélation d’une valeur avec elle-même. Au lieu de calculer le coefficient de corrélation entre différentes variables, comme X1 et X2, nous calculons le degré de corrélation d’une variable elle-même au niveau des intervalles temporels dans le jeu de données. Lors de la création d’un modèle de régression linéaire, l’une des principales hypothèses émet que les erreurs de prédiction de la variable indépendante dans ce modèle sont indépendantes. Souvent, lorsque vous travaillez avec des données de séries temporelles, vous trouverez des erreurs qui dépendent du temps. C’est-à-dire que la dépendance dans les erreurs apparaît en raison d’un composant temporel. Les termes d’erreur corrélés dans le temps sont des erreurs autocorrélées. Ces erreurs posent des problèmes avec certaines des méthodes les plus courantes de création d’une régression linéaire, comme les moindres carrés ordinaires. Pour résoudre ces problèmes, il convient de faire régresser la variable dépendante sur elle-même en utilisant les décalages temporels identifiés par un test d’autocorrélation. Le « décalage » est en réalité une valeur précédente de la variable dépendante. Si vous disposez de données mensuelles et que vous souhaitez prédire le mois à venir, vous pouvez utiliser les valeurs des deux mois précédents comme entrée. Cela signifie que vous régressez les deux décalages précédents sur la valeur actuelle.
De la même manière que la corrélation mesure une relation linéaire entre deux variables, l’autocorrélation mesure la relation entre les valeurs décalées d’une série temporelle par le biais d’un modèle linéaire. Lorsque les données suivent une tendance, les autocorrélations pour les légers décalages ont tendance à être importantes et positives, car les observations effectuées à proximité dans le temps ont également une valeur proche. Ainsi, la fonction d’autocorrélation, souvent appelée ACF, d’une série temporelle tendancielle est susceptible de démontrer des valeurs positives qui diminuent lentement au fur et à mesure que les décalages augmentent.
Lorsque les données présentent des fluctuations ou des schémas saisonniers, les autocorrélations sont plus importantes pour les décalages saisonniers (aux multiples de la période saisonnière) que pour les autres décalages. Lorsque les données sont tendancielles et saisonnières, vous constatez une combinaison de ces effets. Les séries temporelles qui ne présentent aucune autocorrélation sont des processus véritablement aléatoires et sont appelées « bruits blancs ». L’ACF est un coefficient de corrélation entre deux valeurs d’une série temporelle.
Il existe plusieurs façons de tester l’autocorrélation :
Vous pouvez calculer les valeurs résiduelles et représenter graphiquement ces erreurs standard au temps t, généralement écrits sous la forme et, par rapport à t. Tous les regroupements de valeurs résiduelles qui se trouvent d’un côté de la ligne zéro peuvent indiquer où se trouvent les autocorrélations et où elles sont significatives.
L’exécution d’un test de Durbin-Watson peut aider à déterminer si une série temporelle contient une autocorrélation. Pour le réaliser en R, créez une régression linéaire qui fait régresser la variable dépendante sur le temps, puis passez ce modèle pour calculer la statistique de Durbin-Watson. Pour le réaliser en Python, vous pouvez passer les résidus d’un modèle de régression linéaire ajusté au test.
Une autre option consiste à utiliser un test de Ljung Box et à lui transmettre directement les valeurs de la série temporelle. Le test de Ljung-Box repose sur l’hypothèse nulle selon laquelle les valeurs résiduelles sont distribuées indépendamment, et sur l’hypothèse alternative selon laquelle les valeurs résiduelles ne sont pas distribuées indépendamment et présentent une autocorrélation. Cela signifie qu’en pratique, les résultats inférieurs à 0,05 indiquent l’existence d’une autocorrélation dans la série temporelle. Les bibliothèques Python et R fournissent des méthodes pour exécuter ce test.
L’option la plus courante consiste à utiliser une visualisation de corrélogramme générée à partir de corrélations entre des décalages spécifiques dans la série temporelle. Un schéma dans les résultats indique une autocorrélation. Elle est représentée en montrant la corrélation des différents décalages au sein des séries temporelles. En voici un exemple :
Les données non aléatoires présentent au moins un décalage significatif. Lorsque les données ne sont pas aléatoires, cela indique que vous devez utiliser une analyse de séries temporelles ou intégrer des décalages dans une analyse de régression pour modéliser les données de manière appropriée.
L’autocorrélation permet d’identifier certaines caractéristiques fondamentales d’une série temporelle.
Une série temporelle stationnaire possède des propriétés statistiques qui sont constantes au fil du temps. Cela signifie que les statistiques comme la moyenne, la variance et l’autocorrélation ne changent pas en fonction des données. La plupart des méthodes de forecasting statistique, y compris ARMA et ARIMA, reposent sur l’hypothèse selon laquelle la série temporelle peut être rendue approximativement stationnaire par une ou plusieurs transformations. Une série stationnaire est relativement facile à prédire, car vous pouvez simplement prédire que les propriétés statistiques seront à peu près les mêmes dans le futur que par le passé. La stationnarité signifie que la série temporelle n’a pas de tendance, a une variance constante, un schéma d’autocorrélation constant et aucun schéma saisonnier. L’ACF approche rapidement de zéro pour une série temporelle stationnaire. En revanche, il diminue lentement pour une série temporelle non stationnaire.
Une caractéristique clé des données de séries temporelles est de savoir si une tendance est présente dans les données. Par exemple, les prix des produits de première nécessité dans une épicerie au cours des 50 dernières années afficheraient une tendance, car l’inflation ferait grimper ces prix. Il peut être difficile de prédire des données contenant des tendances, car la tendance masque les autres schémas présents dans les données. Si les données présentent une ligne de tendance stable vers laquelle elles reviennent systématiquement, elles peuvent être stationnaires en termes de tendance, auquel cas la tendance peut être supprimée en ajustant simplement une ligne de tendance et en soustrayant la tendance des données avant d’y ajuster un modèle. Si les données ne sont pas stationnaires en termes de tendance, elles peuvent alors être stationnaires en termes de différence, auquel cas la tendance peut être supprimée par différenciation. La manière la plus simple de faire la différence est de soustraire la valeur précédente de chaque valeur pour obtenir une mesure de l’ampleur du changement présent dans les données de la série temporelle. Ainsi, par exemple, si Yt est la valeur de la série temporelle Y à la période t, alors la première différence de Y à la période t est égale à Yt - Yt-1. Lorsque des tendances sont présentes dans une série chronologique, les décalages les plus courts ont généralement des valeurs de corrélation positive fortes ou de corrélation négative fortes dans l’ACF, car les observations plus proches dans le temps ont tendance à avoir des valeurs similaires. Les corrélations dans l’ACF diminueront lentement à mesure que les décalages augmenteront.
On parle de saisonnalité lorsqu’une série temporelle contient des fluctuations ou des changements saisonniers. On peut probablement s’attendre à ce que les ventes de glaces soient plus élevées pendant les mois d’été et plus faibles pendant les mois d’hiver, alors que les ventes de ski pourraient assurément grimper à la fin de l’automne et diminuer drastiquement au début de l’été. La saisonnalité peut se produire à différents intervalles, comme plusieurs jours, semaines ou mois. La clé de l’analyse des séries temporelles est de comprendre comment la saisonnalité affecte notre série, ce qui nous permet de produire de meilleures prévisions pour l’avenir. Lorsque des modèles saisonniers sont présents, les valeurs ACF présentent une autocorrélation plus positive pour les décalages aux multiples de la fréquence saisonnière que pour les autres décalages.
Découvrez les obstacles à l’adoption de l’IA, en particulier le manque de solutions de gouvernance de l’IA et de gestion des risques.
La fonction d’autocorrélation partielle, souvent appelée PACF, est similaire à la fonction ACF, à la différence qu’elle affiche uniquement la corrélation entre deux observations que les décalages les plus courts entre elles n’expliquent pas. Un graphique ACF montre la relation entre yt et yt-k pour différentes valeurs de k. Si yt et yt-1 sont corrélés entre eux, on peut supposer que yt-1 et yt-2 le seront également car ils sont tous deux reliés par un décalage de 1. Cependant, il est également possible que yt et yt-2 soient corrélés simplement parce qu’ils sont tous deux connectés à yt-1, plutôt que parce qu’il existe de nouvelles informations contenues dans yt-2 qui pourraient être utilisées pour prévoir yt. Pour contourner ce problème, nous utilisons des autocorrélations partielles pour supprimer un certain nombre d’observations de décalage. La fonction PACF mesure uniquement la relation entre yt et yt-k en supprimant les effets des décalages 1 sur k. La première autocorrélation partielle est toujours identique à la première autocorrélation, car il n’y a pas de nouvelles données à supprimer entre elles. Tous les décalages suivants afficheront uniquement la relation entre les décalages après suppression de tous les décalages intermédiaires. Cela permet souvent une estimation plus précise des décalages susceptibles de contenir des indications de saisonnalité en observant où se trouvent les valeurs d’autocorrélation positives ou négatives les plus importantes.
En pratique, l’ACF permet d’évaluer les propriétés d’une série temporelle. Le PACF, en revanche, est plus utile lors du processus de spécification d’un modèle autorégressif. Les analystes et data scientists utiliseront des graphiques d’autocorrélation partielle pour spécifier des modèles de régression avec des données de séries temporelles, des modèles ARMA (Auto Regressive Moving Average) ou ARIMA (Auto Regressive Integrated Moving Average).
Créez et évaluez des modèles d’autorégression en utilisant R sur watsonx.ai.
Créez et évaluez des modèles ARIMA à l’aide de Python sur watsonx.ai.
Apprenez-en plus sur les modèles ARIMA (Autoregressive Integrated Moving Average) pour l’analyse et la prévision des séries temporelles.