Aller au contenu principal

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

Ce que ce chapitre apporte 6 points
  • 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.

Décrire une colonne ne fait pas décider. Une question du type combien de gaz la chaufferie consommera-t-elle cet hiver ? demande de relier deux colonnes : la température extérieure et la consommation, l'ensoleillement et la consommation. Ce chapitre reprend les trois outils de la statistique à deux variables, et les met à l'épreuve sur des mesures. Le nuage de points, qu'on regarde en premier. Le coefficient de corrélation, qui chiffre l'alignement. La droite des moindres carrés, qui permet de prédire. Et il installe surtout les deux réserves qui vont avec : une droite ne vaut que sur la plage où elle a été construite, et une corrélation ne prouve aucune causalité.

Ce chapitre et le chapitre de Mathématiques sur les deux variables

Les mêmes trois outils sont posés dans Statistique à deux variables et estimation, et les deux chapitres ne font pas le même travail. Celui de Mathématiques installe le nuage, la covariance, le coefficient et la droite, puis continue vers l'échantillonnage et l'intervalle de confiance : ce qu'un relevé partiel autorise à affirmer sur l'ensemble.

Celui-ci les met à l'épreuve sur des mesures. Il ajoute ce qui décide de la validité d'un ajustement et qu'aucune formule ne dit : le quatuor d'Anscombe, la lecture des résidus, l'entonnoir qui interdit une prévision ponctuelle, et l'analyse complète d'un relevé de 240 jours.

Qui a lu l'un peut lire l'autre en diagonale jusqu'au quatuor d'Anscombe, où commence ce qu'il n'a pas vu.

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}), où xˉ\bar{x} et yˉ\bar{y} sont les moyennes des deux séries, est le centre de gravité du nuage. Il servira de point d'ancrage à toute la suite. Moyenne, variance et écart-type d'une série simple sont posés dans le chapitre sur les statistiques.

On note NN le nombre d'individus, V(X)V(X) la variance de la série des xix_i et σ(X)=V(X)\sigma(X) = \sqrt{V(X)} son écart-type ; de même pour YY.

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.

Voici les huit journées qui serviront de fil au chapitre : deux colonnes de nombres deviennent huit points, et l'alignement se voit avant tout calcul.

102030051015température extérieure (°C)consommation (MWh)
Huit jours d'hiver : la température extérieure d'un côté, la consommation de la chaufferie de l'autre. Le nuage est la première chose à tracer, et la seule qui dise si une droite a un sens.

Le nuage montre. Il ne chiffre pas, et un rapport demande un nombre. Le premier à construire est celui qui dit si les deux colonnes bougent dans le même sens.

Covariance

Définition

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

cov⁡(X,Y)=1N∑i=1N(xi−xˉ)(yi−yˉ)=1N∑i=1Nxiyi−xˉ yˉ\operatorname{cov}(X, Y) = \frac{1}{N} \sum_{i=1}^{N} (x_i - \bar{x})(y_i - \bar{y}) = \frac{1}{N} \sum_{i=1}^{N} x_i y_i - \bar{x}\,\bar{y}

En clair, la première forme se lit : « pour chaque individu, multiplier son écart à la moyenne des xx par son écart à la moyenne des yy, puis faire la moyenne de ces produits ». La seconde se lit : « moyenne des produits xiyix_i y_i, moins le produit des deux moyennes ». Les deux donnent le même nombre ; la seconde évite de calculer les moyennes avant de parcourir les données.

Chaque terme de la première forme est positif quand xix_i et yiy_i sont tous deux du même côté de leur moyenne, négatif sinon. Le signe de la covariance est ce qui compte : positive, les deux grandeurs augmentent ensemble ; négative, l'une monte quand l'autre descend ; nulle, aucune tendance linéaire.

Sur les huit journées, le point moyen coupe le plan en quatre coins, et la règle se voit :

102030051015température extérieure (°C)consommation (MWh)produit positifproduit positifproduit négatifproduit négatifG
Les huit journées et leur point moyen G. Tous les points tombent dans les deux coins où le produit des écarts est négatif : la covariance l'est aussi. Point moyen G (8 ; 18,5) : 0 point de produit positif, 8 de produit négatif.
La covariance ne se compare pas d'un jeu de données à l'autre

