Aller au contenu principal
sfiCorrélation, régression et moindres carrés

Corrélation, régression et moindres carrés

Ce que ce chapitre apporte

  • Construire et lire un nuage de points pour une série statistique double.
  • Calculer une covariance et un coefficient de corrélation linéaire, et les interpréter.
  • Déterminer la droite de régression par la méthode des moindres carrés.
  • Utiliser la droite pour prédire, en connaissant le domaine de validité.
  • Distinguer corrélation et causalité, et reconnaître une corrélation trompeuse.
  • Mener l'analyse complète sur un jeu de données réel en Python.
Où on va
Décrire une colonne ne fait pas décider. Une question du type quels jours ouvrir un service de location ? demande de relier deux colonnes : la température et la fréquentation, l'humidité et la fréquentation. Ce chapitre installe les trois outils de la statistique à deux variables : le nuage de points qu'on regarde en premier, le coefficient de corrélation qui chiffre l'alignement, et la droite des moindres carrés qui permet de prédire. Et il installe surtout les deux réserves qui vont avec.

Une série double

Quand on observe deux caractères sur les mêmes individus, chaque individu devient un couple (xi,yi)(x_i, y_i). Le nuage de points place ces couples dans un repère : c'est la première chose à tracer, avant tout calcul.

Le point moyen G(xˉ,yˉ)G(\bar{x}, \bar{y}) est le centre de gravité du nuage. Il servira de point d'ancrage à toute la suite.

Le nuage d'abord, les indicateurs ensuite
Tous les indicateurs de ce chapitre supposent une relation linéaire. Sur une relation en cloche ou en marches d'escalier, ils donnent des nombres parfaitement calculables et parfaitement trompeurs. Le nuage est le seul moyen de savoir si l'hypothèse tient, et il coûte une ligne de code.

Covariance

Définition

La covariance de la série double mesure si XX et YY varient dans le même sens :

cov(X,Y)=(1/N)(xixˉ)(yiyˉ)=(1/N)xiyixˉyˉ\operatorname{cov}(X, Y) = (1/N) \sum (x_i - \bar{x})(y_i - \bar{y}) = (1/N) \sum x_iy_i - \bar{x}\bar{y}

La seconde forme est celle qu'on utilise en calcul : un seul passage sur les données. Le signe est ce qui compte : covariance positive, les deux grandeurs augmentent ensemble ; négative, l'une monte quand l'autre descend ; nulle, aucune tendance linéaire.

La covariance ne se compare pas à elle-même
Elle porte le produit des unités (des « degrés × locations ») et change si tu passes des degrés Celsius aux dixièmes de degré. Une covariance de 65 ne veut rien dire dans l'absolu. C'est précisément pour cela qu'on la normalise.

Coefficient de corrélation linéaire

Définition

r=cov(X,Y)/(σ(X)×σ(Y))r = \operatorname{cov}(X, Y) / (\sigma (X) \times \sigma (Y))

rr est sans unité et toujours compris entre 1-1 et 1.

Valeur absolue de rrLecture
0,95 à 1Points quasiment alignés, ajustement affine excellent
0,8 à 0,95Corrélation forte, l'ajustement a du sens
0,5 à 0,8Corrélation modérée, la droite ne capte qu'une partie du phénomène
<0,5< 0{,}5Corrélation faible, un ajustement affine n'apporte rien

Le coefficient de détermination r2r^2 s'interprète directement en pourcentage : r=0,9r = 0{,}9 donne r2=0,81r^2 = 0{,}81, soit 81 % de la variance de YY expliquée par la relation linéaire avec XX. C'est le chiffre à écrire dans un rapport, parce qu'il est le seul des deux à se traduire en français.

$r = 0$ ne veut pas dire « indépendantes »
Prends les points (−2, 4), (−1, 1), (0, 0), (1, 1), (2, 4) : ils sont exactement sur la parabole y = x², donc parfaitement liés, et pourtant r = 0. Le coefficient ne mesure que l'alignement, pas la dépendance. Encore le nuage.

La droite des moindres carrés

Parmi toutes les droites possibles, la droite de régression de yy en xx est celle qui minimise la somme des carrés des écarts verticaux entre les points et la droite.

Formules

