← NotesExpérimentation6 octobre 2026 · 5–7 min de lecture

Quand le modèle naïf gagne : prévoir une série en marche aléatoire

Sur le taux de change, le meilleur ARIMA obtient une MAE de 28,45 contre 28,47 pour la dernière valeur connue : aucun gain réel. L'observatoire affiche donc le modèle naïf, et le dit.

Dans cette note
  1. Contexte
  2. Le constat
  3. Pourquoi
  4. La décision
  5. Ce que j’en retiens
  6. Citer cette note
  7. Discussion
Domaines

Time SeriesData Science

Mise à jour · octobre 2026Depuis la publication de cette note, l'observatoire couvre les huit pays de l'UEMOA et présente ses modèles comme des ARIMA : ce sont les mêmes modèles, sans composante saisonnière puisque les données sont annuelles. Les prévisions portent désormais sur 2025–2026. Voir la fiche du projet.

Contexte

Dans l’observatoire UEMOA, chaque indicateur reçoit son propre modèle. Le pipeline teste plusieurs ordres ARIMA (p, d, q) et garde celui qui obtient la plus petite erreur moyenne absolue (MAE) en validation glissante : on entraîne sur le passé, on prévoit l’année suivante, on avance d’un pas, et on recommence.

Pour le PIB nominal et l’inflation, cette procédure retient un modèle : ARIMA (2,1,0) pour le PIB, ARIMA (1,1,2) pour l’inflation. Pour deux séries, en revanche, rien ne fonctionne.

Le constat

Sur le taux de change XOF/USD (et la balance commerciale), aucun modèle candidat ne fait réellement mieux qu’une projection de la dernière valeur connue, le modèle naïf :

y^t+1=yt\hat{y}_{t+1} = y_t
IndicateurMAE naïfMAE ARIMA optimal
Inflation2,371,42
PIB nominal1 059,06361,61
Taux de change28,4728,45

Pour l’inflation et le PIB, le ARIMA réduit nettement l’erreur. Pour le taux de change, l’écart est de 0,02 : rien.

Pourquoi

C’est le comportement attendu d’une marche aléatoire : chaque valeur est la précédente plus un choc imprévisible.

yt=yt−1+εt,E[εt∣yt−1,yt−2,… ]=0y_t = y_{t-1} + \varepsilon_t, \qquad \mathbb{E}[\varepsilon_t \mid y_{t-1}, y_{t-2}, \dots] = 0

Si les chocs εt\varepsilon_t sont vraiment imprévisibles, la meilleure prévision possible de yt+1y_{t+1} (au sens de l’erreur quadratique) est yty_t : E[yt+1∣yt,yt−1,… ]=yt\mathbb{E}[y_{t+1} \mid y_t, y_{t-1}, \dots] = y_t. Un modèle plus complexe ne peut qu’ajouter du bruit en essayant d’apprendre une structure qui n’existe pas. Les taux de change sont l’exemple classique de ce phénomène en économie.

Un modèle qui ne fait pas mieux que le naïf n’apporte aucune information supplémentaire.

La décision

Deux options se présentaient : publier quand même la prévision du « meilleur » ARIMA, ou assumer l’absence de prévision. L’observatoire a choisi la seconde :

  • le pipeline utilise le modèle naïf pour ces séries et ne publie pas de valeur prévue ;
  • la page d’accueil affiche un signal « aucune prévision publiée (marche aléatoire) » ;
  • la méthodologie explique pourquoi, au lieu de masquer la limite.
À retenirToujours inclure le modèle naïf parmi les candidats de la validation. C'est le seuil minimal qu'un modèle doit franchir pour mériter d'être publié.

Ce que j’en retiens

  • La référence naïve vient en premier. Sans elle, j’aurais publié un ARIMA pour le taux de change en le croyant utile. C’est maintenant le premier candidat de chaque comparaison.
  • « Pas de prévision » est un résultat. L’afficher clairement est plus utile au lecteur qu’une courbe qui donne une fausse impression de précision.
  • Le problème vient peut-être des données, pas du modèle. Avec des séries annuelles, on dispose de quelques dizaines de points. La prochaine étape est de tester des données mensuelles ou trimestrielles, puis des variables explicatives (prix des matières premières, taux de l’euro, puisque le franc CFA y est arrimé) quand l’échantillon le permettra.

Citer cette note

Djarabé, C. (2026). Quand le modèle naïf gagne : prévoir une série en marche aléatoire. TheLab. https://thelab-beta.vercel.app/notes/modele-naif-marche-aleatoire/

Référence BibTeX
@misc{djarabe2026modelenaifmarche,
  author       = {Djarabé, Caleb},
  title        = {Quand le modèle naïf gagne : prévoir une série en marche aléatoire},
  year         = {2026},
  howpublished = {TheLab, \url{https://thelab-beta.vercel.app/notes/modele-naif-marche-aleatoire/}},
  note         = {Expérimentation}
}

Discussion

Une question sur la méthode, une limite que j'ai manquée, une piste à creuser ? Les commentaires sont publics et passent par un compte GitHub.

Autres notes du projet

Toutes les notes [ -> ]