Illustration d'un modèle SARIMAX appliqué aux séries temporelles, montrant des graphiques de données et une onde sinusoïdale.

Modèle SARIMAX : Qu’est-ce que c’est ? Comment l’appliquer aux séries temporelles ?

L’analyse des séries temporelles est une méthodologie cruciale dans de nombreux domaines, tels que la finance, l’économie, la météorologie et la biologie.

Parmi les différentes approches disponibles, le modèle SARIMAX (Seasonal Autoregressive Integrated Moving Average + exogenous variables) se démarque en tant qu’outil puissant pour modéliser et prévoir à la fois les tendances et les variations saisonnières dans les données temporelles tout en intégrant des variables exogènes dans l’analyse afin d’améliorer la précision des prédictions. Dans cet article, nous allons plonger dans les bases du modèle SARIMAX, examiner ses composantes clés et explorer son application pratique.

Le fondement : modèle ARIMA

Pour bien saisir l’essence du modèle SARIMAX, il faut ancrer la démarche dans les bases du modèle ARIMA (Autoregressive Integrated Moving Average). ARIMA modélise une série devenue stationnaire grâce à la différenciation, puis capte la dépendance aux valeurs passées et aux erreurs passées. C’est la brique de base sur laquelle SARIMA ajoute la saisonnalité et SARIMAX intègre des variables exogènes. Ces notions sont centrales en Data & IA et en formation Data Analyst.

  • Objectif pédagogique: partir d’ARIMA pour comprendre comment et pourquoi SARIMAX généralise ce cadre.
  • Résultat attendu: une série correctement préparée, des ordres initiaux (p, d, q) identifiés, prête à accueillir la saisonnalité et les covariables.

Que signifient AR, I et MA ?

Autorégression (AR): utilise les valeurs passées de la série pour prédire la valeur courante, avec un ordre noté p.
Moyenne mobile (MA): utilise les erreurs de prédictions passées pour corriger la valeur courante, avec un ordre noté q.
Intégration (I): rend la série stationnaire par différenciation, d indiquant le nombre de différences appliquées.

ComposanteNotationEffet principal sur la dynamique
AutorégressionAR(p)Dépendance directe aux lags de la série, persistance temporelle
IntégrationI(d)Suppression de tendance, stationnarité visée
Moyenne mobileMA(q)Correction par les chocs passés, lissage des erreurs

La série est-elle stationnaire ? (tests ADF/KPSS)

Avant toute modélisation ARIMA ou SARIMAX, il faut vérifier la stationnarité: moyenne et variance constantes, autocorrélation qui décroît. Deux tests complémentaires sont couramment utilisés.

TestHypothèse nulleLecture rapide
ADF (Augmented Dickey, Fuller)Présence d’une racine unitaire, série non stationnairep‑value inférieure à 0,05: on rejette H0, la série peut être considérée stationnaire
KPSS (Kwiatkowski, Phillips, Schmidt, Shin)Série stationnaire autour d’une moyenne ou d’une tendancep‑value inférieure à 0,05: on rejette H0, indication de non‑stationnarité

Bon réflexe: croiser ADF et KPSS, inspecter le tracé, comparer statistiques par sous‑période. Si les résidus d’un modèle ARIMA restent autocorrélés, la stationnarité n’est pas atteinte ou la spécification n’est pas adaptée.

Comment choisir d (différenciation) ?

  1. Inspecter la série: tendance marquée ou rupture de niveau suggèrent d ≥ 1.
  2. Tester: appliquer ADF et KPSS sur la série brute puis après une différence première. Choisir le plus petit d qui rend la série stationnaire.
  3. Éviter la sur‑différenciation: au‑delà de d = 1, les gains sont rares et le bruit augmente. d = 2 reste exceptionnel.
  4. Contrôler l’ACF de la série différenciée: un pic élevé à lag 1 peut signaler une différence excessive.
  5. Cas saisonnier: si une saisonnalité est présente, traiter d’abord la différence saisonnière (D) puis réévaluer d.

Règle de contraste: sous‑différencier donne des résidus autocorrélés et des prévisions biaisées, sur‑différencier amplifie le bruit et dégrade la stabilité des paramètres.

ACF et PACF : comment lire p et q ?

Sur la série déjà stationnarisée, les fonctions d’autocorrélation guident un choix initial de p et q.

  • Identifier q avec l’ACF: coupure nette de l’ACF après q lags alors que la PACF décroît doucement, point de départ MA(q).
  • Identifier p avec la PACF: coupure nette de la PACF après p lags alors que l’ACF décroît doucement, point de départ AR(p).
  • Si ACF et PACF décroissent de façon géométrique sans coupure franche, envisager un ARMA(p, q) avec petits ordres.
  • En présence de saisonnalité, répéter la lecture autour des lags multiples de la période pour proposer P et Q.

Faut-il transformer la série (log, Box‑Cox, dé‑trend) ?

Quand la variance croît avec le niveau ou que la tendance domine, une transformation préalable peut stabiliser la variance et faciliter la stationnarité.