y=ax+by = ax + b avec a=cov(X,Y)/V(X)a = \operatorname{cov}(X, Y) / V(X) et b=yˉaxˉb = \bar{y} - a \bar{x}

Trois contrôles qui ne coûtent rien
1. La droite passe par le point moyen G(x̄, ȳ). C'est la conséquence directe de b = ȳ − ax̄, et c'est la vérification à faire systématiquement.
2. a et r ont le même signe, puisqu'ils partagent le numérateur cov.
3. Calcule r avant d'écrire la droite. Si |r| est faible, la droite existe quand même, elle ne sert simplement à rien, et l'écrire sans le dire est l'erreur qui coûte des points.

Pourquoi les carrés des écarts ? Parce que la somme des écarts simples s'annule pour une infinité de droites, et parce que la valeur absolue ne se dérive pas partout. Le carré, lui, donne une fonction dérivable dont on annule la dérivée : le calcul aboutit aux deux formules ci-dessus.

Deux droites, pas une
La régression de y en x minimise les écarts verticaux. Celle de x en y minimise les écarts horizontaux : x = a′y + b′ avec a′ = cov/V(Y). Les deux droites sont différentes, se croisent au point moyen, et vérifient a × a′ = r². Elles se confondent quand |r| = 1. Choisis celle qui correspond à ta question : quelle variable prédit-on à partir de quelle autre ?

Un calcul complet

Sur huit jours d'observation, la température xx en °C et les locations yy en centaines :

xx811141720232629
yy1215192228313641

x=148\sum x = 148, y=204\sum y = 204, xy=4299\sum xy = 4299, x2=3116\sum x^2 = 3116, y2=5936\sum y^2 = 5936, N=8N = 8

xˉ=18,5\bar{x} = 18{,}5 et ȳ = 25,5

cov=4299/818,5×25,5=537,375471,75=\operatorname{cov} = 4299/8 - 18{,}5 \times 25{,}5 = 537{,}375 - 471{,}75 = 65,625

V(X)=3116/818,52=389,5342,25=47,25V(X) = 3116/8 - 18{,}5^2 = 389{,}5 - 342{,}25 = 47{,}25, donc σ(X)6,874\sigma (X) \approx 6{,}874 V(Y)=5936/825,52=742650,25=91,75V(Y) = 5936/8 - 25{,}5^2 = 742 - 650{,}25 = 91{,}75, donc σ(Y)9,579\sigma (Y) \approx 9{,}579

r=65,625/(6,874×9,579)r = 65{,}625 / (6{,}874 \times 9{,}579) \approx 0,997 : corrélation quasi parfaite, r20,993r^2 \approx 0{,}993.

a=65,625/47,25a = 65{,}625 / 47{,}25 \approx 1,389 et b=25,51,389×18,5b = 25{,}5 - 1{,}389 \times 18{,}5 \approx 0,194-0{,}194

y=1,389x0,194y = 1{,}389x - 0{,}194

Contrôle : pour x=18,5x = 18{,}5, y=1,389×18,50,194=25,5y = 1{,}389 \times 18{,}5 - 0{,}194 = 25{,}5 ✓ la droite passe bien par GG.

Interprétation métier : chaque degré supplémentaire apporte environ 139 locations. C'est cette phrase qu'on retient, pas le coefficient.

main.py
Sortie
>_ Prêt à exécuter…

Prédire, et jusqu'où

La droite sert à estimer yy pour un xx non observé. C'est son intérêt, et c'est aussi là qu'on se trompe.

Interpolation contre extrapolation
À 22 °C (dans la plage observée, de 8 à 29 °C) la droite prédit 1,389 × 22 − 0,194 ≈ 30,4, soit environ 3 040 locations. Prédiction légitime.
À 40 °C (hors plage) elle prédit 5 536 locations. Or à 40 °C les gens ne font pas de vélo : la relation observée entre 8 et 29 °C n'a aucune raison de se prolonger. La droite continue de calculer ; le phénomène, lui, s'est arrêté.
Une droite ne vaut que sur son domaine
Écris toujours la plage sur laquelle l'ajustement a été construit, et refuse explicitement de prédire au-delà. C'est une phrase, elle est attendue, et elle distingue un résultat d'un nombre.
Vérification rapidesans note, on peut se reprendre

