Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 3 · Lien entre deux variables

Covariance, corrélation de Pearson et droite de régression

Taille et poids, temps d'entraînement et performance, âge et salaire : on observe deux variables sur les mêmes individus et on se demande : quand l'une augmente, que fait l'autre ? Toujours commencer par un nuage de points.

La covariance

Cov(X,Y)=1n∑i=1n(xi−xˉ)(yi−yˉ)\text{Cov}(X,Y) = \frac{1}{n}\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})

On compare les écarts à la moyenne : si xi−xˉx_i-\bar{x} et yi−yˉy_i-\bar{y} ont le même signe, le produit est positif ; sinon il est négatif. Majorité de produits positifs : covariance positive ; majorité de négatifs : covariance négative ; pas de lien clair : covariance ≈0\approx 0.

Exemple : x = [1, 2, 3], y = [2, 4, 5]. Moyennes : 22 et 11/3≈3,66711/3 \approx 3{,}667. Produits : (−1)(−1,667)+0+(1)(1,333)=3(-1)(-1{,}667) + 0 + (1)(1{,}333) = 3, d'où Cov=3/3=1\text{Cov} = 3/3 = 1 (population, bias=True). Avec np.cov(x, y) par défaut (diviseur n−1n-1), on obtient 1,51{,}5.

Problème majeur : la covariance dépend des unités (cm × kg, heures × points). On ne peut pas dire si elle est « forte » ou « faible ».

Vérifie que tu as compris

np.cov(x, y)[0, 1] sans option donne 1,5 pour x = [1, 2, 3] et y = [2, 4, 5]. Pourquoi pas 1 ?

La corrélation de Pearson

La corrélation est une covariance rendue sans unité : on divise par les écarts-types.

r=Cov(X,Y)σX σY,−1≤r≤1r = \frac{\text{Cov}(X,Y)}{\sigma_X\,\sigma_Y}, \qquad -1 \le r \le 1
Valeur de rrInterprétation
proche de +1+1lien linéaire fort positif (croissant)
proche de −1-1lien linéaire fort négatif (décroissant)
proche de 00pas de lien linéaire
r proche de +1 r proche de -1 r proche de 0

Pour l'exemple précédent : σX≈0,816\sigma_X \approx 0{,}816, σY≈1,247\sigma_Y \approx 1{,}247, donc r=10,816×1,247≈0,98r = \frac{1}{0{,}816\times 1{,}247} \approx 0{,}98 : lien linéaire positif très fort. Autres exemples : r=0,92r=0{,}92 lien très fort positif ; r=−0,45r=-0{,}45 lien négatif modéré ; r=0r=0 pas de lien linéaire détectable. En Python : np.corrcoef(x, y)[0, 1].

Lien avec la leçon précédente : si XX et YY sont centrées-réduites, alors Cov(X,Y)=r\text{Cov}(X,Y) = r. D'où le rôle central de la corrélation en ACP.

Vérifie que tu as compris

Deux variables centrées-réduites ont une covariance de 0,8. Que vaut leur corrélation de Pearson ?

Vérifie que tu as compris

Vrai ou faux : « r = 0 » prouve qu'il n'existe aucun lien entre les deux variables.

Corrélation n'est pas causalité

Une forte corrélation décrit un lien, pas une cause (températures et ventes de glaces, nombre de pompiers et dégâts). On vérifie le nuage de points, le contexte métier et la plausibilité causale. Ex. : r=0,95r = 0{,}95 n'implique aucune causalité.

Régression linéaire (aperçu)

On cherche la meilleure droite y=ax+by = ax + b qui approxime la relation. La pente aa est la variation moyenne de yy quand xx augmente de 1 (NumPy : np.polyfit(x, y, 1)). Le résidu d'un point est l'erreur du modèle : yi−y^iy_i - \hat{y}_i. Résidus centrés autour de 0 : bon modèle ; structure visible : modèle inadapté ; résidus très grands : valeurs atypiques.

(Ajout hors cours) Pour la droite des moindres carrés, la pente se calcule par a=Cov(X,Y)σX2a = \frac{\text{Cov}(X,Y)}{\sigma_X^2} et b=yˉ−axˉb = \bar{y} - a\bar{x}. Pour x = [1..7] et y = [10, 12, 15, 18, 19, 22, 24] (nuage du cours), on trouve a≈2,36a \approx 2{,}36 et r≈0,997r \approx 0{,}997.

La corrélation mesure l'intensité du lien, la régression fournit un modèle prédictif.

Vérifie que tu as compris

Une pente a = 2,1 dans une régression « performance en fonction des heures d'entraînement » signifie…