TransformationQuand l’utiliserPrécautions
LogarithmeVariance proportionnelle au niveau, données strictement positivesAjouter un décalage si zéros, interprétation multiplicative des effets
Box‑CoxStabilisation fine de la variance avec estimation de λNécessite positivité, retransformer pour les prévisions
Dé‑trend expliciteTendance déterministe claire (constante ou linéaire)Conserver éventuellement une constante ou une tendance dans le modèle si pertinent

Après transformation, répéter tests ADF/KPSS et l’analyse ACF/PACF. Une bonne préparation ARIMA rendra l’extension vers SARIMAX plus robuste et plus interprétable.

Élargissement vers SARIMA : incursion dans les variations saisonnières

Lorsque les données temporelles exhibent des variations saisonnières, le modèle SARIMA prend la scène. Le terme Seasonal est ajouté à ARIMA pour indiquer que ce modèle peut capturer les motifs qui se répètent à intervalles réguliers. Les variations saisonnières peuvent se manifester sur de courtes périodes comme les ventes mensuelles d’une entreprise ou sur de plus longues périodes comme les données climatiques par exemple. En intégrant une composante saisonnière (S), le modèle SARIMA peut modéliser ces schémas récurrents et améliorer les prévisions.

En pratique, SARIMA se note SARIMA(p, d, q) × (P, D, Q)mm est la période saisonnière. Cette extension prépare naturellement le passage à SARIMAX, qui conserve la structure saisonnière tout en ajoutant des variables exogènes pour expliquer davantage de variance.

Quand parle-t-on de saisonnalité et comment la détecter ?

On parle de saisonnalité lorsque des motifs se répètent à intervalles réguliers dans la série (hebdomadaire, mensuel, annuel). La détection combine lecture visuelle et indices statistiques pour décider d’activer la partie saisonnière du modèle.

  • Signaux visuels : motifs qui se répètent à période fixe, pics et creux aux mêmes dates, amplitude éventuellement croissante (préférer alors un log ou une décomposition multiplicative).
  • ACF/PACF saisonnières : pics marqués à m, 2m, 3m dans l’ACF indiquent un composant saisonnier à modéliser. Un pic net à m en PACF suggère un terme AR saisonnier.
  • Décomposition (additive ou multiplicative) : si la composante « saison » est stable et bien structurée, un SARIMA est pertinent.
  • Tests et vérifications : après une différenciation saisonnière éventuelle, l’ACF des résidus ne doit plus montrer de pics à multiples de m.

Comment déterminer m, P, D, Q ?

  1. Choisir la période m : s’appuie sur la fréquence opérationnelle et la lecture des graphiques. Exemples courants : mensuel → m = 12, trimestriel → 4, journalier avec cycle hebdomadaire → 7, horaire avec cycle quotidien → 24.
  2. Fixer D (différenciation saisonnière) : souvent 0 ou 1. Tester la différence saisonnière Δmyt = yt − yt−m puis vérifier la stationnarité et l’ACF. Éviter le sur‑différenciage.
  3. Choisir P et Q : lire les pics aux lags multiples de m. Pic net en PACF à m → essayer P = 1. Pic net en ACF à m → essayer Q = 1. Démarrer avec des ordres faibles (0 à 2) et comparer AIC/BIC.
  4. Valider : diagnostics des résidus (absence d’autocorrélation saisonnière), backtesting par blocs, comparaison d’AIC/BIC et d’erreurs de prévision.

En pratique, un point de départ robuste quand la saisonnalité est nette consiste à tester des combinaisons simples comme (P, D, Q) = (1, 1, 1) avec m déterminé, puis à simplifier si les diagnostics l’indiquent.

Une décomposition saisonnière aide-t-elle au choix ?

Oui. La décomposition tendance/saison/résidu éclaire le choix de m, le type d’échelle (additif ou multiplicatif) et l’utilité de D. Une saison stable et régulière plaide pour des ordres saisonniers faibles. Une amplitude saisonnière proportionnelle au niveau suggère une transformation logarithmique avant l’ajustement.

Cas concret : sur des passagers aériens mensuels, on observe un motif annuel marqué (m = 12) et une amplitude qui croît avec le niveau. Une log‑transformation, D = 1 et des ordres saisonniers bas constituent un bon point de départ, à affiner via AIC/BIC et diagnostics.

Saisonnalités multiples : que faire ?

Un SARIMA classique gère une seule période m. Pour des séries avec plusieurs cycles (exemple : données journalières avec hebdomadaire et annuel), plusieurs approches sont possibles.

  • SARIMAX + termes de Fourier : modéliser la ou les saisons supplémentaires par des harmoniques sinus/cosinus, tout en gardant des erreurs SARIMA.
  • TBATS : adapté aux multiples saisonnalités et aux longues périodes.
  • Prophet : gère plusieurs composantes saisonnières et des jours fériés.
  • STL + ARIMA : retirer une saison dominante par décomposition STL puis ajuster ARIMA/SARIMA sur le restant.

La révolution : SARIMAX et les covariables

Écran d'ordinateur affichant du code et des résultats d'analyse de séries temporelles.

Alors que le modèle SARIMA offre déjà une puissante méthode pour modéliser les séries temporelles saisonnières, il peut y avoir des facteurs extérieurs qui influencent ces données. C’est ici que le modèle SARIMAX (Seasonal ARIMA with eXogenous variables) entre en jeu, ouvrant la porte à une analyse encore plus riche.

