Analysis/docs/CORRELATION_GUIDE.md
2026-01-11 22:56:02 +01:00

15 KiB

Guide Complet de la Corrélation

📊 Comprendre et maîtriser l'analyse de corrélation pour identifier les relations entre variables et construire des modèles robustes.


Table des Matières

  1. Qu'est-ce que la Corrélation ?
  2. Les Trois Méthodes
  3. Interpréter la Matrice
  4. Multicolinéarité
  5. P-Values et Significativité
  6. Bonnes Pratiques
  7. Exemples Concrets

Qu'est-ce que la Corrélation ?

Définition

La corrélation mesure la force et la direction de la relation linéaire entre deux variables quantitatives.

Coefficient de Corrélation

Le coefficient de corrélation r varie entre -1 et +1 :

-1 ←----------|----------|----------|----------→ +1
    négatif                    positif
    fort                       fort

Interprétation Générale

Valeur r Force Direction Signification
0.9 à 1.0 Très forte Positive X↑ ⇒ Y↑ fortement
0.7 à 0.9 Forte Positive X↑ ⇒ Y↑
0.5 à 0.7 Modérée Positive X↑ ⇒ Y↑ modérément
0.3 à 0.5 Faible Positive X↑ ⇒ Y↑ légèrement
0.0 à 0.3 Très faible Positive Relation quasi nulle
0.0 Aucune - Indépendance linéaire
-0.3 à 0.0 Très faible Négative X↑ ⇒ Y↓ légèrement
-0.5 à -0.3 Faible Négative X↑ ⇒ Y↓
-0.7 à -0.5 Modérée Négative X↑ ⇒ Y↓ modérément
-0.9 à -0.7 Forte Négative X↑ ⇒ Y↓
-1.0 à -0.9 Très forte Négative X↑ ⇒ Y↓ fortement

Exemples Visuels

Corrélation Positive Forte (r = 0.95)

┌─────┐
│ Y   │    •
│     │   •
│     │  •
│     │ •
│     │•
└─────┴─────→ X

Exemple : Taille vs Poids (plus grand = plus lourd)

Corrélation Négative Forte (r = -0.90)

┌─────┐
│ Y   │•
│     │ •
│     │  •
│     │   •
│     │    •
└─────┴─────→ X

Exemple : Vitesse vs Temps (plus vite = moins de temps)

Corrélation Nulle (r = 0.02)

┌─────┐
│ Y   │  •   •    •
│     │•     •
│     │   •    •
│     │ •      •
│     │•   •
└─────┴─────→ X

Exemple : Taille vs Note en mathématiques


Les Trois Méthodes

L'application propose 3 méthodes de calcul de corrélation :

1. Pearson (Défaut)

Quand l'utiliser ?

  • Données normalement distribuées
  • Relation linéaire
  • Variables continues

Hypothèses :

  • Distribution normale (pas trop asymétrique)
  • Pas d'outliers extrêmes
  • Relation linéaire

Formule :

          Σ[(Xi - X̄)(Yi - Ȳ)]
r = ----------------------------
    √[Σ(Xi - X̄)²] √[Σ(Yi - Ȳ)²]

Exemple :

# Température vs Vent (relation linéaire, normale)
# Corrélation de Pearson : r = 0.85 (forte positive)

2. Spearman

Quand l'utiliser ?

  • Données non-paramétriques (pas normales)
  • Relation monotone (pas forcément linéaire)
  • Présence d'outliers
  • Variables ordinales (rangs)

Hypothèses :

  • Relation monotone (toujours dans le même sens)
  • Moins sensible aux outliers

Principe : Convertit les données en rangs avant calcul.

Exemple :

# Revenu vs Satisfaction (relation monotone mais non linéaire)
# Revenu:    [1000, 2000, 5000, 10000, 50000]
# Rangs:     [1,    2,    3,    4,     5]
# Corrélation de Spearman : r = 0.90

Différence Pearson vs Spearman :

Pearson (linéaire) :
    •
   •
  •
 •