Elle porte le produit des unités (des « degrés × MWh ») et change si on passe des degrés Celsius aux dixièmes de degré. Une covariance de −37,5 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 = \frac{\operatorname{cov}(X, Y)}{\sigma(X) \times \sigma(Y)}

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

En clair : « la covariance divisée par le produit des deux écarts-types ». La division est le point important. La covariance porte le produit des deux unités, des « degrés × MWh ». Le dénominateur aussi : σ(X)\sigma(X) porte les degrés, σ(Y)\sigma(Y) les MWh. La division les élimine, et il reste un nombre pur, comparable d'un jeu de données à l'autre.

Valeur absolue de rrLecture
de 0,95 à 1Points quasiment alignés, ajustement affine excellent
de 0,8 à 0,95Corrélation forte, l'ajustement a du sens
de 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. Autour de la droite, les écarts verticaux des points ne gardent que la part 1−r21 - r^2 de la variance de YY : avec r=0,9r = 0{,}9, r2=0,81r^2 = 0{,}81, et la moyenne des carrés de ces écarts ne vaut plus que 19 % de V(Y)V(Y). On dit que la droite explique 81 % de la variance de YY. C'est le chiffre à écrire dans un rapport, parce qu'il est le seul des deux à se traduire en français.

r=0r = 0 ne veut pas dire « indépendantes »

Les points (−2,4)(-2, 4), (−1,1)(-1, 1), (0,0)(0, 0), (1,1)(1, 1), (2,4)(2, 4) sont exactement sur la parabole y=x2y = x^2, donc parfaitement liés. Et pourtant r=0r = 0 : la moitié gauche du nuage descend, la moitié droite monte, et les deux tendances s'annulent terme à terme dans la covariance. Le coefficient ne mesure que l'alignement, pas la dépendance. Encore le nuage.

Vérification rapideon peut se reprendre

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

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

3.Le coefficient de détermination r² vaut 0,64. Comment se lit-il ?

Jusqu'ici, deux nombres qui disent s'il y a une relation linéaire et à quel point elle est nette. Ni l'un ni l'autre ne donne l'équation qui permettrait de prédire une valeur. C'est l'objet de la section suivante.

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.

La chercher d'abord à la main

La phrase ci-dessus décrit une recherche. La faire, avant de lire les formules qui la court-circuitent.

Chaque carré de la figure a pour côté l'écart vertical entre un point et la droite, qu'on appelle le résidu de ce point : l'aire du carré est donc le carré du résidu, et le total affiché est exactement la quantité que la méthode rend minimale.

10203040051015température extérieure (°C)consommation (MWh)
somme des carrés 1 764,78

Le minimum vaut 2,29, soit 1 762,49 de moins qu'ici.

Les huit jours d'observation. Le total affiché est la somme des aires : c'est lui, et rien d'autre, que les formules plus bas minimisent. Droite optimale : y = -1,786 x + 32,786, somme 2,29.
À manipuler
Régler les deux curseurs, pente a et origine b, jusqu'à ce que la somme des carrés ne veuille plus descendre, et noter la valeur atteinte. Augmenter ensuite la pente de quelques crans : la somme remonte, et il faut baisser l'origine pour la faire redescendre. Appuyer enfin sur « poser la meilleure droite » et comparer la somme notée au minimum. Les deux remarques qui suivent expliquent ce que ce tâtonnement vient de montrer.

Deux choses se remarquent en cherchant, et les formules ne les diront pas.

Le total ne descend pas régulièrement : il chute vite, puis résiste. Sur ces huit points, en prenant pour chaque pente la meilleure origine possible, une pente fausse de 0,50{,}5 donne un total de 44,3 ; fausse de 0,10{,}1 seulement, elle donne 4,0, et le minimum vaut 2,3. Si l'origine reste figée à sa meilleure valeur, la même erreur de 0,50{,}5 sur la pente coûte 172,3. Autrement dit, une droite « à peu près bonne » se trouve tout de suite, et les derniers centièmes de pente se paient cher. C'est exactement ce qui rend un calcul préférable au tâtonnement.