Les covariables, également appelées variables exogènes, sont des éléments externes qui peuvent influencer la série temporelle étudiée. Dans le contexte des ventes mensuelles d’une entreprise, les covariables pourraient inclure les dépenses publicitaires, les événements spéciaux ou les vacances. Le modèle SARIMAX permet d’intégrer ces covariables dans l’analyse, permettant ainsi de tenir compte des facteurs externes qui peuvent affecter les tendances observées.

Quelles sont les composantes du modèle SARIMAX ?

Un modèle SARIMAX se note SARIMAX(p,d,q)(P,D,Q,m) avec une matrice d’exogènes X. Les composants répondent aux mêmes logiques qu’ARIMA et SARIMA, auxquelles s’ajoute la régression sur les variables externes. Le rôle de chaque bloc est récapitulé ci‑dessous.

Bloc Notation Rôle
Autorégression non saisonnière p Corrèle yt avec ses p retards proches.
Différenciation non saisonnière d Rend la série stationnaire en supprimant les tendances.
Moyenne mobile non saisonnière q Modélise les erreurs de prévision passées.
Autorégression saisonnière P Corrèle yt avec ses retards à l’horizon saisonnier.
Différenciation saisonnière D Supprime les schémas saisonniers récurrents.
Moyenne mobile saisonnière Q Capte les chocs dans la composante saisonnière.
Périodicité m Nombre de périodes par saison (par exemple 12 pour mensuel, 4 pour trimestriel).
Variables exogènes X Facteurs externes expliquant yt, estimés par régression conjointe avec l’erreur SARIMA.
  • Autorégression (AR) : comme précédemment, l’autorégression examine les valeurs passées de la série temporelle pour prédire les valeurs actuelles.
  • Moyenne Mobile (MA) : la moyenne mobile modélise les erreurs passées dans les prédictions.
  • Intégration (I) : la différenciation rend la série stationnaire.
  • Composante saisonnière (S) : capture les variations qui se répètent à intervalles réguliers.
  • Covariables (X) : variables extérieures influençant la série.

Quelles covariables choisir et comment les préparer ?

  • Choix des covariables :
    • Pertinence causale et métier, pas uniquement corrélation.
    • Disponibilité sur l’horizon de prévision, au bon pas de temps.
    • Alignement de granularité et de calendrier avec la série cible.
    • Pas de fuite de cible : utiliser des versions retardées si nécessaire.
    • Signal stable dans le temps, faible bruit et outliers contrôlés.
  • Tester des lags courts et saisonniers, par exemple J-1, J-7 pour du journalier, M-1, M-12 pour du mensuel.
  • Ajouter des moyennes mobiles ou sommes glissantes pour capturer des effets cumulés.
  • Standardiser ou ramener à une échelle comparable lorsque les amplitudes diffèrent fortement.
  • Appliquer log, racine carrée ou Box‑Cox en présence d’asymétries marquées.
  • Encoder proprement les variables calendaires (mois, jour de semaine, jours fériés) avec des indicatrices.
  • Imputer avec interpolation, report de la dernière valeur connue ou modèles simples, et créer un indicateur de manquant.
  • Traiter les outliers par winsorisation ou remplacement guidé métier.

Exogènes futures ou manquantes : quelles stratégies ?

Deux cas se présentent. Lorsque les exogènes futures sont connues ou planifiables, on les injecte telles quelles dans le modèle. Lorsqu’elles sont inconnues à l’horizon de prévision, il faut les prévoir, les scénariser ou s’en affranchir par des lags et des proxys.

  • Exogènes connues (calendrier, tarifs contractuels, planning média, promotions, jours fériés) :
    • Utiliser directement les valeurs futures préparées et alignées.
    • Encoder les événements discrets avec des variables indicatrices et durées d’effet.
  • Construire un sous‑modèle dédié par variable (ARIMA simple, régression, modèle ML) puis alimenter SARIMAX.
  • Définir des scénarios optimiste, central, prudent et produire des fourchettes de prévision.
  • Recourir à des proxys plus disponibles ou à des lags uniquement, si la variable future est incertaine.
  • Nowcasting via indicateurs avancés corrélés et publiés plus tôt.
  • À court terme, prolonger la dernière observation connue tout en élargissant les intervalles d’incertitude.

Comment gérer la multicolinéarité et sélectionner les variables ?

  • Dépistage initial : analyser corrélations, retirer les doublons évidents, vérifier l’absence de combinaisons linéaires parfaites.
  • VIF (Variance Inflation Factor) : supprimer ou regrouper les variables au VIF élevé, seuils usuels inférieurs à 5 selon le contexte.
  • Réduction de dimension : agréger des familles proches, ou utiliser une composante principale pour résumer plusieurs indicateurs similaires.
  • Sélection guidée par la validation temporelle : étape par étape avant SARIMAX, avec critères AIC/BIC et backtesting, puis contrôle de stabilité des coefficients.
  • Régularisation en amont : employer des régressions pénalisées (L1, L2) sur y contre X avec validation chronologique, conserver l’ensemble parcimonieux issu de ce filtrage pour l’entraînement SARIMAX.
  • Preuves et diagnostics : vérifier résidus, autocorrélation restante et dégradation hors échantillon lorsque l’on ajoute ou retire une variable.

