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

RÉGRESSION LINÉAIRE.

Une équation qui relie la valeur à prévoir à quelques facteurs : chaque variable reçoit un poids, et la prévision est la somme pondérée. C'est le premier modèle à poser sur une prévision chiffrée, parce qu'il se calcule en une seconde et que chaque coefficient se lit directement en euros.

RégressionPrévisionDonnées tabulairesModèle interprétableNiveau : débutant

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceExcellente si la relation est linéaire, limitée sinon
InterprétabilitéChaque coefficient se lit en unités métier
VitesseCalcul direct par formule, instantané
Facilité de réglageRien à régler, mais les variables sont à bien préparer
Tolérance aux données brutesSensible aux valeurs extrêmes et aux variables redondantes
EN 30 SECONDES

La règle empirique d'un directeur réseau (« tant d'euros par m², tant par euro de pub »), mais calculée sur tout l'historique au lieu d'être estimée au jugé.

1. On pose une équation

CA = constante + a × surface + b × budget pub + c × concurrents + un écart selon la zone. Les poids a, b et c sont inconnus.

2. On minimise les erreurs au carré

L'algorithme choisit les poids qui rendent la plus petite possible la somme des carrés des écarts entre CA réel et CA prévu. C'est la méthode des moindres carrés, résolue par une formule exacte.

3. On lit et on prévoit

Chaque poids indique de combien le CA varie quand la variable augmente d'une unité, les autres restant fixes. Pour un projet de magasin, on applique l'équation.

LE CAS MÉTIER

retail · réseau de magasins / franchise
EN ENTRÉE

Une ligne par magasin

Surface en m², budget publicitaire local en k€, nombre de concurrents dans la zone, type de zone (centre-ville, périphérie, rural). Et la colonne à prévoir : le chiffre d'affaires en k€.

EN SORTIE

Un CA prévu et des leviers chiffrés

Sur le jeu d'exemple, un m² de plus vaut environ 0,4 k€ de CA, un concurrent de plus en retire environ 15 k€, et un magasin rural fait environ 150 k€ de moins qu'un magasin de centre-ville comparable. De quoi chiffrer un projet d'ouverture.

CE QU'ON MESURE

L'erreur en k€, sur des magasins jamais vus

Le R² donne la part des écarts de CA entre magasins que le modèle explique (ici au-dessus de 0,9). L'erreur absolue moyenne parle mieux au comité : c'est l'écart typique, en k€, entre prévision et réalité.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Prévoir une valeur chiffrée : CA, prix, durée, consommation
  • Effets à peu près proportionnels : chaque m² ou chaque euro de pub pèse pareil
  • Besoin de chiffrer l'effet de chaque levier devant un comité
  • Peu de données : quelques centaines de lignes suffisent
  • Référence à battre avant un modèle plus complexe

NON

  • Relations en courbe ou à seuil : essayer une régression polynomiale ou une Random Forest
  • Résultat oui / non (départ, défaut, achat) : passer à la régression logistique
  • Beaucoup de variables corrélées entre elles : préférer Ridge ou Lasso
  • Valeurs aberrantes fréquentes : voir la régression robuste (Huber)
LES CHOIX QUI COMPTENT

Aucun hyperparamètre à régler. La qualité du modèle se joue dans la préparation des variables.

Variables catégorielles

La zone devient des indicatrices comparées à une modalité de référence, ici le centre-ville. R le fait seul avec un facteur, Python avec pd.get_dummies(drop_first=True).

Transformations

Si l'effet s'essouffle (le 30e k€ de pub rapporte moins que le premier), passer la variable au logarithme ou ajouter son carré.

Interactions

Si la pub rapporte davantage en centre-ville qu'en zone rurale, ajouter le produit des deux variables. En R : budget_pub_k * zone dans la formule.

Résidus

Tracer les écarts entre réel et prévu. Une forme en courbe ou en entonnoir signale que la droite ne suffit pas, ou que l'erreur grandit avec la taille du magasin.

LE CODE MINIMAL

jeu d'exemple : magasins.csv ↓
# CA magasins : régression linéaire en R
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, ]

modele <- lm(ca_k ~ surface_m2 + budget_pub_k + nb_concurrents + zone, data = train)

# Coefficients : effet de +1 unité sur le CA (k€), les autres variables fixes
print(round(summary(modele)$coefficients, 3))

# Qualité sur les magasins jamais vus
pred <- predict(modele, newdata = test)
r2 <- 1 - sum((test$ca_k - pred)^2) / sum((test$ca_k - mean(test$ca_k))^2)
cat("R² test :", round(r2, 3), "\n")
cat("Erreur absolue moyenne (k€) :", round(mean(abs(test$ca_k - pred)), 1), "\n")

QUESTIONS FRÉQUENTES

Que signifie le R² d'une régression linéaire ?

C'est la part des variations du résultat expliquée par le modèle. Sur les données d'entraînement, il va de 0 à 1 : un R² de 0,9 signifie que le modèle explique 90 % des écarts de CA entre magasins. Il faut aussi le calculer sur des données de test, car un R² élevé à l'entraînement peut cacher un surapprentissage.

Un coefficient positif prouve-t-il un effet causal ?

Non. Un coefficient mesure une association, à valeur égale des autres variables du modèle. Si les magasins qui marchent déjà reçoivent plus de budget pub, l'effet de la pub sera surestimé. Pour mesurer un effet réel, il faut une expérience : test A/B, zones témoins.

Quelles sont les hypothèses de la régression linéaire ?

Une relation linéaire entre les variables et le résultat, des erreurs indépendantes et de variance constante. La normalité des erreurs compte surtout pour que les p-values et les intervalles de confiance soient fiables. Un graphique des résidus suffit souvent à repérer un problème.

LES ALGOS VOISINS

à comparer avant de choisir
quand la relation courbe

Régression polynomiale

La même méthode, avec des variables élevées au carré ou au cube pour suivre une courbe.

Voir la fiche →
quand les variables abondent

Lasso

Une régression linéaire qui freine les coefficients et met à zéro les variables inutiles.

Voir la fiche →
pour les réponses oui / non

Régression logistique

Le même principe de somme pondérée, transformée en probabilité. La référence du scoring.

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 →