Il existe deux vecteurs booléens, qui contiennent uniquement 0 et 1. Si je calcule la corrélation de Pearson ou de Spearman, sont-elles significatives ou raisonnables?
Il existe deux vecteurs booléens, qui contiennent uniquement 0 et 1. Si je calcule la corrélation de Pearson ou de Spearman, sont-elles significatives ou raisonnables?
Réponses:
Les corrélations de Pearson et de Spearman sont définies aussi longtemps que vous avez et s pour les deux variables binaires, disons et . Il est facile de se faire une bonne idée qualitative de ce qu’elles veulent dire en pensant à un nuage de points des deux variables. Il est clair qu'il n'y a que quatre possibilités (de sorte que le tremblement de secouer des points identiques pour la visualisation est une bonne idée). Par exemple, dans toute situation où les deux vecteurs sont identiques, à condition qu’ils comportent chacun des 0 et des 1, alors par définition, et la corrélation est nécessairement . De même, il est possible queet alors la corrélation est .
Pour cette configuration, il n'y a pas de place pour des relations monotones non linéaires. En prenant les rangs de s et s selon la convention habituelle du midrank, les rangs ne sont qu'une transformation linéaire des et s d'origine et la corrélation de Spearman est nécessairement identique à la corrélation de Pearson. Par conséquent, il n’ya aucune raison de considérer la corrélation de Spearman séparément ici ou même du tout.
Des corrélations apparaissent naturellement pour certains problèmes impliquant et s, par exemple dans l'étude de processus binaires dans le temps ou dans l'espace. Dans l’ensemble, cependant, il y aura de meilleures façons de penser à ces données, dépendant largement du motif principal d’une telle étude. Par exemple, le fait que les corrélations aient beaucoup de sens ne signifie pas que la régression linéaire est un bon moyen de modéliser une réponse binaire. Si l'une des variables binaires est une réponse, la plupart des responsables de la statistique commenceraient par examiner un modèle logit.
Il existe des mesures de similarité spécialisées pour les vecteurs binaires, telles que:
etc.
Pour plus de détails, voir ici .
Je ne conseillerais pas d'utiliser le coefficient de corrélation de Pearson pour les données binaires, voir le contre-exemple suivant:
set.seed(10)
a = rbinom(n=100, size=1, prob=0.9)
b = rbinom(n=100, size=1, prob=0.9)
dans la plupart des cas, les deux donnent un 1
table(a,b)
> table(a,b)
b
a 0 1
0 0 3
1 9 88
mais la corrélation ne montre pas cette
cor(a, b, method="pearson")
> cor(a, b, method="pearson")
[1] -0.05530639
Une mesure de similarité binaire telle que l’ indice de Jaccard montre cependant une association beaucoup plus élevée:
install.packages("clusteval")
library('clusteval')
cluster_similarity(a,b, similarity="jaccard", method="independence")
> cluster_similarity(a,b, similarity="jaccard", method="independence")
[1] 0.7854966
Pourquoi est-ce? Voir ici la régression simple à deux variables
plot(jitter(a, factor = .25), jitter(b, factor = .25), xlab="a", ylab="b", pch=15, col="blue", ylim=c(-0.05,1.05), xlim=c(-0.05,1.05))
abline(lm(a~b), lwd=2, col="blue")
text(.5,.9,expression(paste(rho, " = -0.055")))
tracé ci-dessous (petit bruit ajouté pour clarifier le nombre de points)