SARIMA vs SARIMAX : quand ajouter des exogènes ?

Ajouter des exogènes lorsque des moteurs externes documentés influencent la série et que leurs valeurs futures sont connues ou prévisibles avec fiabilité. Exemples typiques : budget publicitaire et promotions pour des ventes, prix ou stocks pour des demandes, météo pour l’énergie, calendrier et événements pour le trafic web. Le gain attendu se traduit par une baisse des erreurs et des intervalles de confiance plus étroits.

Rester en SARIMA lorsque la dynamique est largement endogène et saisonnière, que les exogènes de qualité manquent ou sont trop incertaines, ou lorsque l’horizon est très court. Limites à garder en tête : risque de fuite de cible, multicolinéarité entre exogènes, ruptures structurelles, et sur‑paramétrisation qui dégrade la robustesse.

Exemple pratique : sur des ventes mensuelles, l’ajout de dépenses publicitaires décalées d’un mois et d’indicateurs promotionnels explicite les hausses ponctuelles, tandis que SARIMA seul capte surtout la tendance et la saisonnalité annuelle.

Comment choisir et tuner (p,d,q)(P,D,Q,m) ?

Le réglage des hyperparamètres d’un modèle de la famille ARIMA/SARIMAX repose sur une démarche structurée. On cherche des ordres non saisonniers (p, d, q), des ordres saisonniers (P, D, Q) et la périodicité m, puis on valide hors échantillon. Rappelons que p, d, q contrôlent respectivement l’autorégression, la différenciation et la moyenne mobile, tandis que P, D, Q jouent le même rôle sur la saisonnalité et que m est le nombre de périodes par saison.

  1. Diagnostiquer la stationnarité: observer la série, puis utiliser des tests de racine unitaire et de stationnarité. Fixer d et D au minimum nécessaire. Définir m depuis la fréquence métier, par exemple 12 pour des données mensuelles.
  2. Lire ACF/PACF sur la série différenciée: proposer des valeurs candidates pour p et q, ainsi que P et Q aux retards multiples de m.
  3. Définir un espace de recherche raisonnable: quelques valeurs par paramètre, en limitant la complexité.
  4. Screener rapidement par critère d’information: sélectionner quelques modèles prometteurs via AIC ou BIC sur l’échantillon d’apprentissage.
  5. Valider par backtesting: comparer les modèles retenus sur des fenêtres temporelles glissantes avec des métriques comme l’RMSE, la MAE ou la MAPE, et un benchmark naïf saisonnier.
  6. Inspecter les résidus: rechercher l’absence d’autocorrélation résiduelle et une variance à peu près constante.
  7. Geler la spécification gagnante: re‑entraîner sur tout l’historique d’apprentissage, puis produire les prévisions opérationnelles.

Faut-il privilégier AIC/BIC ou la validation ?

Les critères d’information (AIC/BIC) sont idéaux pour cribler vite un grand nombre de spécifications, car ils arbitrent ajustement et parcimonie sur l’échantillon d’estimation. La validation hors échantillon, par backtesting, mesure la performance réelle de prévision. En pratique, on combine les deux: AIC/BIC pour réduire l’espace de recherche, backtesting pour décider.

Approche Forces Limites Quand l’utiliser
AIC/BIC Rapide, compare de nombreux modèles, pénalise la complexité Mesure relative, sensible au jeu de données d’estimation, pas une garantie hors échantillon Pré‑sélection de quelques spécifications candidates
Validation temporelle Mesure directe de l’erreur de prévision, robuste au sur‑apprentissage Plus coûteuse en calcul, nécessite une procédure de backtesting cohérente Choix final du modèle et des hyperparamètres

Point d’attention: comparer des AIC/BIC est pertinent quand les modèles sont estimés sur le même échantillon effectif. Comme la différenciation fait perdre des observations au début, mieux vaut fixer d et D à partir des diagnostics, puis comparer p, q, P, Q avec AIC/BIC, et terminer par la validation.

Auto-ARIMA suffit-il ? Comment backtester ?

Auto‑ARIMA est un excellent point de départ, surtout pour identifier rapidement d, D et m et proposer une combinaison initiale de p, q, P, Q. Toutefois, il ne remplace pas la validation. Un modèle choisi uniquement par critère d’information peut sous‑performer en production si la dynamique récente ou les chocs récents sont mal capturés. D’où l’importance d’un backtesting rigoureux.

  1. Définir le cas d’usage: horizon de prévision h et fréquence des ré‑entraînements.
  2. Choisir un schéma de validation temporelle: fenêtres glissantes en rolling‑origin. À chaque itération, entraîner sur le passé disponible et prévoir les h pas suivants.
  3. Refit ou mise à jour: pour les modèles ARIMA/SARIMAX, ré‑entraîner à chaque itération afin d’exploiter l’historique le plus récent.
  4. Inclure un benchmark: naïf saisonnier de type “valeur d’il y a m périodes”.
  5. Évaluer des métriques stables: RMSE, MAE, MAPE, et analyser la dispersion des erreurs par saison/mois.
  6. Inspecter les résidus et la stabilité des paramètres au fil des fenêtres.
  7. Sélectionner la meilleure spécification et re‑entraîner sur tout l’historique d’apprentissage avant déploiement.

Quelles options de statsmodels sont essentielles ?

  • order=(p, d, q) et seasonal_order=(P, D, Q, m): cœur de la spécification. Déterminer d et D par diagnostics de stationnarité, puis explorer p, q, P, Q.
  • trend: ajouter un terme déterministe, par exemple 'c' pour une constante ou 't' pour une tendance linéaire, utile si la différenciation seule ne capture pas tout le niveau.
  • enforce_stationarity=True: impose la stationnarité des paramètres AR. Conserver activé par défaut, le désactiver avec prudence si le modèle bute sur des contraintes trop restrictives.
  • enforce_invertibility=True: impose l’inversibilité des paramètres MA, recommandé pour des estimations stables.
  • simple_differencing: si True, la différenciation est faite avant l’estimation. Pratique pour accélérer, mais les prévisions portent sur la série différenciée. En général, laisser à False pour obtenir des prévisions sur l’échelle originale.
  • dynamic (dans predict/get_prediction): passer à True pour réaliser des prévisions récursives à partir d’un pas donné, ce qui remplace progressivement les observations réelles par des valeurs prédites.

Bonnes pratiques: commencer avec enforce_stationarity=True et enforce_invertibility=True, préférer simple_differencing=False pour garder des sorties sur l’échelle native, et documenter précisément trend employé. En présence de variables exogènes, s’assurer que leurs valeurs futures soient disponibles sur l’horizon de prévision.

Comment préparer les données et valider le modèle ?

Avant d’ajuster un modèle SARIMAX, structurez une pipeline de validation pensée pour les séries temporelles. L’objectif est de garantir des comparaisons honnêtes entre modèles, d’éviter les fuites de données et de quantifier l’incertitude des prévisions.

  1. Définir l’horizon de prévision et la granularité cible, puis uniformiser la fréquence du signal.
  2. Nettoyer la série, traiter les valeurs manquantes et documenter les ruptures structurelles éventuelles.
  3. Appliquer les transformations utiles selon le contexte, par exemple log ou Box‑Cox, et, si besoin, des différenciations pour tendre vers la stationnarité.
  4. Sélectionner et préparer les covariables exogènes, vérifier leur disponibilité sur les périodes de validation et de test.
  5. Mettre en place un découpage chronologique, sans mélange aléatoire, et une validation par fenêtre(s) glissante(s).
  6. Ajuster le modèle, puis diagnostiquer les résidus pour vérifier l’adéquation et l’absence d’autocorrélation résiduelle.
  7. Évaluer avec des métriques normalisées comme MAE et RMSE, et comparer plusieurs modèles sur les mêmes fenêtres.
  8. Produire et calibrer des intervalles de prédiction, puis consigner les résultats et hypothèses.

Quel découpage train/test pour séries temporelles ?

Évitez tout shuffle. Conservez l’ordre temporel et séparez vos périodes de manière chronologique. Dans la pratique, réservez une portion finale pour le test hors échantillon, puis validez avec une ou plusieurs fenêtres qui respectent l’horizon métier.

  • Hold‑out chronologique: entraîner jusqu’à une date T, valider sur la période suivante d’une longueur égale à l’horizon H, tester sur la toute dernière portion.
  • Validation à origine roulante: répéter le schéma avec un point d’origine qui avance dans le temps pour couvrir plusieurs saisons.
  • Fenêtre glissante de taille fixe: conserver une longueur d’entraînement constante, utile en présence de dérive.
  • Couverture saisonnière: viser au moins 2 à 3 cycles de saisonnalité dans l’entraînement et 1 cycle dans la validation.
  • Variables exogènes: s’assurer que les valeurs exogènes sont connues ou scénarisées sur les fenêtres de validation et de test.

Backtesting : rolling ou sliding ?

Les deux schémas de validation glissante évaluent la robustesse des performances dans le temps. Le choix dépend du volume de données disponible et de la stabilité attendue du processus.

Critère Rolling (origine extensible) Sliding (fenêtre fixe)
Taille de l’entraînement Augmente à chaque itération Constante, ancienne donnée remplacée
Coût de calcul Plus élevé à mesure que la fenêtre grossit Plus prévisible, souvent moindre
Stabilité de l’estimation Haute, profite de plus d’historique Réagit mieux aux régimes récents
Dérive conceptuelle Peut diluer les régimes récents Mieux adaptée si la dérive est forte
Quand l’utiliser Processus stable, longue histoire Processus changeant, contrainte mémoire

