Accueil / Factory / Algos ML / Régression quantile — factory / algos ML / apprentissage supervisé

RÉGRESSION QUANTILE.

Une régression qui ne prévoit pas la moyenne, mais un quantile : la valeur sous laquelle tombent 10 %, 50 % ou 90 % des cas. En ajustant trois quantiles, on obtient un scénario bas, un scénario médian et un scénario haut. C'est l'outil pour chiffrer un risque plutôt qu'un point.

RégressionPrévisionIncertitudeModèle interprétableNiveau : intermédiaire

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceMême précision centrale qu'une régression, plus la fourchette
InterprétabilitéChaque quantile a ses coefficients, lisibles en unités métier
VitesseProgrammation linéaire, rapide sur des dizaines de milliers de lignes
Facilité de réglageChoisir les quantiles, le reste est automatique
Tolérance aux données brutesLa médiane résiste bien aux valeurs extrêmes de la cible
EN 30 SECONDES

Un business plan en trois colonnes : pessimiste, central, optimiste. Au lieu de les fixer au jugé à -20 % et +20 %, on les calcule à partir de l'historique.

1. On choisit un quantile

Le quantile 10 % est la valeur sous laquelle tombent 10 % des magasins comparables. La médiane (50 %) coupe le groupe en deux.

2. On pondère les erreurs de façon asymétrique

Pour le quantile 10 %, une prévision trop haute coûte 9 fois plus cher qu'une prévision trop basse. Le modèle se cale donc sous la plupart des points.

3. On ajuste un modèle par quantile

On répète pour 50 % et 90 %. L'écart entre le quantile 10 % et le quantile 90 % forme une fourchette à 80 %.

LE CAS MÉTIER

retail · ouverture de magasin / immobilier commercial
EN ENTRÉE

L'historique du réseau

Pour chaque magasin : surface, budget pub local, nombre de concurrents, type de zone et chiffre d'affaires annuel en k€. Et un projet : 1 200 m², 10 k€ de pub, 3 concurrents, en périphérie.

EN SORTIE

Trois scénarios chiffrés

Sur le jeu d'exemple, le projet ressort à 577 k€ en scénario bas, 641 k€ en médian et 758 k€ en haut. C'est le scénario bas qu'on confronte au loyer et au seuil de rentabilité avant de signer.

CE QU'ON MESURE

La couverture de la fourchette

Une fourchette 10-90 % doit contenir environ 80 % des magasins jamais vus. Ici, elle en contient 82 %, pour une largeur moyenne d'environ 180 k€. Une couverture bien plus basse signale une fourchette trop optimiste.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Décision qui dépend du pire cas : bail, stock de sécurité, dimensionnement, budget de risque
  • Dispersion qui varie selon le profil : grands magasins plus incertains que petits
  • Cible avec valeurs extrêmes : la médiane résiste mieux que la moyenne
  • Besoin d'une fourchette explicable, variable par variable

NON

  • Seule la moyenne compte, pour un total ou un budget global : une régression linéaire suffit
  • Relations non linéaires : utiliser un gradient boosting avec perte quantile
  • Quantiles très extrêmes (1 %, 99 %) sur peu de données : trop peu de points pour les estimer
  • Besoin d'une vraie distribution complète : préférer un modèle probabiliste ou une simulation
LES 3 CHOIX QUI COMPTENT

Noms donnés pour R (quantreg) et Python (scikit-learn).

tau / quantile

Les quantiles à estimer. 0,1, 0,5 et 0,9 donnent une fourchette à 80 %. Plus on s'approche de 0 ou de 1, plus il faut de données.

alpha (Python)

QuantileRegressor applique par défaut une pénalité Lasso (alpha = 1). Pour une régression quantile classique, comme rq() en R, il faut alpha = 0.

Croisement des quantiles

Chaque quantile est estimé séparément. Sur des profils rares, le quantile 10 % peut dépasser le 50 %. On le vérifie, et on trie les prévisions si besoin.

LE CODE MINIMAL

jeu d'exemple : magasins.csv ↓
# Fourchette de CA pour une ouverture : régression quantile en R
library(quantreg)

magasins <- read.csv("magasins.csv")
magasins$zone <- factor(magasins$zone)   # référence : centre_ville
set.seed(42)
idx <- sample(nrow(magasins), round(0.7 * nrow(magasins)))
train <- magasins[idx, ]
test <- magasins[-idx, ]

# Trois quantiles d'un coup : scénario bas (10 %), médian, haut (90 %)
modele <- rq(ca_k ~ surface_m2 + budget_pub_k + nb_concurrents + zone,
             tau = c(0.1, 0.5, 0.9), data = train)
print(round(coef(modele), 2))

# Projet : 1 200 m², 10 k€ de pub, 3 concurrents, en périphérie
projet <- data.frame(surface_m2 = 1200, budget_pub_k = 10, nb_concurrents = 3,
                     zone = factor("peripherie", levels = levels(magasins$zone)))
print(round(predict(modele, newdata = projet)))

# Contrôle : environ 80 % des magasins test doivent tomber dans la fourchette
prev <- predict(modele, newdata = test)
cat("Couverture 10-90 % :", round(mean(test$ca_k >= prev[, 1] & test$ca_k <= prev[, 3]), 2), "\n")

QUESTIONS FRÉQUENTES

Quelle différence entre régression quantile et régression linéaire ?

La régression linéaire prévoit la moyenne en minimisant les erreurs au carré. La régression quantile prévoit un quantile, par exemple la médiane ou le 90e centile, en pondérant les erreurs de façon asymétrique. On peut en ajuster plusieurs pour décrire toute la fourchette.

Comment construire un intervalle de prévision avec la régression quantile ?

On ajuste deux modèles, par exemple aux quantiles 10 % et 90 %. Pour un nouveau cas, les deux prévisions forment un intervalle qui doit contenir environ 80 % des valeurs réelles. On vérifie cette couverture sur des données de test.

La régression médiane est-elle robuste aux valeurs aberrantes ?

Oui, pour les valeurs extrêmes de la cible : la médiane ne bouge pas quand un point s'éloigne beaucoup. Elle reste en revanche sensible aux points extrêmes sur les variables explicatives.

LES ALGOS VOISINS

à comparer avant de choisir
la prévision moyenne

Régression linéaire

Un seul chiffre, la moyenne attendue. La régression quantile y ajoute le bas et le haut de la fourchette.

Voir la fiche →
des fourchettes non linéaires

Gradient Boosting

Avec une perte quantile, il donne des fourchettes qui suivent seuils et interactions.

Voir la fiche →
l'autre parade aux extrêmes

Régression robuste (Huber)

Vise toujours la moyenne, mais limite l'influence des valeurs aberrantes.

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 →