Et les deux réglages sont liés : dès qu'on touche à la pente, la meilleure origine se déplace aussi. Ici, 0,10{,}1 de pente en plus abaisse l'origine idéale de 0,80{,}8. On ne peut donc pas régler l'un puis l'autre et s'arrêter. C'est pourquoi le calcul, détaillé après l'encadré des formules, traite les deux inconnues ensemble : il annule deux dérivées partielles, en commençant par celle qui donne directement bb en fonction de aa.

Formules
y=ax+baveca=cov⁡(X,Y)V(X)etb=yˉ−axˉy = ax + b \quad \text{avec} \quad a = \frac{\operatorname{cov}(X, Y)}{V(X)} \quad \text{et} \quad b = \bar{y} - a \bar{x}

En clair : la pente aa est « la covariance divisée par la variance des xx », et elle dit de combien yy augmente quand xx augmente d'une unité. L'ordonnée à l'origine bb est « la moyenne des yy moins la pente fois la moyenne des xx » : c'est le réglage vertical qui force la droite à passer par le point moyen. La pente d'abord, la hauteur ensuite.

Trois contrôles qui ne coûtent rien.

  1. La droite passe par le point moyen G(xˉ,yˉ)G(\bar{x}, \bar{y}). C'est la conséquence directe de b=yˉ−axˉb = \bar{y} - a\bar{x}, et c'est la vérification à faire systématiquement.
  2. aa et rr ont le même signe, puisqu'ils partagent le numérateur cov⁡(X,Y)\operatorname{cov}(X, Y) et que les dénominateurs sont positifs.
  3. Calculer rr avant d'écrire la droite. Si ∣r∣|r| est faible, la droite existe quand même, elle ne sert simplement à rien, et l'écrire sans le dire est l'erreur classique.

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 tient en deux dérivations, et les suivre une fois évite de retenir deux formules par cœur.

La quantité à minimiser est une fonction des deux inconnues aa et bb :

S(a,b)=∑i=1N(yi−axi−b)2S(a, b) = \sum_{i=1}^{N} (y_i - ax_i - b)^2

En clair : pour une droite donnée, c'est-à-dire pour un couple (a,b)(a, b), la quantité axi+bax_i + b est ce que la droite prédit au point xix_i, et yi−axi−by_i - ax_i - b est donc l'écart entre l'observation et cette prédiction. On élève chaque écart au carré, on les additionne sur les NN points, et le total mesure à quel point cette droite-là rate le nuage. Chercher la meilleure droite, c'est chercher le couple (a,b)(a, b) qui rend SS le plus petit possible.

Son minimum annule ses deux dérivées partielles, chacune calculée en traitant l'autre inconnue comme une constante (voir le chapitre sur les fonctions de plusieurs variables).

Dériver par rapport à bb et annuler donne −2∑(yi−axi−b)=0-2\sum (y_i - ax_i - b) = 0, soit ∑yi=a∑xi+Nb\sum y_i = a\sum x_i + Nb. En divisant par NN : yˉ=axˉ+b\bar{y} = a\bar{x} + b, c'est-à-dire b=yˉ−axˉb = \bar{y} - a\bar{x}. C'est là, et pas ailleurs, que naît le passage de la droite par le point moyen.

Dériver par rapport à aa et annuler donne −2∑xi(yi−axi−b)=0-2\sum x_i(y_i - ax_i - b) = 0. En y remplaçant bb par yˉ−axˉ\bar{y} - a\bar{x}, chaque parenthèse devient (yi−yˉ)−a(xi−xˉ)(y_i - \bar{y}) - a(x_i - \bar{x}), d'où ∑xi(yi−yˉ)=a∑xi(xi−xˉ)\sum x_i(y_i - \bar{y}) = a\sum x_i(x_i - \bar{x}). Les écarts à la moyenne ont une somme nulle : ∑xˉ(yi−yˉ)\sum \bar{x}(y_i - \bar{y}) et ∑xˉ(xi−xˉ)\sum \bar{x}(x_i - \bar{x}) valent donc zéro, et l'on peut remplacer xix_i par xi−xˉx_i - \bar{x} devant chaque parenthèse sans changer les deux sommes. Il reste