Comment diagnostiquer les résidus (ACF, Ljung-Box, normalité) ?

  1. Vérifier l’absence de biais et l’homoscédasticité: résidus centrés autour de 0, variance à peu près constante.
  2. Inspecter l’ACF et la PACF des résidus: la plupart des barres doivent rester dans les bandes de confiance, signe d’absence d’autocorrélation résiduelle marquée.
  3. Tester l’autocorrélation globale: test de Ljung-Box sur plusieurs lags pertinents, p‑values supérieures au seuil choisi indiquent des résidus proches du bruit blanc.
  4. Évaluer la normalité: histogramme, Q‑Q plot, test de Jarque‑Bera si des intervalles gaussiens sont employés.
  5. Chercher des effets d’ARCH ou des valeurs influentes, réviser le modèle si nécessaire, par exemple en ajustant p, d, q, la saisonnalité ou les covariables.
  6. Tracer prédictions vs observés et résidus dans le temps, documenter les lags et p‑values retenus pour la prise de décision.

Quelles métriques utiliser (MAE, RMSE, MAPE) ?

Choisissez des métriques alignées avec l’usage métier et comparables entre modèles. Combinez souvent au moins une métrique robuste et une métrique sensible aux gros écarts.

Métrique Interprétation Points forts Prudence
MAE Erreur absolue moyenne Robuste aux outliers, lisible Sensible à l’échelle, ne pénalise pas fortement les gros écarts
RMSE Racine de l’erreur quadratique moyenne Amplifie les grosses erreurs, utile si elles coûtent cher Très sensible aux outliers et à l’échelle
MAPE Erreur pourcentage moyenne Normalisée, facile à comparer entre séries Instable avec valeurs proches de zéro, préférer sMAPE ou WAPE
WAPE Erreur absolue pondérée par la demande Lisible en pourcentage agrégé Partage les limites des métriques en pourcentage
MASE Erreur normalisée par un naïf saisonnier Comparabilité inter‑séries, robuste Nécessite un naïf de référence bien défini

Comment produire des intervalles de prédiction ?

Les intervalles de prédiction couvrent l’incertitude liée au bruit et à la propagation d’erreur sur l’horizon. Avec un SARIMAX, vous pouvez exploiter la variance issue de la représentation espace d’états, ou recourir à des approches empiriques.

  • Intervalles analytiques: pour chaque pas, extraire la moyenne et l’écart‑type de prévision, puis construire des intervalles à 80 ou 95 pour cent. La largeur augmente avec l’horizon.
  • Bootstrap résiduel: ré‑échantillonner les résidus, simuler de multiples trajectoires, prendre les quantiles par pas de temps.
  • Simulation conditionnelle: propager aléatoirement les innovations du modèle pour générer un faisceau de scénarios.
  • Covariables exogènes: prévoir ou scénariser X, produire des intervalles conditionnels à chaque scénario, puis comparer.
  • Calibration: vérifier la couverture empirique en backtesting, ajuster les niveaux si la couverture observée est trop faible ou trop large.

Comment appliquer SARIMAX avec des covariables ?

SARIMAX permet de modéliser tendance, saisonnalité et effets externes en même temps. L’idée pratique est simple : préparer des covariables alignées dans le temps, choisir une spécification (p,d,q)×(P,D,Q,s), ajuster le modèle, valider, puis prévoir en fournissant aussi les exogènes futures.

  1. Définir le cadre : variable cible, fréquence, horizon de prévision, covariables disponibles pendant l’horizon.
  2. Scinder temporellement : entraînement puis validation ou backtesting en marche avant, jamais de mélange temporel.
  3. Créer des exogènes pertinentes : lags, moyennes mobiles, indicateurs calendaires, événements, météo, budget marketing.
  4. Diagnostiquer : stationnarité, saisonnalité, ACF/PACF pour guider p,q,P,Q, choix de d,D.
  5. Spécifier et ajuster : statsmodels.tsa.statespace.SARIMAX, puis fit() et summary().
  6. Valider : erreurs sur fenêtre de validation ou backtesting, par exemple RMSE, MAE, MAPE.
  7. Prévoir : get_prediction pour one‑step, get_forecast pour l’horizon, récupérer les intervalles de prédiction.
  8. Surveiller : diagnostic des résidus, dérive des performances, mise à jour régulière du modèle.

Comment prétraiter et créer des exogènes ?

Le succès de SARIMAX tient surtout à la qualité des covariables. Travaillez la pertinence métier, la propreté et la synchronisation temporelle.

  • Alignement temporel : rééchantillonnez toutes les séries à la même fréquence, mettez les horodatages au même fuseau, gérez les décalages de disponibilité.
  • Lags : créer des retards de la cible ou des exogènes (X_{t-1}, X_{t-7}, X_{t-12}) pour modéliser des effets différés.
  • Moyennes mobiles et cumulés : rolling mean/sum pour lisser le bruit et représenter des effets d’accumulation de campagnes.
  • Variables calendaires : mois, jour de semaine, fins de mois, vacances, jours fériés, périodes de soldes. Encodage sous forme de dummies.
  • Événements : lancements produits, promotions, incidents, mises à jour algorithmiques en SEO, etc.
  • Météo et prix : température, pluie, coûts d’énergie, prix concurrents si pertinents et disponibles à l’horizon.
  • Qualité des données : imputation raisonnée des manquants, détection de valeurs aberrantes, standardisation pour comparer les coefficients.
  • Stationnarité : testez ADF et KPSS pour guider d et D. Ne pas sur‑différencier.
  • Fuite de données : construisez les exogènes avec des informations disponibles au temps t, jamais après.
  • Multicolinéarité : évitez des exogènes redondantes, regroupez ou régularisez si nécessaire.