1.Un coefficient de corrélation de -0,95 signifie…

2.Une corrélation proche de zéro signifie…

3.Pourquoi le quatuor d'Anscombe est-il célèbre ?

Corrélation n'est pas causalité

Une corrélation forte entre XX et YY admet quatre explications, et une seule est « XX cause YY » :

  1. XX cause YY ;
  2. YY cause XX (le sens est inversé) ;
  3. une troisième variable ZZ cause les deux, c'est le cas le plus fréquent ;
  4. le hasard, sur un petit échantillon ou beaucoup de paires testées.
Sur le jeu de données de vélos
Locations et ventes de glaces sont fortement corrélées. Aucune des deux ne cause l'autre : la température les cause toutes les deux. Prédire les locations à partir des ventes de glaces fonctionnerait pourtant très bien, c'est tout le paradoxe. Une corrélation suffit à prédire ; seule une causalité permet d'agir. Distribuer des glaces gratuites n'augmentera pas les locations de vélos.

Le quatuor d'Anscombe

Quatre jeux de onze points, tous de même moyenne, même variance, même corrélation r=0,816r = 0{,}816 et même droite de régression y=3+0,5xy = 3 + 0{,}5x. Ils n'ont pourtant rien à voir.

main.py
Sortie
>_ Prêt à exécuter…
Ce que montre le quatuor
Seul le premier jeu justifie une droite. Le deuxième est une parabole : il faudrait un modèle du second degré. Le troisième est parfaitement aligné sauf un point, qui à lui seul incline la droite. Le quatrième n'a aucune information sur la pente : dix points à x = 8 et un seul ailleurs, qui décide de tout.
Quatre situations à traiter différemment, et des indicateurs identiques dans les quatre cas. C'est l'argument le plus court en faveur du nuage de points.

L'analyse complète sur le jeu de vélos

Voici la démarche de bout en bout : matrice de corrélation pour repérer les variables qui comptent, puis régression sur celle qui compte le plus, puis résidus pour vérifier que le modèle tient.

main.py
Sortie
>_ Prêt à exécuter…

Et le tracé qui accompagne le rapport : le nuage avec sa droite, puis les résidus, c'est-à-dire les écarts entre observations et prédictions.

main.py
Sortie
>_ Prêt à exécuter…
Lire un graphique de résidus
Les résidus doivent former un nuage informe centré sur zéro. S'ils dessinent une courbe, le modèle linéaire est le mauvais modèle. S'ils s'évasent en entonnoir, la dispersion dépend de x et les prédictions sont bien moins fiables d'un côté que de l'autre. C'est le contrôle qu'on oublie et qui trouve les vrais problèmes.

Exercices type

Interpréter $r = -0{,}95$ entre la température et la consommation de chauffage

Corrélation linéaire négative et très forte : plus il fait chaud, moins on chauffe, et la relation est presque parfaitement affine sur le domaine observé.

r2=0,90r^2 = 0{,}90 : 90 % de la variance de la consommation s'explique par la température. Un ajustement affine est pleinement légitime.

Réserve à écrire : à 35 °C, la droite prédirait une consommation négative. La relation ne vaut que sur la plage observée.

Droite de régression avec $\bar{x} = 10$, `ȳ = 25`, $\operatorname{cov} = 12$, $V(x) = 8$

a=12/8=1,5a = 12/8 = 1{,}5

b=251,5×10=10b = 25 - 1{,}5 \times 10 = 10

y=1,5x+10y = 1{,}5x + 10

Contrôle : pour x=10x = 10, on obtient y=25y = 25, c'est bien le point moyen ✓

On mesure $r = 0{,}6$. Quelle part de la variance la droite explique-t-elle ?

r2=0,36r^2 = 0{,}36, soit 36 %.

Autrement dit 64 % de la variabilité reste inexpliquée par cette seule variable. Une corrélation qu'on qualifie spontanément de « correcte » laisse en réalité les deux tiers du phénomène de côté.

C'est la raison pour laquelle on rapporte r2r^2 plutôt que rr : 0,6 sonne bien, 36 % dit la vérité.

Les ventes de crème solaire et les noyades sont corrélées à $r = 0{,}9$. Faut-il interdire la crème solaire ?