a=∑(xi−xˉ)(yi−yˉ)∑(xi−xˉ)2=cov⁡(X,Y)V(X)a = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sum (x_i - \bar{x})^2} = \frac{\operatorname{cov}(X, Y)}{V(X)}

En clair, le numérateur est la somme des produits des deux écarts à la moyenne : c'est le mouvement commun de XX et de YY. Le dénominateur est la somme des carrés des écarts en xx seuls : c'est l'étalement de XX. La pente rapporte donc le premier au second (la seconde égalité s'obtient en divisant numérateur et dénominateur par NN). Les deux formules de l'encadré ne sont donc pas deux définitions à retenir : ce sont les deux conditions d'annulation des dérivées d'une même fonction.

Deux droites, pas une

La régression de yy en xx minimise les écarts verticaux. Celle de xx en yy minimise les écarts horizontaux : x=a′y+b′x = a'y + b' avec a′=cov⁡(X,Y)/V(Y)a' = \operatorname{cov}(X, Y)/V(Y). Les deux droites sont différentes, se croisent au point moyen, et vérifient a×a′=r2a \times a' = r^2. Elles se confondent quand ∣r∣=1|r| = 1. Il faut choisir celle qui correspond à la question : quelle variable prédit-on à partir de quelle autre ?

L'égalité a×a′=r2a \times a' = r^2 se vérifie en une ligne, et elle éclaire ce que mesure vraiment rr :

a×a′=cov⁡(X,Y)V(X)×cov⁡(X,Y)V(Y)=cov⁡(X,Y)2V(X)V(Y)=r2a \times a' = \dfrac{\operatorname{cov}(X, Y)}{V(X)} \times \dfrac{\operatorname{cov}(X, Y)}{V(Y)} = \dfrac{\operatorname{cov}(X, Y)^2}{V(X)V(Y)} = r^2

Dans le repère habituel, la droite x=a′y+b′x = a'y + b' a pour pente 1/a′1/a'. Puisque a×a′=r2≤1a \times a' = r^2 \leq 1, on a ∣a∣≤∣1/a′∣|a| \leq |1/a'| : la droite de xx en yy est toujours au moins aussi raide que celle de yy en xx. Elles se confondent exactement quand r2=1r^2 = 1. Quand r=0r = 0, l'une est horizontale (y=yˉy = \bar{y}) et l'autre verticale (x=xˉx = \bar{x}) : elles sont perpendiculaires. L'écart angulaire entre elles donne donc une lecture géométrique de la force de la corrélation : nul quand ∣r∣=1|r| = 1, droit quand r=0r = 0. Entre les deux, sa valeur dépend aussi des échelles choisies pour les axes, et ne se compare pas d'un graphique à l'autre.

Un calcul complet

Sur huit jours d'hiver, la température extérieure moyenne de la journée xx en °C et la consommation de la chaufferie d'un campus yy en MWh :

xx13579111315
yy30282421171396

Le nuage d'abord, cette fois avec sa droite et ses résidus. Sa légende en donne déjà l'équation et rr ; le calcul qui suit les retrouve à la main :

102030051015température extérieure (°C)consommation (MWh)
Les huit jours d'observation et leur droite d'ajustement. Les traits rouges sont les résidus, et c'est la somme de leurs carrés que la méthode rend minimale. Droite des moindres carrés : y = -1,786 x + 32,786, avec r = -0,998 et r² = 0,996.

Les points sont visiblement alignés et les résidus minuscules : une droite a du sens, et le calcul peut commencer. C'est cet ordre-là qu'il faut prendre, regarder puis calculer, et jamais l'inverse.

∑x=64\sum x = 64, ∑y=148\sum y = 148, ∑xy=884\sum xy = 884, ∑x2=680\sum x^2 = 680, ∑y2=3276\sum y^2 = 3276, N=8N = 8

xˉ=64/8=8\bar{x} = 64/8 = 8 et yˉ=148/8=18,5\bar{y} = 148/8 = 18{,}5