Important : pour prévoir, il faut connaître ou prévoir aussi les exogènes futures, au même index temporel et avec la même forme que pendant l’apprentissage.

Comment spécifier et ajuster le modèle en Python ?

  1. Préparer les séries : y en pd.Series indexée par le temps, X en pd.DataFrame (n_obs × k) parfaitement alignée.
  2. Choisir l’ordre : démarrez simple, par exemple (p,d,q)=(1,1,1), (P,D,Q,s)=(1,1,1,12) pour des données mensuelles, puis itérez via AIC/BIC et backtesting.
  3. Spécifier SARIMAX : paramètres utiles : trend={'n','c','t','ct'}, enforce_stationarity=True, enforce_invertibility=True.
  4. Ajuster et diagnostiquer : fit(), summary(), analyse des résidus, Ljung‑Box, normalité, hétéroscédasticité.
  5. Valider : séparation temporelle ou backtesting en marche avant, métriques hors échantillon.
  6. Prévoir : fournissez exog cohérent pour validation et horizon futur, récupérez predicted_mean et conf_int().

Astuce : couplez AIC/BIC pour cribler les candidats et un backtesting pour confirmer sur des métriques opérationnelles.

Prévisions one‑step vs dynamiques : que choisir ?

Les prédictions one‑step réinjectent la vraie valeur de la période précédente, ce qui contrôle l’erreur mais n’est possible qu’en validation rapprochée. Les prédictions dynamiques enchaînent les valeurs prédites, ce qui reflète un usage réel à long horizon mais accumule les erreurs. Dans les deux cas, vous devez fournir les exogènes futures.

TypePrincipeQuand l’utiliser
One‑stepChaque étape utilise la valeur observée précédenteDiagnostic du modèle, comparaison de variantes sur courte fenêtre
DynamiquesBoucle sur les valeurs préditesScénarios opérationnels à moyen ou long terme, planification budgétaire

Comment interpréter les coefficients et l’impact des exogènes ?

  • Signe et magnitude : signe positif ou négatif indique le sens de l’effet. Standardisez les exogènes pour comparer les amplitudes.
  • Significativité : p‑values et intervalles de confiance dans summary(). Prudence en cas de forte colinéarité.
  • Effets décalés : créez et lisez des lags d’exogènes pour capter des retards d’impact marketing, météo, prix.
  • Interprétation avec transformations : si la cible est en log, un coefficient s’interprète en pourcentage approximatif.
  • Valeur incrémentale : comparez un modèle sans exogènes et avec exogènes via AIC/BIC et performances de backtesting.
  • Robustesse : vérifiez la stabilité des coefficients dans le temps, refaites l’ajustement sur des sous‑périodes.

Quel est un exemple minimal reproductible ?

  1. Chargement : lire y et les exogènes, régler l’index temporel et la fréquence.
  2. Split : découpe temporelle train → validation selon l’horizon visé.
  3. Ingénierie : créer lags, moyennes mobiles, dummies calendaires, standardiser, aligner X sur y.
  4. Tuning : choisir d,D avec tests de racine unitaire, cribler p,q,P,Q par AIC/BIC, confirmer en backtesting.
  5. Fit : SARIMAX(...).fit(), examiner summary() et les diagnostics résiduels.
  6. Métriques : calculer RMSE, MAE, MAPE sur validation.
  7. Forecast + PI : get_forecast(steps=h, exog=X_future), récupérer predicted_mean et conf_int(), tracer.
  8. Documentation : sauvegarder ordres, métriques, graphiques et version des données pour reproductibilité.

Avantages et limites de SARIMAX avec covariables

Le modèle SARIMAX enrichit l’approche ARIMA/SARIMA en intégrant des variables exogènes pertinentes, tout en capturant les effets saisonniers. Bien utilisé, il améliore nettement la qualité des prévisions et la compréhension des moteurs externes de la série. Mal cadré, il expose toutefois à des risques de surajustement, d’instabilité et de coûts de maintenance élevés.

En synthèse : Avantages, meilleure précision, interprétabilité des exogènes et gestion native de la saisonnalité. Limites/Risques, dépendance à la qualité et à la disponibilité des covariables, instabilités structurelles possibles et besoins de suivi continu.

Quels sont les avantages clés ?

  • Précision accrue quand des variables exogènes pertinentes sont disponibles et fiables sur l’horizon de prévision, par exemple budget marketing, promotions, météo, indicateurs macro.
  • Interprétabilité des effets exogènes, estimation de coefficients qui permettent de quantifier l’impact marginal d’un levier et d’explorer des scénarios (hausse du budget média, changement de prix, calendrier d’événements).
  • Prise en compte robuste de la saisonnalité via les composantes saisonnières qui modélisent des motifs récurrents mensuels, hebdomadaires ou trimestriels.
  • Cadre statistique éprouvé, diagnostics de résidus, critères d’information (AIC, BIC) et backtesting facilitant la sélection de modèles parcimonieux et fiables.