•

Spearman (monotone) :
    •
   •
  •
 •
    •

3. Kendall (Tau)

Quand l'utiliser ?

  • Petits échantillons (n < 30)
  • Beaucoup de valeurs identiques (ex-aequo)
  • Données ordinales

Hypothèses :

  • Mesure la concordance des paires

Principe : Compte les paires concordantes vs discordantes.

Exemple :

# Classement vs Préférence (10 étudiants)
# Kendall Tau = 0.67 (modéré)

Interpréter la Matrice

Structure de la Heatmap

          Var1    Var2    Var3    Var4
        ┌───────┬───────┬───────┬───────┐
  Var1  │  1.00 │  0.85 │ -0.30 │  0.15 │
        ├───────┼───────┼───────┼───────┤
  Var2  │  0.85 │  1.00 │ -0.20 │  0.45 │
        ├───────┼───────┼───────┼───────┤
  Var3  │ -0.30 │ -0.20 │  1.00 │  0.92 │  ← Multicolinéarité
        ├───────┼───────┼───────┼───────┤
  Var4  │  0.15 │  0.45 │  0.92 │  1.00 │
        └───────┴───────┴───────┴───────┘

Lecture de la Heatmap

Couleurs

  • Rouge foncé (r > 0.7) : Forte corrélation positive
  • Rouge clair (0.3 < r < 0.7) : Corrélation modérée/positive
  • Gris/Blanc (|r| < 0.3) : Corrélation faible/nulle
  • Bleu clair (-0.7 < r < -0.3) : Corrélation modérée/négative
  • Bleu foncé (r < -0.7) : Forte corrélation négative

Bordure Rouge ⚠️

  • Indique une multicolinéarité problématique (|r| ≥ 0.7)
  • Entre deux prédicteurs (variables X)
  • À éviter dans la régression

Diagonale

  • Toujours égale à 1.00 (corrélation de la variable avec elle-même)
  • Non pertinente pour l'analyse

Multicolinéarité

Définition

La multicolinéarité se produit lorsque deux ou plusieurs prédicteurs sont fortement corrélés entre eux (|r| ≥ 0.7).

Pourquoi c'est Problématique ?

Effets sur la Régression :

  • Coefficients instables (varient beaucoup)
  • p-values peu fiables
  • Difficulté d'interpréter l'effet isolé de chaque variable
  • artificiellement élevé

Exemple de Multicolinéarité

# Dataset : Prix immobiliers
# Variables :
# - Surface_m²
# - Surface_pieds² (même variable, unité différente)
# - Prix

# Corrélation Surface_m² vs Surface_pieds² : r = 1.0
# ⚠️ BORDURE ROUGE sur la heatmap

# Problème dans la régression :
# Prix = 50000 + 1000*Surface_m² - 200*Surface_pieds²
#        ^^^^^   coefficient positif    ^^^^^^^^ coefficient négatif ???
#        absurde ! (les deux expliquent la même chose)

Détection

Dans l'application :

  1. Ouvrez la matrice de corrélation
  2. Recherchez les bordures rouges entre prédicteurs
  3. Notez les variables concernées

Solution

Option 1 : Supprimer une variable

# Avant : Surface_m² (r=1.0) vs Surface_pieds²
# Solution : Garder Surface_m², supprimer Surface_pieds²

Option 2 : Combiner les variables

# Avant : Note_Maths, Note_Physique, Note_Chimie (toutes corrélées)
# Solution : Créer "Note_Scientifique" = moyenne des trois

Option 3 : Analyse de corrélation partielle Utiliser des techniques avancées (hors scope du guide)

Checklist Avant Régression

Avant de lancer votre régression, vérifiez :

Aucune bordure rouge entre les prédicteurs potentiels Si bordure rouge : choisissez la variable la plus corrélée avec la cible Documentez votre choix de retrait de variable


P-Values et Significativité

Qu'est-ce que la P-Value ?