cov⁡(X,Y)=884/8−8×18,5=110,5−148=−37,5\operatorname{cov}(X, Y) = 884/8 - 8 \times 18{,}5 = 110{,}5 - 148 = -37{,}5

  • V(X)=680/8−82=85−64=21V(X) = 680/8 - 8^2 = 85 - 64 = 21, donc σ(X)≈4,583\sigma(X) \approx 4{,}583
  • V(Y)=3276/8−18,52=409,5−342,25=67,25V(Y) = 3276/8 - 18{,}5^2 = 409{,}5 - 342{,}25 = 67{,}25, donc σ(Y)≈8,201\sigma(Y) \approx 8{,}201

r=−37,5/(4,583×8,201)=−37,5/37,58≈−0,998r = -37{,}5 / (4{,}583 \times 8{,}201) = -37{,}5 / 37{,}58 \approx -0{,}998 : corrélation quasi parfaite, et négative, r2≈0,996r^2 \approx 0{,}996. Le calcul confirme ce que le nuage montrait.

a=−37,5/21≈−1,786a = -37{,}5 / 21 \approx -1{,}786 et b=18,5−(−1,786)×8≈32,79b = 18{,}5 - (-1{,}786) \times 8 \approx 32{,}79

y=−1,786x+32,79y = -1{,}786x + 32{,}79

Contrôle : pour x=8x = 8, y=−1,786×8+32,79≈18,5y = -1{,}786 \times 8 + 32{,}79 \approx 18{,}5 ✓ la droite passe bien par GG, aux arrondis près.

Interprétation métier : chaque degré de plus dehors fait économiser en moyenne environ 1,8 MWh par jour. C'est cette phrase qu'on retient, pas le coefficient.

main.py
Sortie
>_ Prêt à exécuter…
Vérification rapideon peut se reprendre

1.Pourquoi la droite des moindres carrés minimise-t-elle les carrés des écarts, et non les écarts eux-mêmes ?

2.La droite des moindres carrés passe toujours par un point particulier. Lequel ?

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
  • À 6 °C (dans la plage observée, de 1 à 15 °C), la droite prédit −1,786×6+32,79≈22,1-1{,}786 \times 6 + 32{,}79 \approx 22{,}1 MWh. C'est une interpolation, et la prédiction est légitime.
  • À 25 °C (hors plage), elle prédit −1,786×25+32,79≈−11,9-1{,}786 \times 25 + 32{,}79 \approx -11{,}9 MWh. C'est une extrapolation, et elle annonce une consommation négative, comme si la chaufferie rendait du gaz au réseau. Or, passé une vingtaine de degrés, le chauffage est coupé et la consommation reste à zéro, quelle que soit la chaleur : la relation observée entre 1 et 15 °C n'a aucune raison de se prolonger. La droite continue de calculer ; le phénomène, lui, s'est arrêté.

La figure ci-dessous ne montre que la droite, prolongée de −5 à 30 °C ; aucun jour observé n'y figure. La zone teintée sous la droite, de 1 à 15 °C, marque la plage où les huit jours ont été relevés. L'aire chiffrée que la figure affiche en dessous ne joue ici aucun rôle.

-4-224681012141618202224262830-25-20-15-10-551015202530354045température extérieure (°C)consommation (MWh)prédiction légitimeprédictionabsurde
Valeurs de f(x) sur l'intervalle [-5 ; 30]
température extérieure (°C)f
-541,716
-3,2538,5905
-1,535,465
0,2532,3395
229,214
3,7526,0885
5,522,963
622,07
7,2519,8375
916,712
10,7513,5865
12,510,461
14,257,3355
164,21
17,751,0845
19,5-2,041
21,25-5,1665
23-8,292
24,75-11,4175
25-11,864
26,5-14,543
28,25-17,6685
30-20,794
f(x) = -1.786 * x + 32.786
Aire algébrique de 1 à 15 : 258,97. Hachures montantes pour ce qui compte positivement, descendantes pour ce qui compte négativement.
La zone teintée est la seule où des données ont été observées. Au-delà, la droite continue de calculer sans que rien ne la contredise.

