Corrélation et covariance
Corrélations de Pearson et de Spearman, matrice de covariance et interprétation de la corrélation dans le contexte de l’apprentissage automatique.
Corrélation et covariance est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.
Mesurer les relations
La covariance et la corrélation quantifient la manière dont deux variables évoluent ensemble. Elles sont à la base de la sélection des caractéristiques, de la théorie des portefeuilles et de l’analyse exploratoire.
Covariance
La covariance est positive lorsque les variables augmentent ensemble, et négative lorsque l’une augmente tandis que l’autre diminue. Son amplitude dépend des unités, ce qui rend la covariance brute difficile à interpréter.
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 5, 4, 6])
print(np.cov(x, y, ddof=1)) # 2x2 covariance matrixLa matrice de covariance
np.cov renvoie une matrice : la diagonale contient les variances, et les autres éléments la covariance entre les paires. Cette matrice se généralise à de nombreuses variables et constitue le fondement de PCA.
data = np.array([[1, 2, 3], [2, 4, 5], [3, 6, 7]], dtype=float)
print(np.cov(data.T)) # 3x3 covariance matrix of the columnsCorrélation : covariance mise à l’échelle
La corrélation de Pearson ramène la covariance à l’intervalle de -1 à 1 en la divisant par le produit des écarts types. Elle est donc sans unité et comparable.
print(np.corrcoef(x, y)) # 2x2 correlation matrix, diagonal is 1Lire une corrélation
+1 représente une relation linéaire positive parfaite, -1 une relation négative parfaite et 0 l’absence de relation LINEAR. Des valeurs proches de 0 peuvent malgré tout dissimuler une forte relation non linéaire.
La corrélation dans pandas
df.corr() calcule simultanément les corrélations par paires entre toutes les colonnes numériques : c’est le moyen le plus rapide d’explorer les relations dans un jeu de données.
import pandas as pd
df = pd.DataFrame({"a": [1,2,3,4,5], "b": [2,4,5,4,6], "c": [9,7,6,5,3]})
print(df.corr()) # Pearson by defaultPearson ou Spearman
Pearson mesure une association LINEAR sur les valeurs brutes. Spearman s'appuie sur les RANKS, ce qui lui permet de détecter toute relation monotone et de résister aux valeurs aberrantes.
from scipy import stats
x = np.array([1, 2, 3, 4, 100])
y = np.array([1, 2, 3, 4, 5])
print(stats.pearsonr(x, y).statistic) # distorted by outlier
print(stats.spearmanr(x, y).statistic) # 1.0 (perfectly monotonic)Choisir la méthode
df.corr(method="spearman") fait passer pandas à la corrélation de rangs. Préférez Spearman en présence de valeurs aberrantes ou de relations non linéaires mais monotones, et Pearson pour des données linéaires propres.
print(df.corr(method="spearman"))La corrélation n'est NOT pas la causalité
Une forte corrélation ne signifie pas qu'une variable cause l'autre. Un facteur de confusion caché peut être à l'origine des deux. Demandez-vous toujours ce qui pourrait expliquer autrement ce lien.
Corrélation fallacieuse
Avec suffisamment de variables, certaines seront corrélées par pur hasard. Les ventes de glaces et les noyades sont corrélées, car toutes deux sont favorisées par la chaleur estivale, et non l'une par l'autre. Considérez les corrélations inattendues avec scepticisme.
Visualiser avec une carte thermique
Une carte thermique des corrélations fait ressortir les tendances. Les paires de variables fortement corrélées peuvent être redondantes et candidates à la suppression avant la modélisation.
# import seaborn as sns
# sns.heatmap(df.corr(), annot=True, cmap="coolwarm")Vérification rapide
Vérifiez vos connaissances sur les corrélations.
Récapitulatif
Boîte à outils des corrélations :
- La covariance indique la direction, mais dépend des unités ;
np.covfournit la matrice - La corrélation est redimensionnée sur l'intervalle -1..1 :
np.corrcoef,df.corr() - Pearson (linéaire) ou Spearman (rang, robuste, monotone)
- La corrélation n'est pas la causalité ; méfiez-vous des facteurs de confusion et des liens fallacieux
Questions Fréquemment Posées
La leçon « Corrélation et covariance » est-elle gratuite ?
Oui — le texte complet de « Corrélation et covariance » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Corrélation et covariance » ?
Corrélations de Pearson et de Spearman, matrice de covariance et interprétation de la corrélation dans le contexte de l’apprentissage automatique. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn AI with Python ?
Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Corrélation et covariance » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?
Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Statistiques descriptives et distributions
- Probabilités et théorème de Bayes
- Tests d’hypothèses
- Corrélation et covariance