Séries temporelles et prévision avec Python
Séries temporelles et prévision est un cours de niveau avancé de 5 leçons (environ 3 h 28), avec 15 exercices et 15 questions de quiz. Prérequis : Évaluation et validation des modèles. Les exercices s'exécutent dans le navigateur, sans installation.
- Data science
- Avancé
- 5 leçons
- 3 h 28
- 15 exercices
- Exercices exécutés dans le navigateur
Le cours en bref
Ce cours vous apprend à manipuler des données datées, à en comprendre la structure (tendance, saisonnalité, stationnarité) et à produire des prévisions fiables. Vous construirez des baselines, évaluerez vos modèles sans fuite de données, puis utiliserez lissage exponentiel, ARIMA et régression sur des lags avec un backtest rigoureux.
Ce que tu sauras faire
- Préparer une série temporelle avec pandas (index temporel, resample, rolling, lags)
- Décomposer une série et diagnostiquer tendance, saisonnalité et stationnarité
- Évaluer une prévision avec un découpage temporel, des baselines et les métriques MAE, RMSE, MAPE et MASE
- Ajuster des modèles de lissage exponentiel et ARIMA/SARIMA
- Construire des features de lag sans fuite et faire un backtest avec TimeSeriesSplit
- Choisir une stratégie de prévision multi-horizon et la justifier
Programme des 5 leçons
- Créer et indexer une série temporelle avec un DatetimeIndex
- Changer de fréquence avec resample et agréger correctement
- Calculer des fenêtres glissantes et des décalages (rolling, shift, diff)
DatetimeIndexRééchantillonnageFenêtres glissantesDécalage (lag)
- 02
Tendance, saisonnalité et stationnarité
- Décomposer une série en tendance, saisonnalité et résidu
- Mesurer l'autocorrélation et lire un graphique ACF
- Comprendre la stationnarité et la rendre plus probable par différenciation
- 03
Baselines et évaluation d'une prévision
- Construire des prévisions de référence (naïve, naïve saisonnière, moyenne)
- Découper les données dans le respect du temps
- Calculer et interpréter MAE, RMSE, MAPE et MASE
Prévision de référenceDécoupage temporelMétriques de prévision
- 04
Modèles classiques : lissage exponentiel et ARIMA
- Comprendre et implémenter le lissage exponentiel simple
- Connaître les extensions Holt et Holt-Winters (tendance, saisonnalité)
- Lire les ordres (p, d, q) d'un ARIMA et estimer un modèle autorégressif
- 05
Prévoir avec le machine learning et faire un backtest
- Transformer une série en tableau supervisé (lags, fenêtres, calendrier) sans fuite de données
- Évaluer un modèle par validation croisée temporelle (TimeSeriesSplit, origine glissante)
- Distinguer prévision récursive et directe sur plusieurs pas
Features de lag et de calendrierBacktestingStratégies multi-horizon
Projet final
Prévoir la demande journalière d'un magasin sur 4 semaines
Générez (ou chargez) deux ans de ventes journalières avec tendance, saisonnalité hebdomadaire et annuelle, jours fériés et quelques promotions. Produisez une prévision à 28 jours et défendez votre choix de modèle devant un responsable des achats.
Livrables
- Un notebook d'exploration : resample, moyennes mobiles, décomposition STL et ACF commentées
- Un protocole de backtest (TimeSeriesSplit ou origine glissante) avec au moins 4 plis et un horizon de 28 jours
- La comparaison d'au moins quatre approches : naïve saisonnière, Holt-Winters, SARIMA et un modèle ML sur features de lag
- Un tableau MAE, RMSE et MASE par modèle et un graphique réel vs prévu avec intervalle de prévision
- Une note de synthèse d'une page à destination métier : modèle retenu, précision attendue, limites
Critères d'évaluation
- Aucune fuite de données dans les features ni dans le découpage
- Baseline correctement implémentée et utilisée comme référence (MASE)
- Choix du modèle justifié par le backtest et non par un seul découpage
- Stratégie multi-horizon explicitée et cohérente avec les lags utilisés
- Clarté de la communication des résultats et des incertitudes
Questions fréquentes
Quel niveau faut-il pour suivre ce cours de séries temporelles ?
Il faut être à l'aise avec Python, pandas et les bases du machine learning (régression, évaluation d'un modèle). Le cours DS4 sur l'évaluation des modèles est le prérequis recommandé.
Faut-il choisir ARIMA ou un modèle de machine learning pour prévoir ?
Aucun n'est meilleur partout. ARIMA et le lissage exponentiel sont solides sur une série unique et peu de données ; les modèles ML sur lags brillent avec beaucoup de séries et de variables explicatives. Le cours montre comment les comparer par backtest face à une baseline.
Qu'est-ce qu'un backtest en prévision ?
C'est une validation croisée qui respecte le temps : on entraîne sur le passé, on teste sur la période suivante, et on répète sur plusieurs périodes pour obtenir une estimation fiable de l'erreur.
Les modèles de fondation pour séries temporelles remplacent-ils les méthodes classiques ?
Ils offrent des prévisions sans entraînement et sont intéressants à tester, mais ils doivent être évalués avec le même protocole que les autres modèles. Les baselines et modèles classiques restent des références indispensables.
Ce cours, raconté pour ton métier
Dis ce que tu veux savoir faire : « Séries temporelles et prévision » prend sa place dans ton parcours, avec des exemples de ton secteur. Les notions restent celles du cours.