Ce qu'il faut regarder, c'est la bordure droite de la zone teintée. Rien n'y change : la droite la franchit sans marquer d'arrêt, garde exactement la même pente, et le point à 25 °C se pose dessus exactement comme celui à 6 °C. Le tracé ne signale donc jamais qu'on vient de sortir des données. C'est au lecteur de savoir où s'arrête la zone, et c'est pour cela qu'on écrit toujours la plage d'observation à côté de l'équation.

Une droite ne vaut que sur son domaine. Écrire toujours la plage sur laquelle l'ajustement a été construit, et refuser explicitement de prédire au-delà. C'est une phrase, et elle distingue un résultat d'un nombre.

La raison est simple : les moindres carrés minimisent l'écart sur les points fournis, et rien d'autre. En dehors, aucun point n'a jamais contredit la droite, donc rien ne l'a jamais corrigée. Son prolongement n'est pas une prédiction faible, c'est une prédiction sans information.

Un rr élevé ne protège pas de l'extrapolation

Le coefficient de corrélation mesure l'alignement des points observés. Un rr de −0,998-0{,}998 sur la plage de 1 à 15 °C ne dit strictement rien de ce qui se passe à 25 °C. Aucun indicateur calculé sur ces données ne le dirait : la seule façon de savoir est d'aller observer.

Vérification rapideon peut se reprendre

Prédire une valeur bien au-delà de la plage observée s'appelle…

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 quand on a comparé tant de paires de variables que l'une finit par sortir corrélée par chance.
Sur le relevé de la chaufferie

La consommation de la chaufferie et les ventes de boissons chaudes de la cafétéria du campus sont fortement corrélées. Aucune des deux ne cause l'autre : le froid les cause toutes les deux. Prédire la consommation à partir des ventes de boissons chaudes fonctionnerait pourtant très bien, c'est tout le paradoxe. Une corrélation suffit à prédire ; seule une causalité permet d'agir. Fermer la cafétéria ne fera pas baisser la facture de gaz.

Le quatuor d'Anscombe

Estimer avant de calculer

Quatre jeux de onze points suivent. Avant de lire les légendes placées sous les figures, qui donnent la réponse, regarder seulement les points et noter quelque part la réponse à deux questions.

  1. Les classer du plus corrélé au moins corrélé.
  2. Pour chacun, risquer une valeur de rr, même approximative, même à 0,2 près.

Deux minutes suffisent, et il faut vraiment écrire les quatre nombres : une estimation qu'on garde en tête s'ajuste toute seule à la réponse, et on croit ensuite avoir vu juste.

Sur chacune des quatre figures, ce sont les résidus, les traits rouges, qu'il faut regarder : leur longueur et surtout la façon dont elle varie le long de la droite.

4681051015xy
I. Un vrai lien affine. Le seul cas où la droite décrit vraiment le nuage. Droite des moindres carrés : y = 0,5 x + 3, avec r = 0,816 et r² = 0,667.

Les résidus sont courts, tantôt au-dessus tantôt en dessous, et sans ordre apparent. C'est exactement ce qu'on attend d'un ajustement honnête, et c'est le seul des quatre jeux où l'on voit cela.

46851015xy
II. Une courbe. Le lien est parfait, mais il n'est pas affine : c'est une parabole. Droite des moindres carrés : y = 0,5 x + 3,001, avec r = 0,816 et r² = 0,666.

Ici les résidus ont un ordre : négatifs aux deux bouts, positifs au milieu. Ce n'est pas du hasard qui se répartit, c'est une forme que la droite n'a pas captée. Dès qu'un résidu se devine à partir de la position du point, il reste un modèle à trouver.

51051015xy
III. Une valeur aberrante. Dix points parfaitement alignés, et un seul qui incline la droite à lui tout seul. Droite des moindres carrés : y = 0,5 x + 3,002, avec r = 0,816 et r² = 0,666.

Un seul résidu est long, tous les autres sont minuscules. C'est la signature d'une valeur aberrante : il faut aller voir d'où vient ce point, et si la droite calculée sans lui n'est pas la vraie réponse.

510101520xy
IV. Un point de levier. Aucune information sur la pente : dix points à x = 8, et un onzième qui décide de tout. Droite des moindres carrés : y = 0,5 x + 3,002, avec r = 0,817 et r² = 0,667.