La p-value mesure la probabilité que la corrélation observée soit due au hasard.

  • p-value < 0.05 : Corrélation statistiquement significative (fiable)
  • p-value ≥ 0.05 : Corrélation non significative (pourrait être due au hasard)

Interprétation

Corrélation (r) P-Value Interprétation
0.85 p < 0.001 Forte et significative
0.60 p = 0.040 Modérée et significative
0.75 p = 0.080 ⚠️ Forte mais NON significative (échantillon trop petit)
0.30 p = 0.200 Faible et non significative

Impact de la Taille d'Échantillon

Pour r = 0.30 :

n = 10   → p = 0.40 (non significatif)
n = 50   → p = 0.03 (significatif)
n = 100  → p = 0.002 (très significatif)

Règle : Plus l'échantillon est grand, plus les petites corrélations deviennent significatives.

Filtre "Significatif Seulement"

Dans l'application :

  • Cochez "Significatif seulement (p < 0.05)"
  • La heatmap n'affiche que les corrélations statistiquement fiables
  • Utile pour filtrer le bruit

Bonnes Pratiques

1. Vérifier les Hypothèses

Pour Pearson :

# Test de normalité (Shapiro-Wilk)
from scipy.stats import shapiro

stat, p = shapiro(data['variable'])
if p > 0.05:
    print("Distribution normale → Pearson OK")
else:
    print("Distribution non normale → Utiliser Spearman")

Vérification visuelle :

import matplotlib.pyplot as plt
plt.hist(data['variable'])
plt.show()
# Forme de cloche = normale

2. Traiter les Outliers

Les outliers faussent fortement la corrélation Pearson :

# Sans outlier : r = 0.95
X = [1, 2, 3, 4, 5]
Y = [2, 4, 6, 8, 10]

# Avec outlier : r = 0.40
X = [1, 2, 3, 4, 100]  # 100 est outlier
Y = [2, 4, 6, 8, 10]

# Solution : utiliser Spearman (robuste aux outliers)
# Ou supprimer l'outlier

3. Corrélation ≠ Causalité

⚠️ Attention : Une corrélation forte n'implique PAS que X cause Y.

