Test de Spearman
Le test de Spearman, ou corrélation de rang de Spearman, est un test non paramétrique qui mesure la force et la direction d’une relation monotone entre deux variables. Contrairement au test de Pearson, qui évalue la relation linéaire, le test de Spearman est utilisé pour détecter des relations monotones, qu’elles soient linéaires ou non.
Hypothèses du Test de Spearman
-
Hypothèse nulle (H₀) : Il n’y a pas de relation monotone entre les deux variables.
-
Hypothèse alternative (H₁) : Il existe une relation monotone entre les deux variables.
Coefficient de Corrélation de Spearman (ρ)
Le coefficient de corrélation de Spearman (ρ) mesure la force et la direction d’une relation monotone entre deux variables en utilisant les rangs des données plutôt que les valeurs elles-mêmes.
La formule pour calculer
est :
où :
-
est la différence entre les rangs de chaque paire de valeurs
,
-
est le nombre d’observations.
Interprétation du Coefficient de Corrélation de Spearman
-
ρ = 1 : Relation monotone parfaitement positive.
-
ρ = -1 : Relation monotone parfaitement négative.
-
ρ = 0 : Aucune relation monotone.
-
Les valeurs proches de 1 ou -1 indiquent une forte relation monotone, tandis que les valeurs proches de 0 suggèrent une relation faible ou absente.
Interprétation de la Valeur p du Test de Spearman
-
Valeur p faible (p < α) : Rejet de l’hypothèse nulle, ce qui signifie qu’il existe une relation monotone significative entre les deux variables.
-
Valeur p élevée (p ≥ α) : Acceptation de l’hypothèse nulle, ce qui indique qu’il n’y a pas de relation monotone significative entre les deux variables.
Fonctions :
-
stats.spearmanr()
La fonction stats.spearmanr() de SciPy calcule le coefficient de corrélation de Spearman, qui évalue la relation monotone entre deux variables. Contrairement au coefficient de corrélation de Pearson, qui mesure la corrélation linéaire, le coefficient de Spearman peut capturer des relations monotones, qu'elles soient linéaires ou non. Il est basé sur les rangs des valeurs plutôt que sur les valeurs elles-mêmes. Cette méthode est utile lorsque les données ne suivent pas une distribution normale ou lorsqu'il existe des relations non linéaires entre les variables.
Importation :
from scipy import stats
Attributs :
Nom Type Description x array-like Un tableau de données représentant la première variable. y array-like Un tableau de données représentant la deuxième variable à comparer avec la première. alternative str, optionnel Spécifie l'hypothèse alternative. Les options sont "two-sided", "greater", et "less". Par défaut, il est fixé à "two-sided". Exemple de code :
from scipy import stats import numpy as np # Création de deux variables x et y x = np.array([1, 2, 3, 4, 5]) y = np.array([5, 4, 3, 2, 1]) # Calcul du coefficient de corrélation de Spearman et de la p-valeur corr_coefficient, p_value = stats.spearmanr(x, y) # Affichage des résultats print(f'Coefficient de corrélation de Spearman: {corr_coefficient}') print(f'P-valeur: {p_value}')
Explication du code :
from scipy import stats
importe le module stats de la bibliothèque scipy, qui contient des fonctions statistiques permettant de réaliser des tests de corrélation, d'hypothèses et d'autres analyses statistiques.import numpy as np
importe la bibliothèque numpy, renommée ici ennp
, utilisée pour manipuler des tableaux (arrays) et effectuer des calculs numériques rapides et efficaces.Création de deux variables x et y
x = np.array([1, 2, 3, 4, 5])
crée un tableaux
contenant les valeurs [1, 2, 3, 4, 5], représentant les données de la première variable.y = np.array([5, 4, 3, 2, 1])
crée un tableauy
contenant les valeurs [5, 4, 3, 2, 1], représentant les données de la deuxième variable.Calcul du coefficient de corrélation de Spearman et de la p-valeur
corr_coefficient, p_value = stats.spearmanr(x, y)
applique le test de corrélation de Spearman entre les variablesx
ety
. La corrélation de Spearman est une mesure de la relation monotone entre deux variables. Elle évalue si, lorsque l'une des variables augmente, l'autre augmente ou diminue de manière régulière, indépendamment de la linéarité. Elle est moins sensible aux valeurs extrêmes que le coefficient de Pearson. Ce test retourne deux valeurs :corr_coefficient
, le coefficient de corrélation de Spearman, etp_value
, la p-valeur associée au test.Affichage des résultats
print(f'Coefficient de corrélation de Spearman: {corr_coefficient}')
affiche la valeur du coefficient de corrélation de Spearman. Ce coefficient varie entre -1 et 1 : un coefficient proche de 1 indique une relation monotone positive forte, proche de -1 indique une relation monotone négative forte, et proche de 0 indique aucune relation monotone.print(f'P-valeur: {p_value}')
affiche la p-valeur associée au test. Si la p-valeur est inférieure à un seuil de signification (généralement 0.05), cela suggère que la relation observée est statistiquement significative, c'est-à-dire que la relation entre les deux variables n'est probablement pas due au hasard.