Cette fois, c'est l'axe des abscisses qu'il faut regarder : dix points occupent la même verticale, un seul est ailleurs. Une pente se mesure entre deux abscisses différentes ; il n'y en a ici que deux en tout, donc la droite relie le nuage vertical au point isolé, et rien d'autre. Déplacer ce point d'un centimètre déplace toute la droite.

Reprendre les quatre estimations. Les quatre jeux ont la même moyenne, la même variance, la même corrélation r≈0,816r \approx 0{,}816 et la même droite de régression y=0,5x+3y = 0{,}5x + 3, aux arrondis près.

Le classement n'avait donc rien à classer, et c'est tout l'intérêt de l'avoir écrit. Quatre nuages qui n'ont visiblement rien à voir rendent exactement les mêmes indicateurs. Aucun des nombres de ce chapitre ne distingue une droite d'une parabole, ni un vrai lien d'un point isolé qui décide de tout.

D'où la règle qu'établit le chapitre sur les deux variables, et qui ne souffre pas d'exception : le nuage se regarde avant que l'indicateur se calcule. Un rr de 0,816 rapporté sans figure est une affirmation invérifiable.

Les quatre figures ci-dessus s'affichent instantanément. Le bloc suivant refait le même travail en Python, pour qui veut la manière de le produire plutôt que le résultat.

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

Ce que montre le quatuor. Seul le premier jeu justifie une droite. Les trois autres appellent trois réponses différentes : un modèle du second degré, une enquête sur le point douteux, des observations à d'autres abscisses.

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.

Vérification rapideon peut se reprendre

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

2.Sur un nuage, les résidus sont négatifs aux deux bouts et positifs au milieu. Que conclure ?

3.Une corrélation forte entre deux variables prouve…

L'analyse complète sur le relevé de la chaufferie

Voici la démarche de bout en bout, avec les bibliothèques pandas et scipy (voir les chapitres pandas et SciPy). Trois temps : matrice de corrélation pour repérer les variables qui comptent, régression sur celle qui compte le plus, résidus pour vérifier que le modèle tient. Les données sont simulées, mais construites comme un vrai relevé : 240 jours de saison de chauffe, avec la température extérieure, l'ensoleillement en heures, le vent en km/h et la consommation de la chaufferie en MWh.

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

Ce que le code affiche se lit ligne à ligne. Dans la matrice, la colonne consommation donne r≈−0,815r \approx -0{,}815 avec la température, r≈−0,359r \approx -0{,}359 avec l'ensoleillement et r≈0,018r \approx 0{,}018 avec le vent : la température domine, l'ensoleillement compte aussi, le vent ne compte pas. La régression sur la température seule donne y≈−1,82x+28,2y \approx -1{,}82x + 28{,}2, soit environ 1,8 MWh de moins par degré, la pente déjà trouvée sur les huit journées, avec r2≈0,665r^2 \approx 0{,}665 : la température explique 66 % de la variance de la consommation, sur une plage de −4,1 à 15,0 °C. D'après le tableau des lectures de rr, la corrélation est forte et l'ajustement a du sens. La droite laisse pourtant de côté un tiers du phénomène, dont l'effet de l'ensoleillement, qu'aucune droite à une seule variable ne peut capter.

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 xx 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.

Le mot « entonnoir » demande à être vu. Sur le nuage ci-dessous, la droite est correcte et le coefficient de corrélation est honorable (r≈0,91r \approx 0{,}91) ; ce sont les résidus qui trahissent le problème, courts à gauche et longs à droite.

01020300510charge du serveurtemps de réponse (ms)
Une dispersion qui croît avec x. La droite reste la meilleure au sens des moindres carrés, mais elle prédit bien à gauche et mal à droite : une prévision unique ne vaut rien sans son incertitude, et celle-ci n'est pas constante. Droite des moindres carrés : y = 2,188 x − 0,412, avec r = 0,906 et r² = 0,82.
Ce que l'entonnoir interdit