Non. La variable cachée est la température, ou plus exactement la fréquentation des plages, qu'elle détermine : quand il fait chaud, on achète de la crème et on se baigne davantage.

C'est le cas 3 des quatre explications : une variable tierce cause les deux. La corrélation est réelle et permet de prédire les noyades à partir des ventes de crème ; elle ne dit rien de ce qui arriverait si on agissait sur les ventes.

Prédire et agir sont deux usages différents d'un même modèle, et un seul des deux exige la causalité.

Sur le jeu de vélos, la corrélation avec le vent est de $-0{,}05$. Que fait-on de cette variable ?

r2=0,0025r^2 = 0{,}0025 : le vent explique 0,25 % de la variance des locations. Autant dire rien.

On l'écarte du modèle, en le disant : « le vent n'a pas d'effet linéaire détectable sur nos données » est un résultat, pas une absence de résultat.

Deux réserves honnêtes : l'absence de corrélation linéaire n'exclut pas un effet en seuil (rien en dessous de 40 km/h, effondrement au-dessus), qu'un nuage de points révélerait ; et notre plage d'observation ne contient peut-être aucune journée réellement ventée.

Pourquoi la droite de $y$ en $x$ diffère-t-elle de celle de $x$ en $y$ ?

Parce qu'elles ne minimisent pas la même quantité : la première minimise les écarts verticaux (les erreurs sur yy), la seconde les écarts horizontaux (les erreurs sur xx).

Leurs pentes vérifient a×a=r2a \times a' = r^2. Quand r=1|r| = 1 les points sont alignés et les deux droites se confondent ; quand rr tend vers 0, elles deviennent perpendiculaires.

En pratique : choisis la droite selon la variable que tu veux prédire. Pour estimer les locations à partir de la température, c'est la régression de yy en xx.

La méthode

  1. Trace le nuage. Toujours, et avant tout calcul.
  2. Calcule le point moyen G(xˉ,yˉ)G(\bar{x}, \bar{y}) : il servira de contrôle.
  3. Calcule cov\operatorname{cov}, V(X)V(X), V(Y)V(Y) avec la forme « moyenne des produits moins produit des moyennes ».
  4. Calcule rr avant la droite, et justifie que l'ajustement affine est légitime.
  5. Écris la droite a=cov/V(X)a = \operatorname{cov}/V(X), b=yˉaxˉb = \bar{y} - a\bar{x}, et vérifie qu'elle passe par GG.
  6. Donne r2r^2 en pourcentage : c'est le chiffre qui parle.
  7. Précise le domaine de validité et refuse d'extrapoler au-delà.
  8. Ne conclus jamais à une causalité. Écris explicitement la variable cachée possible.

En résumé

  • Le nuage de points se trace en premier : le quatuor d'Anscombe montre pourquoi.
  • Covariance cov=(1/N)xiyixˉyˉ\operatorname{cov} = (1/N)\sum x_iy_i - \bar{x}\bar{y}. Le signe compte, la valeur absolue ne se compare pas.
  • Corrélation r=cov/(σxσy)r = \operatorname{cov}/(\sigma _x\sigma _y), entre −1 et 1, sans unité.
  • r2r^2 = part de la variance expliquée. C'est ce qu'on écrit dans un rapport.
  • r=0r = 0 indépendance : rr ne mesure que l'alignement.
  • Moindres carrés : a=cov/V(X)a = \operatorname{cov}/V(X), b=yˉaxˉb = \bar{y} - a\bar{x}. La droite passe par le point moyen.
  • Deux droites différentes selon la variable prédite, avec a×a=r2a \times a' = r^2.
  • Interpoler dans la plage observée, jamais extrapoler au-delà.
  • Corrélation ≠ causalité : quatre explications possibles, une seule est causale.
  • Une corrélation suffit à prédire, jamais à agir.
  • Les résidus doivent être informes. Une structure dans les résidus signale un mauvais modèle.

Et ensuite ? Ces outils décrivent des données stables. Le chapitre suivant les emmène là où les données arrivent en continu et où il faut réagir : la supervision d'un système d'information, ses lois continues et sa détection d'anomalies.

Corrélation, régression et moindres carrés | Plateforme ETS