¿Tiene sentido calcular la correlación de Pearson o Spearman entre dos vectores booleanos?

42

Hay dos vectores booleanos, que contienen solo 0 y 1. Si calculo la correlación de Pearson o Spearman, ¿son significativas o razonables?

Zhilong Jia
fuente
2
Si ambas variables son dicotómicas, Pearson = Spearman = Kendall's tau. Sí, puede tener sentido. Con datos verdaderamente binarios (booleanos), también es necesario calcular "Pearson" en los datos sin centrarlos, eso sería coseno.
ttnphns
1
... y = Phi (Chi-cuadrado estandarizado) que nos lleva de la escala a la tabla de contingencia.
ttnphns

Respuestas:

34

La correlación de Pearson y Spearman se define siempre que tenga unos sy algunos s para las dos variables binarias, digamos y . Es fácil tener una buena idea cualitativa de lo que significan al pensar en un diagrama de dispersión de las dos variables. Claramente, solo hay cuatro posibilidades (por lo que es una buena idea temblar para sacudir puntos idénticos para la visualización). Por ejemplo, en cualquier situación en la que los dos vectores son idénticos, sujetos a tener unos 0 y unos 1 en cada uno, entonces, por definición, y la correlación es necesariamente . Del mismo modo, es posible que01yx(0,0),(0,1),(1,0),(1,1)y=x1y=1xy luego la correlación es .1

Para esta configuración, no hay margen para relaciones monótonas que no sean lineales. Al tomar rangos de sy s según la convención habitual de midrank, los rangos son solo una transformación lineal de los sy sy originales, y la correlación de Spearman es necesariamente idéntica a la correlación de Pearson. Por lo tanto, no hay ninguna razón para considerar la correlación de Spearman por separado aquí, o de hecho en absoluto.0101

Las correlaciones surgen naturalmente para algunos problemas que involucran sy s, por ejemplo, en el estudio de procesos binarios en el tiempo o el espacio. En general, sin embargo, habrá mejores formas de pensar sobre tales datos, dependiendo en gran medida del motivo principal de dicho estudio. Por ejemplo, el hecho de que las correlaciones tengan mucho sentido no significa que la regresión lineal sea una buena forma de modelar una respuesta binaria. Si una de las variables binarias es una respuesta, la mayoría de las personas estadísticas comenzarían considerando un modelo logit.01

Nick Cox
fuente
1
¿Eso significa que en esta situación, el coeficiente de correlación de Pearson o Spearman no es una buena métrica de similitud para estos dos vectores binarios?
Zhilong Jia
Sí, en el sentido de que no mide la similitud y no está definido para todos los 0 o todos los 1 para ninguno de los vectores.
Nick Cox
El caso de 2 vectores idénticos u 'opuestos' no me resulta claro. Si x = c (1,1,1,1,1) e y = (0,0,0,0,0) entonces y = 1-x y parece que estás diciendo que este debe ser el caso por definición , lo que implica una correlación de -1. Igualmente y = x-1 implica correlación de +1. Solo hay 1 punto (5 repeticiones) en un diagrama de dispersión, por lo que cualquier línea recta podría dibujarse a través de él. Parece que la correlación no está definida en este caso. Lo siento si entendí mal lo que querías decir. @NickCox
PM.
2
No; No digo eso, como señalo en mi primera oración que debes tener una combinación de 0s y 1s para definir la correlación. De lo contrario, si la SD de cualquiera de las variables es 0, la correlación no está definida. Pero he editado mi respuesta para mencionar eso dos veces.
Nick Cox
15

Existen métricas de similitud especializadas para vectores binarios, como:

  • Jaccard-Needham
  • Dado
  • Navidad
  • Russell-Rao
  • Sokal-Michener
  • Rogers-Tanimoto
  • Kulzinsky

etc.

Para más detalles, ver aquí .

Digio
fuente
55
Seguramente hay muchas referencias más confiables y completas. Incluso en el nivel de acertar con los nombres de los autores, tenga en cuenta Kulczyński y Tanimoto. Véase, por ejemplo, Hubálek, Z. 1982. Coeficientes de asociación y similitud, basados ​​en datos binarios (presencia-ausencia): una evaluación. Biological Reviews 57: 669–689.
Nick Cox
55
Obviamente han escrito mal 'Tanimoto' pero 'Kulzinsky' se ha simplificado a propósito. Su referencia es más creíble sin duda, pero no es accesible para todos.
Digio
0

No recomendaría usar el coeficiente de correlación de Pearson para datos binarios, vea el siguiente contraejemplo:

set.seed(10) 
a = rbinom(n=100, size=1, prob=0.9) 
b = rbinom(n=100, size=1, prob=0.9)

en la mayoría de los casos ambos dan un 1

table(a,b)

> table(a,b)
   b
a    0  1
  0  0  3
  1  9 88

pero la correlación no muestra esto

cor(a, b, method="pearson")

> cor(a, b, method="pearson")
[1] -0.05530639

Sin embargo, una medida de similitud binaria como el índice Jaccard muestra una asociación mucho más alta:

install.packages("clusteval")
library('clusteval')
cluster_similarity(a,b, similarity="jaccard", method="independence")

> cluster_similarity(a,b, similarity="jaccard", method="independence")
[1] 0.7854966

¿Por qué es esto? Vea aquí la regresión bivariada simple

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")))

gráfico a continuación (pequeño ruido agregado para aclarar el número de puntos) Línea de regresión bivariada

Arne Jonas Warnke
fuente