Exemple : sur des ventes mensuelles, l’ajout des dépenses publicitaires comme covariable permet d’expliquer une part des variations hors tendance et saison, puis de simuler l’effet d’un plan média sur les prévisions. L’intégration de covariables confère ainsi au modèle SARIMAX un avantage significatif, car les prévisions tiennent compte des facteurs externes qui influencent la série temporelle et aident les décideurs à agir plus vite et plus justement.

Quelles limites et pièges fréquents ?

  • Surajustement avec trop de paramètres ou trop de covariables, modèle performant en apprentissage mais fragile en production. Préférer la parcimonie et valider hors échantillon.
  • Covariables peu fiables ou non disponibles à l’avance, le modèle exige de connaître ou de prévoir X sur l’horizon de forecast. Des hypothèses irréalistes dégradent fortement la qualité des prévisions.
  • Instabilité saisonnière et effets calendaires changeants (jours fériés mobiles, chocs exceptionnels) qui perturbent les composantes saisonnières estimées.
  • Dérive de concept : la relation entre la cible et les exogènes évolue dans le temps (changement de stratégie prix, concurrence, algorithmes SEO), rendant les coefficients obsolètes sans recalibrage.
  • Multicolinéarité et non‑linéarités entre exogènes, coefficients instables et interprétation trompeuse si les variables sont fortement corrélées ou si l’effet n’est pas linéaire.
  • Coûts de maintenance : collecte et fiabilisation des exogènes, surveillance des dérives, backtesting récurrent, réestimation périodique, documentation et gouvernance des données.

Conséquences possibles : intervalles de confiance trop étroits, décisions d’approvisionnement ou de budget mal calibrées, perte de robustesse lors d’événements de rupture. Pour limiter ces risques, définir des covariables mesurables et disponibles, contrôler la complexité du modèle, pratiquer un backtesting glissant et planifier des revues régulières des performances et des hypothèses.

Conclusion

En synthèse, la démarche efficace consiste à partir d’ARIMA pour modéliser l’autocorrélation et stabiliser la série par différenciation, à passer à SARIMA lorsque une saisonnalité récurrente apparaît, puis à adopter SARIMAX dès que des variables exogènes pertinentes peuvent améliorer l’explication et la prévision. Bien choisi et correctement validé, ce triptyque fournit des prévisions robustes tout en restant interprétable.

  • Préparation et stationnarité : inspecter la série, tester la stationnarité (ADF, KPSS), appliquer la différenciation non saisonnière et, si besoin, la différenciation saisonnière.
  • Identification initiale : utiliser ACF et PACF pour guider les ordres p et q, fixer la période saisonnière m et évaluer P, D, Q.
  • Sélection de modèle : comparer plusieurs spécifications via AIC/BIC, éventuellement s’aider d’un auto-ARIMA pour un point de départ, puis affiner manuellement.
  • Diagnostics : vérifier que les résidus sont proches d’un bruit blanc, contrôler l’autocorrélation résiduelle (Ljung-Box), la normalité et l’homoscédasticité, et examiner la stabilité des paramètres.
  • Validation par backtesting : pratiquer une validation temporelle (fenêtre roulante ou glissante), suivre des métriques comme RMSE, MAE ou MAPE, et analyser les intervalles de prédiction.
  • Gestion des exogènes avec SARIMAX : sélectionner des variables explicatives justifiées, éviter la data leakage, prévoir ou scénariser leurs valeurs futures, traiter la colinéarité et envisager des retards (lags).
  • Mise en production : surveiller la dérive, réentraîner périodiquement, documenter hypothèses et transformations, consigner le processus de backtesting et de diagnostic.
  • Limites et alternatives : en cas de multipériodicité marquée ou de fortes non-linéarités, évaluer des modèles alternatifs ou hybrides, tout en conservant ARIMA/SARIMA/SARIMAX comme baseline interprétable.

Prochaines étapes concrètes : réaliser les diagnostics sur votre série, mettre en place un backtesting réaliste aligné sur votre horizon de prévision, puis tester l’apport de variables exogènes avec SARIMAX. Cette progression ARIMA → SARIMA → SARIMAX structure l’analyse et fiabilise les décisions.

Liora (ex DataScientest) est un institut de formation technologique fondé en 2017, qui figure parmi les acteurs de référence du secteur. Liora propose des formations à distance, en bootcamp ou en temps partiel, dans les métiers de la data, du cloud, de l’intelligence artificielle, du développement informatique, de la cybersécurité et de la transformation digitale. La méthode pédagogique est basée sur 80% de pratique asynchrone via une plateforme propriétaire ready to code, et 20% d’accompagnement en direct avec mentors et coachs carrière. Les formations permettent de valider des certifications RNCP de niveau 6 ou 7, souvent accompagnées d’un certificat de reconnaissance délivré par de grandes institutions françaises (Mines Paris, La Sorbonne, ECE, INSEEC, etc.). Elles préparent également à des certifications officielles délivrées par des entreprises technologiques majeures comme Microsoft, AWS ou Google Cloud. À ce jour, Liora compte plus de 50 000 alumni, répartis à travers le monde.

Liora – Your future. Decoded.