Comment choisir entre la corrélation de Pearson et Spearman?

119

Comment puis-je savoir quand choisir entre Spearman et de Pearson ? Ma variable inclut la satisfaction et les scores ont été interprétés en utilisant la somme des scores. Cependant, ces scores pourraient également être classés.ρr

amibe
la source
2
voir aussi sur cette question par rapport à pearson Spearman pour les données non-normale stats.stackexchange.com/questions/3730/...
Jeromy Anglim
1
en cas de données normales, produire pearson. en cas de données non normales, produisez spearman.

Réponses:

137

Si vous souhaitez explorer vos données, il est préférable de calculer les deux, car la relation entre les corrélations de Spearman (S) et de Pearson (P) donnera des informations. En bref, S est calculé sur les rangs et décrit ainsi les relations monotones tandis que P est sur les valeurs vraies et décrit les relations linéaires.

Par exemple, si vous définissez:

x=(1:100);  
y=exp(x);                         % then,
corr(x,y,'type','Spearman');      % will equal 1, and 
corr(x,y,'type','Pearson');       % will be about equal to 0.25

Cela est dû au fait que augmente de manière monotone avec sorte que la corrélation de Spearman est parfaite, mais non linéaire, de sorte que la corrélation de Pearson est imparfaite. yx

corr(x,log(y),'type','Pearson');  % will equal 1

