Accueil / Factory / Algos ML / VAR — factory / algos ML / prévision de séries temporelles

MODÈLE VAR.

Un modèle qui prévoit plusieurs séries à la fois, chacune à partir de son propre passé et du passé des autres. Prix, volumes, stocks, budget publicitaire : quand les séries s'influencent mutuellement, le VAR (vecteur autorégressif) capte ces effets croisés et permet de tester qui entraîne qui.

PrévisionSéries multiplesCausalité de GrangerÉconométrieNiveau : avancé

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceBon à court terme sur quelques séries liées, pas au-delà
InterprétabilitéCoefficients lisibles un à un, effets croisés plus délicats
VitesseDes régressions linéaires : rapide sur quelques séries
Facilité de réglageChoix du nombre de retards et de la stationnarité à trancher
Tolérance aux données brutesSéries stationnaires exigées, sensible aux ruptures et aux trous
EN 30 SECONDES

La pub de la semaine dernière fait vendre cette semaine, et les ventes de la semaine dernière décident du budget pub de cette semaine. Chacune des deux séries se prévoit en regardant le passé des deux.

1. Une équation par série

Chaque série est expliquée par ses propres valeurs passées et par celles des autres séries, sur les p dernières périodes. C'est une régression linéaire par série.

2. On choisit le nombre de retards

p est choisi par un critère d'information (AIC, BIC) qui pénalise les modèles trop lourds. Avec k séries, chaque retard ajoute k × k coefficients.

3. On prévoit et on interprète

Le modèle prolonge toutes les séries ensemble. On teste la causalité de Granger (le passé de A aide-t-il à prévoir B ?) et on trace les fonctions de réponse : l'effet d'un choc sur une série, semaine après semaine.

LE CAS MÉTIER

pilotage marketing · retail / grande consommation
EN ENTRÉE

Deux séries hebdomadaires liées

Budget publicitaire et ventes, en k€ par semaine, sur 200 semaines. Les données sont simulées : la pub d'une semaine fait monter les ventes de la suivante, et le budget pub est ajusté aux ventes récentes.

EN SORTIE

Des effets croisés chiffrés et une prévision conjointe

Le modèle retrouve l'effet simulé : environ 3 k€ de ventes supplémentaires la semaine suivante pour 1 k€ de pub. Le test de Granger confirme très nettement que la pub aide à prévoir les ventes ; l'effet inverse, des ventes sur le budget, est plus faible. On obtient aussi les 4 prochaines semaines des deux séries.

CE QU'ON MESURE

Tests de causalité et erreur de prévision

Le test de Granger dit si une série apporte une information utile pour prévoir l'autre ; ce n'est pas une preuve de cause à effet au sens métier. La qualité de prévision se mesure, comme toujours, sur des semaines non vues.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Quelques séries (2 à 6) qui s'influencent : prix et volumes, stocks et commandes, pub et ventes
  • Tester si une série aide à en prévoir une autre (causalité de Granger)
  • Mesurer l'effet dans le temps d'un choc sur une variable (fonctions de réponse)
  • Prévision conjointe à court terme, cohérente entre les séries

NON

  • Une seule série à prévoir, avec des variables externes connues à l'avance : SARIMAX suffit
  • Des dizaines de séries : le nombre de coefficients explose, passer à un modèle régularisé ou à un modèle global
  • Séries non stationnaires (tendance, marche aléatoire) : différencier d'abord, ou utiliser un modèle à correction d'erreur (VECM) si elles sont cointégrées
  • Relations non linéaires ou effets de seuil : un modèle de machine learning ou un LSTM sera plus adapté
LES 4 RÉGLAGES QUI COMPTENT

Noms donnés pour R (vars) et Python (statsmodels).

p / maxlags, ic

Le nombre de périodes passées. On le choisit par critère d'information : VARselect en R, select_order en Python. L'AIC tend à choisir plus de retards que le BIC ; sur peu de données, préférer le plus petit.

Stationnarité

Le VAR suppose des séries stables autour d'une moyenne. On vérifie avec un test (ADF, KPSS) et on différencie les séries qui ont une tendance. Si des séries non stationnaires évoluent ensemble à long terme, le VECM (vars et urca en R, statsmodels en Python) est plus adapté.

type / trend

Constante, tendance, les deux ou aucune. La constante (type = "const") est le choix par défaut sur des séries stationnaires non centrées.

Variables exogènes : exogen / exog

Des variables qui influencent les séries sans en dépendre (jours fériés, météo) peuvent être ajoutées sans devenir des équations du système.

LE CODE MINIMAL

données simulées dans le code
# Pub et ventes : modèle VAR en R
library(vars)

# Simulation de 200 semaines : la pub pousse les ventes, les ventes fixent le budget pub
set.seed(42)
pub <- numeric(200)
ventes <- numeric(200)
pub[1] <- 14
ventes[1] <- 257
for (i in 2:200) {
  pub[i] <- 2 + 0.5 * pub[i - 1] + 0.02 * ventes[i - 1] + rnorm(1, 0, 2)
  ventes[i] <- 60 + 3 * pub[i - 1] + 0.6 * ventes[i - 1] + rnorm(1, 0, 10)
}
donnees <- data.frame(pub, ventes)  # en k€ par semaine

# Nombre de semaines passées à prendre en compte, choisi par critère AIC
print(VARselect(donnees, lag.max = 6, type = "const")$selection)
modele <- VAR(donnees, lag.max = 6, ic = "AIC", type = "const")
print(round(coef(modele)$ventes, 3))

# Causalité de Granger : la pub passée aide-t-elle à prévoir les ventes ?
print(causality(modele, cause = "pub")$Granger)

# Prévision conjointe des 4 prochaines semaines
print(predict(modele, n.ahead = 4)$fcst)

QUESTIONS FRÉQUENTES

Qu'est-ce que la causalité de Granger ?

Une série A cause B au sens de Granger si le passé de A améliore la prévision de B, au-delà de ce qu'apporte le passé de B seul. C'est un test statistique sur les coefficients du VAR. Il ne prouve pas une causalité réelle : une troisième variable peut piloter les deux.

Quelle différence entre VAR et ARIMA ?

ARIMA prévoit une seule série à partir de son propre passé. Le VAR prévoit plusieurs séries ensemble, chacune à partir du passé de toutes. On l'utilise quand les séries s'influencent mutuellement.

Combien de données faut-il pour un VAR ?

Chaque retard ajoute k × k coefficients pour k séries. Avec 3 séries et 4 retards, chaque équation compte 12 coefficients plus une constante, soit 39 au total. Il faut nettement plus d'observations que de coefficients par équation, d'où des modèles volontairement compacts.

LES ALGOS VOISINS

à comparer avant de choisir
une seule série à prévoir

SARIMA / SARIMAX

Une série cible et des variables externes supposées connues. Plus simple quand les influences ne vont que dans un sens.

Voir la fiche →
la version à une série

ARIMA

Le VAR généralise l'autorégression d'ARIMA à plusieurs séries, sans la partie moyenne mobile.

Voir la fiche →
l'option non linéaire

LSTM

Un réseau de neurones récurrent qui gère beaucoup de séries et des relations non linéaires. Plus de données, moins d'interprétation.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →