0Pricing
Learn AI with Python · Leçon

Composantes des séries temporelles et stationnarité

Tendance, saisonnalité, bruit, test ADF de stationnarité, différenciation pour atteindre la stationnarité.

Composantes des séries temporelles et stationnarité est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Qu’est-ce qu’une série temporelle ?

Une série temporelle est constituée de données indexées dans l’ordre chronologique, comme les ventes quotidiennes ou la température horaire. Comme les observations sont ordonnées et souvent corrélées, des techniques particulières sont nécessaires ; vous ne pouvez pas simplement mélanger les lignes comme pour des données tabulaires ordinaires.

Les trois composantes

Une représentation classique décompose une série en :

  • Tendance : évolution à la hausse ou à la baisse sur le long terme.
  • Saisonnalité : motifs qui se répètent à intervalles fixes (chaque semaine ou chaque année).
  • Résidu : bruit aléatoire restant après suppression de la tendance et de la saisonnalité.

Additif ou multiplicatif

Dans un modèle additif : y = trend + seasonality + residual, utilisé lorsque les variations saisonnières ont une amplitude constante.

Dans un modèle multiplicatif : y = trend * seasonality * residual, utilisé lorsque les variations saisonnières augmentent avec la tendance.

seasonal_decompose

statsmodels peut séparer automatiquement une série en ses différentes composantes.

from statsmodels.tsa.seasonal import seasonal_decompose

result = seasonal_decompose(series, model="additive", period=12)
result.trend
result.seasonal
result.resid

Visualiser la décomposition

Le graphique du résultat affiche chaque composante empilée, ce qui facilite l’observation de la tendance et de la saisonnalité et vous aide à choisir une méthode de prévision.

import matplotlib.pyplot as plt

result.plot()
plt.tight_layout()
plt.show()

Qu’est-ce que la stationnarité ?

Une série est stationnaire lorsque ses propriétés statistiques (moyenne, variance, autocorrélation) restent constantes au fil du temps. De nombreux modèles classiques comme ARIMA supposent la stationnarité ; la vérifier et l’obtenir constitue donc une première étape essentielle.

Pourquoi la stationnarité est importante

Si la moyenne dérive ou si la variance augmente fortement au fil du temps, un modèle ajusté sur les premières données ne se généralisera pas aux données ultérieures. Supprimer la tendance et stabiliser la variance rend la série prévisible de manière cohérente.

Le test ADF

Le test Augmented Dickey-Fuller (ADF) vérifie la stationnarité. L’hypothèse nulle est « non stationnaire (présente une racine unitaire) ». Une valeur p inférieure à 0,05 vous permet de rejeter l’hypothèse nulle et de considérer la série comme stationnaire.

from statsmodels.tsa.stattools import adfuller

stat, pvalue, *_ = adfuller(series)
print("p-value:", pvalue)
# pvalue < 0.05  -> stationary

La différenciation pour obtenir la stationnarité

La différenciation soustrait chaque valeur de la précédente afin de supprimer la tendance. Une différenciation du premier ordre suffit généralement à traiter une tendance linéaire ; appliquez-la à nouveau si nécessaire.

diff1 = series.diff().dropna()      # first difference
diff2 = series.diff().diff().dropna()  # second difference

Vérifier après la différenciation

Exécutez à nouveau le test ADF sur la série différenciée. Lorsque la valeur p passe sous 0,05, vous avez obtenu la stationnarité et enregistré l’ordre de différenciation d, qui sera directement utilisé par ARIMA.

stat, pvalue, *_ = adfuller(series.diff().dropna())
print("p-value after differencing:", pvalue)

Autres transformations stabilisantes

Si la variance augmente au fil du temps, une transformation log ou Box-Cox la stabilise avant la différenciation. Combiner une transformation log et une différenciation permet de traiter de nombreuses séries réelles à croissance multiplicative.

import numpy as np

log_series = np.log(series)
stationary = log_series.diff().dropna()

Vérification rapide

Testez votre compréhension de la stationnarité.

Récapitulatif

Vous avez décomposé des séries en tendance, saisonnalité et résidu avec seasonal_decompose, appris la différence entre les modèles additifs et multiplicatifs, testé la stationnarité avec le test ADF et utilisé la différenciation (d’ordre d) pour rendre une série stationnaire. Ensuite : ARIMA et SARIMA.

Questions Fréquemment Posées

La leçon « Composantes des séries temporelles et stationnarité » est-elle gratuite ?

Oui — le texte complet de « Composantes des séries temporelles et stationnarité » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Composantes des séries temporelles et stationnarité » ?

Tendance, saisonnalité, bruit, test ADF de stationnarité, différenciation pour atteindre la stationnarité. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Composantes des séries temporelles et stationnarité » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Composantes des séries temporelles et stationnarité
  2. Modèles ARIMA et SARIMA
  3. Prophet pour la prévision automatisée
  4. LSTM pour la prévision de séries temporelles
← Retour à Learn AI with Python