Exemples classiques :

  • 🍦 Ventes de glace vs 🦈 Attaques de requins

    • Corrélation : r = 0.90
    • Cause commune : 🌞 Été (chaleur)
    • Solution : Pas de causalité directe
  • Café vs 💰 Revenu

    • Corrélation : r = 0.75
    • Explication : Les riches boivent plus de café (ou l'inverse ?)
    • Nécessite une expérience contrôlée

4. Corrélation de Spearman pour les Relations Non-Linéaires

# Relation exponentielle
X = [1, 2, 3, 4, 5]
Y = [1, 4, 9, 16, 25]  # Y = X²

# Pearson : r = 0.97 (mais PAS linéaire !)
# Spearman : r = 1.00 (monotone parfaite)

5. Matrice de Corrélation Avant Régression

Workflow recommandé :

1. Charger les données
   ↓
2. Matrice de corrélation
   ↓
3. Identifier les variables fortement corrélées avec la cible (|r| > 0.5)
   ↓
4. Repérer la multicolinéarité entre prédicteurs (bordure rouge)
   ↓
5. Sélectionner les prédicteurs finaux (pas de multicolinéarité)
   ↓
6. Régression

Exemples Concrets

Exemple 1 : Immobilier

Dataset : Prix, Surface, Chambres, Jardin, Garage, Distance_Centre

Matrice de corrélation :

                    Prix   Surface Chambres Jardin Garage Distance
Prix               1.00    0.85    0.65    0.70   0.55   -0.75
Surface            0.85    1.00    0.72    0.60   0.50   -0.40
Chambres           0.65    0.72    1.00    0.45   0.35   -0.25
Jardin             0.70    0.60    0.45    1.00   0.30   -0.50
Garage             0.55    0.50    0.35    0.30   1.00   -0.20
Distance          -0.75   -0.40   -0.25   -0.50  -0.20    1.00

Analyse :

  1. Variables corrélées avec le Prix :

    • Surface : r = 0.85 (très forte)
    • Distance : r = -0.75 (forte négative)
    • Jardin : r = 0.70 (forte)
    • Chambres : r = 0.65 (modérée)
  2. Multicolinéarité :

    • Surface vs Chambres : r = 0.72 ⚠️ (proche du seuil)
    • Si r > 0.7 : choisir une seule variable
  3. Sélection finale :

    • X = Surface, Distance, Jardin
    • Éviter Chambres (multicolinéarité avec Surface)

Exemple 2 : Santé

Dataset : IMC, Tension, Cholestérol, Âge, Sport, Calories

Matrice (Spearman) :

                IMC   Tension Cholestérol Âge   Sport Calories
IMC            1.00    0.55    0.48       0.30  -0.60   0.70
Tension        0.55    1.00    0.65       0.45  -0.40   0.50
Cholestérol    0.48    0.65    1.00       0.60  -0.35   0.45
Âge            0.30    0.45    0.60       1.00  -0.25   0.20
Sport         -0.60   -0.40   -0.35      -0.25   1.00  -0.50
Calories       0.70    0.50    0.45       0.20  -0.50   1.00

Analyse :

  • Prédicteurs du Tension : Cholestérol (0.65), IMC (0.55)
  • Multicolinéarité : IMC vs Calories (0.70) ⚠️
  • Action : Garder IMC (plus corrélé avec Tension), exclure Calories

Exemple 3 : Marketing

Dataset : Ventes, Budget_TV, Budget_Radio, Budget_Online, Prix, Concurrence

Matrice :

                Ventes Budget_TV Budget_Radio Budget_Online Prix   Concurrence
Ventes         1.00    0.80      0.45         0.72          -0.60  -0.40
Budget_TV      0.80    1.00      0.30         0.55          -0.20  -0.10
Budget_Radio   0.45    0.30      1.00         0.35          -0.15  -0.05
Budget_Online  0.72    0.55      0.35         1.00          -0.25  -0.15
Prix          -0.60   -0.20     -0.15        -0.25          1.00   0.20
Concurrence   -0.40   -0.10     -0.05        -0.15          0.20   1.00

Décisions :

  1. Meilleur canal : TV (r = 0.80)
  2. Deuxième : Online (r = 0.72)
  3. Radio : Moins efficace (r = 0.45)
  4. Pas de multicolinéarité sévère entre canaux
  5. Sélection : Budget_TV, Budget_Online, Prix, Concurrence

📊 Fonctionnalités de l'Application

Contrôles

  1. Sélection de la méthode

    • Menu déroulant : Pearson / Spearman / Kendall
    • Défaut : Pearson
  2. Seuil minimum

    • Filtre les corrélations faibles
    • Exemple : 0.5 n'affiche que |r| ≥ 0.5
  3. Filtre de significativité

    • Cochez "Significatif seulement"
    • Garantit p < 0.05
  4. Export CSV

    • Téléchargez la matrice complète
    • Inclut corrélations et p-values

Composants Visuels

Cartes de Résumé

  • Corrélations les plus fortes : Top 5 par |r|
  • Corrélations les plus faibles : Bottom 5 non nulles

Tooltip (Survol)

Cliquez sur une case pour voir :

  • Noms des variables
  • Coefficient de corrélation
  • P-value
  • Significativité (/)
  • Interprétation (Fort/Moyen/Faible)

🎯 Checklist d'Analyse

Avant de passer à la régression :

  • Méthode choisie selon la distribution des données
  • Corrélations avec la cible identifiées (|r| > 0.5 souhaité)
  • Multicolinéarité vérifiée (pas de bordure rouge entre prédicteurs)
  • P-values significatives (p < 0.05)
  • Outliers traités (si Pearson)
  • Variables sélectionnées documentées
  • Résultats exportés pour référence future

Version : 1.0 Projet : Application d'Analyse de Données Auteur : Documentation Utilisateur

🔗 Voir aussi : Guide Régression | Guide Outliers