Faire les deux est intéressant car si vous avez S> P, cela signifie que vous avez une corrélation monotone mais non linéaire. Puisqu'il est bon d'avoir une linéarité dans les statistiques (c'est plus facile), vous pouvez essayer d'appliquer une transformation sur (un tel journal).y

J'espère que cela contribuera à faciliter la compréhension des différences entre les types de corrélation.

Bonoboticiens
la source
2
Je suppose que ceci est une donnée de ce que vous avez déjà dit, mais je veux simplement confirmer qu'il n'est pas possible que S <P se produise.
Jonathan Thiele
9
@ JonathanThiele, il est parfaitement possible d'avoir S <P. Par exemple, les ensembles II et IV des quatuors d'Anscombe illustrent ce comportement. Voir aussi cette question: stats.stackexchange.com/questions/27127/…
atomicules
1
@atomicules Merci pour l'information. Je viens de vérifier les corrélations dans Anscombe's Quartet, et votre lien a été utile.
Jonathan Thiele
Comment pouvez-vous inclure des corrélations de Pearson et Spearson dans une présentation de corrgramme? - - Je pense ici au cas stackoverflow.com/a/40523080/54964 - - J'ai un problème multifactoriel donc je pense que Spearson serait valable pour être inclus et je ne peux pas y aller uniquement avec Pearson.
Léo Léopold Hertz
C’est cette approche que j’adopte habituellement, car elle présente l’avantage supplémentaire d’éviter toute justification laborieuse d’un test par rapport à un autre, en particulier lors du test de la corrélation entre de nombreuses variables. Plutôt que d'examiner chaque variable pour voir si les hypothèses de corrélation de Pearson ou de Spearman sont réunies, exécutez les deux à la fois. Dans de nombreuses applications pratiques, ils donneront des mesures similaires de la signification de l'association. Vous n'avez donc qu'à approfondir les cas relativement rares où leurs résultats sont très différents, et ce sont des cas intéressants à étudier de toute façon.
Nucléaire Wang
50

La réponse la plus courte et la plupart du temps correcte est:

Relation linéaire des repères de Pearson , relation monotone des repères de Spearman (cas de l'infini plus général, mais pour certains compromis de puissance).

Donc, si vous supposez / pensez que la relation est linéaire (ou, dans un cas spécial, que ce sont deux mesures de la même chose, la relation est donc ) et que la situation n’est pas trop mauvaise (vérifiez les autres réponses pour plus de détails), allez avec Pearson. Sinon, utilisez Spearman.y=1x+0


la source
35

Cela se produit souvent dans les statistiques: diverses méthodes peuvent être appliquées à votre situation et vous ne savez pas laquelle choisir. Vous devez baser votre décision sur les avantages et les inconvénients des méthodes à l’étude et sur les spécificités de votre problème, mais même dans ce cas, la décision est généralement subjective et ne comporte pas de réponse "correcte" convenue. Habituellement, il est judicieux d'essayer autant de méthodes que cela vous semble raisonnable et que votre patience vous permettra de voir lesquelles vous donneront les meilleurs résultats à la fin.

La différence entre la corrélation de Pearson et la corrélation de Spearman est que Pearson est le plus approprié pour les mesures prises à une échelle d' intervalle , alors que le testeur de Spearman est plus approprié pour les mesures prises à des échelles ordinales . Les exemples d'échelles d'intervalle incluent "température en Farenheit" et "longueur en pouces", dans lesquels les unités individuelles (1 ° F, 1 in) sont significatives. Des choses comme les "scores de satisfaction" ont tendance à être du type ordinal car s'il est clair que "5 bonheur" est plus heureux que "3 bonheur", il n'est pas clair si vous pouvez donner une interprétation significative de "1 unité de bonheur". Mais quand vous additionnez De nombreuses mesures de type ordinale, ce que vous avez dans votre cas, vous aboutissez à une mesure qui n'est en réalité ni ordinale ni intervalle, et qui est difficile à interpréter.

Je vous recommanderais de convertir vos scores de satisfaction en scores quantiles , puis de travailler avec les sommes de ceux-ci, car cela vous donnera des données un peu plus faciles à interpréter. Mais même dans ce cas, il n'est pas clair si Pearson ou Spearman serait plus approprié.

charles.y.zheng
la source
2
Qu'en est-il par exemple ... de l'appréhension de la communication? Une haute appréhension n'a pas de différence nette avec une très grande appréhension, non? Mais j'ai vu que la variable a été corrélée avec d'autres variables en utilisant le r de Pearson. Est-ce que ça va? Je vous remercie!
28

J'ai rencontré un cas d'angle intéressant aujourd'hui.

Si nous examinons un très petit nombre d'échantillons, la différence entre Spearman et Pearson peut être dramatique.

Dans le cas ci-dessous, les deux méthodes indiquent une corrélation exactement opposée .

entrez la description de l'image ici

Quelques règles rapides pour décider Spearman vs Pearson:

  • Les hypothèses de Pearsons sont une variance et une linéarité constantes (ou quelque chose de raisonnablement proche de cela), et si elles ne sont pas respectées, il pourrait être intéressant d'essayer Spearmans.
  • L'exemple ci-dessus est un cas de coin qui n'apparaît que s'il existe une poignée (<5) de points de données. S'il existe plus de 100 points de données et que les données sont linéaires ou proches de celles-ci, Pearson sera très similaire à Spearman.
  • Si vous estimez que la régression linéaire est une méthode appropriée pour analyser vos données, la sortie de Pearsons correspond au signe et à la magnitude d'une pente de régression linéaire (si les variables sont normalisées).
  • Si vos données comportent des composants non linéaires que la régression linéaire ne détectera pas, essayez d’abord de redresser les données dans une forme linéaire en appliquant une transformation (peut-être log e). Si cela ne fonctionne pas, Spearman peut être approprié.
  • J'essaye toujours d'abord Pearson, et si ça ne marche pas, j'essaie Spearman.
  • Pouvez-vous ajouter d'autres règles empiriques ou corriger celles que je viens de déduire? J'ai fait de cette question un wiki de communauté afin que vous puissiez le faire.

ps Voici le code R pour reproduire le graphique ci-dessus:

# Script that shows that in some corner cases, the reported correlation for spearman can be
# exactly opposite to that for pearson. In this case, spearman is +0.4 and pearson is -0.4.
y = c(+2.5,-0.5, -0.8, -1)
x = c(+0.2,-3,   -2.5,+0.6)

plot(y ~ x,xlim=c(-6,+6),ylim=c(-1,+2.5))
title("Correlation: corner case for Spearman vs. Pearson\nNote that they are exactly opposite each other (-0.4 vs. +0.4)")
abline(v=0)
abline(h=0)
lm1=lm(y ~ x)
abline(lm1,col="red")

spearman = cor(y,x,method="spearman")
pearson = cor(y,x,method="pearson")
legend("topleft",
    c("Red line: regression.",
    sprintf("Spearman: %.5f",spearman),
    sprintf("Pearson:   +%.5f",pearson)
))
Contango
la source
7

Tout en souscrivant à la réponse de Charles, je suggère (sur un plan strictement pratique) de calculer les deux coefficients et d'examiner les différences. Dans de nombreux cas, ils seront exactement les mêmes, vous n'avez donc pas à vous inquiéter.

Toutefois, si elles sont différentes, vous devez déterminer si vous avez respecté les hypothèses de Pearsons (variance et linéarité constantes). Si elles ne le sont pas, utilisez plutôt Spearmans.

richiemorrisroe
la source
3
en tant qu'apprenant en machine, je ne suis certainement pas un saint en ce qui concerne l'exactitude statistique, mais vérifier les hypothèses APRÈS avoir effectué le test me semble être une hérésie.
steffen
7
@ steffen je pense que ça va. Une hypothèse de régression est que les résidus sont normalement distribués. Comment vérifieriez-vous cela avant d'exécuter la régression?
Glen
1
@Glen: Dans ce cas, je ne peux pas. Mais lorsque je compare la qualité de différents modèles, je préfère généralement vérifier l’hypothèse (par exemple, approximativement normalement distribuée) avant de réaliser le test afin de réduire la tendance à assouplir les hypothèses au profit de certains résultats du test. Appelez cela la prévention d'une astuce mentale. Je suppose que c'est juste moi;).
steffen
1
@ steffen: vous avez raison en ce qui concerne l'hérésie, mais si les deux procédures donnent les mêmes résultats, alors c'est une question de goût qu'il convient d'utiliser, mais si elles ne vérifient pas les hypothèses et les échecs, elles peuvent souvent donner un aperçu utile des données. Personnellement, j'utilise spearman dans la mesure du possible, mais ce n'est pas une pratique courante dans mon domaine.
richiemorrisroe