Time Series Analysis
L’analyse des séries temporelles étudie les données ordonnées dans le temps pour repérer les tendances, la saisonnalité et les anomalies, et prévoir les valeurs futures à l’aide de modèles statistiques et profonds.
L’analyse des séries temporelles étudie des points de données enregistrés dans l’ordre chronologique, généralement à intervalles réguliers, comme des relevés horaires de capteurs, les ventes quotidiennes ou le nombre de véhicules détectés chaque minute par une caméra de circulation. Ce qui la distingue des autres formes d’analyse de données, c’est que l’ordre est porteur d’information : chaque observation dépend des précédentes, et le mélange des données détruit donc les motifs recherchés. Les principaux objectifs consistent à décrire une série à partir de sa tendance et de ses motifs saisonniers, à prévoir ses valeurs futures, à détecter les anomalies et à classer des séries entières, comme les rythmes cardiaques enregistrés par un ECG.
Tendance, saisonnalité et stationnarité#
La plupart des séries combinent quelques composantes. La tendance correspond à l’évolution à long terme ; la saisonnalité, à un motif qui se répète selon une période fixe, comme un jour, une semaine ou une année ; les cycles sont des hausses et des baisses plus longues sans période fixe ; et le résidu correspond à ce qui reste. La décomposition les sépare, classiquement à l’aide de moyennes mobiles et, de façon plus robuste, avec STL, la décomposition saisonnière-tendance fondée sur une régression locale publiée par Robert Cleveland et ses collègues en 1990.
L’autocorrélation, c’est-à-dire la corrélation d’une série avec une version décalée d’elle-même, révèle cette structure : dans des données horaires, une valeur élevée au décalage 24 signifie que chaque heure ressemble à la même heure la veille. De nombreux modèles statistiques supposent également la stationnarité, c’est-à-dire que la moyenne, la variance et l’autocorrélation ne changent pas au fil du temps. Le test augmenté de Dickey-Fuller vérifie une forme courante de non-stationnarité, et la différenciation, qui modélise la variation entre deux étapes successives plutôt que le niveau, élimine une tendance.
Cet exemple simule quatre semaines de comptages horaires de véhicules, avec un cycle quotidien, une lente tendance à la hausse et du bruit. Il mesure l’autocorrélation et effectue de deux manières une prévision pour le dernier jour :
import numpy as np
import pandas as pd
# Four weeks of hourly vehicle counts: a daily cycle, a slow upward trend, and noise
rng = np.random.default_rng(0)
hours = pd.date_range("2026-03-01", periods=24 * 28, freq="h")
daily_cycle = 40 + 30 * np.sin(2 * np.pi * (hours.hour - 9) / 24)
counts = pd.Series(daily_cycle + 0.02 * np.arange(len(hours)) + rng.normal(0, 5, len(hours)), index=hours)
# Autocorrelation: how strongly each count resembles the count 1, 12, and 24 hours earlier
for lag in [1, 12, 24]:
print(f"Autocorrelation at lag {lag}: {counts.autocorr(lag):.2f}")
# Forecast the final day from the 27 days before it
history, actual = counts[:-24], counts[-24:].to_numpy()
naive = np.full(24, history.iloc[-1]) # repeat the last observed count
seasonal_naive = history.iloc[-24:].to_numpy() # repeat the same hour of the previous day
print(f"Naive MAE: {np.abs(actual - naive).mean():.1f} vehicles")
print(f"Seasonal naive MAE: {np.abs(actual - seasonal_naive).mean():.1f} vehicles")L’autocorrélation vaut 0,92 au décalage 1, -0,89 au décalage 12, où le pic de l’après-midi correspond au creux nocturne, et 0,95 au décalage 24. La répétition du dernier comptage observé entraîne une erreur moyenne de 24,5 véhicules par heure, contre 5,6 pour la répétition du jour précédent : la prévision naïve saisonnière constitue donc la référence qu’un modèle de prévision doit dépasser.
Méthodes de prévision#
Les méthodes statistiques restent performantes, en particulier pour les séries courtes. Le lissage exponentiel, mis au point par Charles Holt et Peter Winters vers 1960, accorde le plus de poids aux observations récentes et ajoute des composantes de tendance et de saisonnalité. Les modèles ARIMA, popularisés par George Box et Gwilym Jenkins en 1970, combinent autorégression, différenciation et moyennes mobiles des erreurs passées. Prophet, de Meta, ajuste la tendance, la saisonnalité et les effets des jours fériés pour les données commerciales.
Les modèles de machine learning traitent la prévision comme une tâche de modélisation prédictive portant sur les valeurs décalées et les caractéristiques calendaires. Les arbres à gradient boosté tels que LightGBM ont dominé l’édition 2020 du concours M5 sur les ventes de Walmart, tandis que Slawek Smyl a remporté l’édition 2018 du concours M4, qui portait sur 100 000 séries, grâce à une méthode hybride associant lissage exponentiel et réseau neuronal récurrent. Les modèles d’apprentissage profond comprennent les LSTM, les modèles d’espace d’états et les Transformers, tandis que les modèles de fondation préentraînés tels que Chronos d’Amazon et TimesFM de Google prévoient de nouvelles séries en mode zéro-shot. Les filtres de Kalman couvrent une tâche apparentée : l’estimation en temps réel d’un état caché, comme la position d’un objet, à partir de mesures bruitées.
L’évaluation doit respecter l’ordre temporel. La validation croisée aléatoire permet au modèle de voir le futur ; c’est une forme de fuite de données. Les prévisions sont donc testées par une évaluation à origine glissante : le modèle est entraîné sur toutes les données précédant une date seuil, prédit la période suivante, puis le processus est répété en avançant la date seuil.
Séries temporelles issues de la vidéo#
La vision par ordinateur transforme la vidéo en séries temporelles. Le comptage d’objets à partir d’une caméra de circulation produit le nombre de véhicules par minute ; le suivi d’objets fournit les positions et les vitesses pour chaque image ; et les caméras de magasin produisent des comptages d’occupation horaires. Ces séries alimentent ensuite les mêmes méthodes : prévision des heures de pointe ou des besoins en personnel, et détection d’anomalies signalant une baisse soudaine du trafic après un accident. Dans la solution Analytics d’Ultralytics, analytics_type="line" suit les objets à l’aide d’un modèle YOLO26 et trace le nombre d’objets visibles toutes les 30 images, soit environ une fois par seconde pour une vidéo à 30 fps ; le flux vidéo devient ainsi une série de comptages au fil de sa lecture.
L’analyse des séries temporelles recoupe la modélisation séquentielle en traitement automatique du langage naturel, où le texte est ordonné par position sans intervalle d’échantillonnage. Les comptages et les vitesses extraits des vidéos par des modèles de détection, de suivi et de compréhension vidéo occupent bien moins d’espace que les images ; il est donc possible d’en stocker plusieurs années et de les comparer entre différentes caméras.