Annoncer « le temps de réponse à charge 12 sera de 26 ms », la valeur que donne la droite, suppose que l'erreur soit la même partout. Ici elle ne l'est pas : à charge faible, de 1 à 4, les résidus ne dépassent pas une demi-milliseconde ; à charge forte, de 9 à 12, ils vont de quatre à plus de six millisecondes. La droite reste utilisable pour décrire une tendance, jamais pour donner une prévision ponctuelle sans intervalle. La parade usuelle consiste à travailler sur le logarithme de la variable expliquée, ce qui stabilise souvent la dispersion.

La méthode

  1. Tracer le nuage. Toujours, et avant tout calcul.
  2. Calculer le point moyen G(xˉ,yˉ)G(\bar{x}, \bar{y}) : il servira de contrôle.
  3. Calculer cov⁡\operatorname{cov}, V(X)V(X), V(Y)V(Y) avec la forme « moyenne des produits moins produit des moyennes ».
  4. Calculer rr avant la droite, et justifier que l'ajustement affine est légitime.
  5. Écrire la droite a=cov⁡/V(X)a = \operatorname{cov}/V(X), b=yˉ−axˉb = \bar{y} - a\bar{x}, et vérifier qu'elle passe par GG.
  6. Donner r2r^2 en pourcentage : c'est le chiffre qui parle.
  7. Regarder les résidus. Informes, le modèle tient ; en courbe, il faut un autre modèle ; en entonnoir, aucune prévision ponctuelle sans son incertitude.
  8. Préciser le domaine de validité et refuser d'extrapoler au-delà.
  9. Ne jamais conclure à une causalité. Écrire explicitement la variable cachée possible.

Mettre en pratique

Covariance, corrélation et pente se calculent sur cinq points en trois minutes. Les faire une fois à la main est ce qui rend lisible ce qu'un logiciel affiche ensuite.

Cinq points, trois quantités

  • 1.

    Cinq relevés d'un gymnase donnent des températures extérieures de 2, 4, 6, 8 et 10 degrés, et des consommations de chauffage de 520, 460, 450, 390 et 330 kWh. Quelle est la moyenne des températures ?

  • 2.

    Quelle est la moyenne des consommations ?

  • 3.

    La somme des produits des écarts aux moyennes vaut −900. Quelle est la covariance ?

  • 4.

    La somme des carrés des écarts de température vaut 40. Quelle est la pente de la droite des moindres carrés ?

  • 5.

    La somme des carrés des écarts de consommation vaut 21 000. Quel est le coefficient de corrélation ?

  • 6.

    Quel pourcentage de la variance de la consommation la température explique-t-elle ?

  • 7.

    Sur les cinq points de la parabole, d'abscisses −2, −1, 0, 1 et 2 et d'ordonnées 4, 1, 0, 1 et 4, combien vaut la somme des produits des écarts aux moyennes ?

La dernière réponse est celle qui compte. Cinq points posés exactement sur une parabole donnent une somme nulle, donc un coefficient de corrélation nul, alors que yy est entièrement déterminé par xx. Le nombre ne s'est pas trompé : il ne mesure que l'alignement, et il n'a jamais prétendu mesurer autre chose. C'est tout l'argument du nuage tracé avant le calcul.

Interpréter r=−0,95r = -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 xˉ=10\bar{x} = 10, yˉ=25\bar{y} = 25, cov⁡(X,Y)=12\operatorname{cov}(X, Y) = 12, V(X)=8V(X) = 8

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

b=25−1,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,6r = 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,9r = 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 relevé de la chaufferie, la corrélation entre le vent et la consommation vaut environ 0,0180{,}018. Que fait-on de cette variable ?

r2≈0,0003r^2 \approx 0{,}0003 : le vent explique environ 0,03 % de la variance de la consommation. Autant dire rien.

On l'écarte du modèle, en le disant : « le vent n'a pas d'effet linéaire détectable sur ces 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 50 km/h et des pertes par infiltration d'air nettement plus fortes au-dessus, qu'un nuage de points révélerait. Et la plage d'observation ne contient peut-être aucune journée de tempête.

Pourquoi la droite de yy en xx diffère-t-elle de celle de xx en yy ?

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 : choisir la droite selon la variable qu'on veut prédire. Pour estimer la consommation à partir de la température, c'est la régression de yy en xx.

Chapitre révisé en octobre 2026 · Une erreur dans ce chapitre ?

Dans la bibliothèque d'exercices