Comprender los cálculos de correlación de distancia


15

Según tengo entendido, la correlación de distancia es una forma robusta y universal de verificar si existe una relación entre dos variables numéricas. Por ejemplo, si tenemos un conjunto de pares de números:

(x1, y1)
(x2, y2)
...
(xn, yn)

Podemos usar la correlación de distancia para verificar si existe alguna relación (no necesariamente lineal) entre las dos variables ( xy y). Además, xy ypueden ser vectores de diferentes dimensiones.

Es relativamente fácil calcular la correlación de distancia. Primero usamos para calcular la matriz de distancia. Luego calculamos la matriz de distancia usando . Las dos matrices de distancia tendrán las mismas dimensiones porque el número de e es el mismo (porque vienen en pares).XyoyyoXyoyyo

Ahora tenemos muchas distancias que se pueden emparejar. Por ejemplo, el elemento (2,3)de la primera matriz de distancia se empareja con el elemento (2,3)de la segunda matriz de distancia. Entonces, tenemos un conjunto de pares de distancias y podemos usarlo para calcular la correlación (correlación entre distancias).

Si se correlacionan dos tipos de distancias, significa que cerrar X generalmente significa cerrar Ys. Por ejemplo, si está cerca de , significa que es probable que esté cerca de . Entonces, podemos concluir que Xs e Ys son dependientes.x 13 y 7 y 13X7 7X13y7 7y13

Suena razonable, sin embargo , hay dos aspectos que no entiendo .

Primero , para calcular la correlación de distancia no utilizamos las dos matrices de distancia directamente. Aplicamos a ellos el procedimiento de doble centrado (de modo que la suma de todos los elementos en cualquier fila (o columna) sea igual a cero). No entiendo por qué tenemos que hacerlo. ¿Cuál es la lógica (o intuición) detrás de este paso?

Segundo , en las matrices de distancia originales tenemos ceros en la diagonal. Entonces, si calculamos las correlaciones entre las distancias, tendremos una correlación estadísticamente significativa solo porque muchos ceros de la primera matriz están emparejados con los ceros correspondientes en la segunda matriz. ¿Cómo se resuelve este problema?

Respuestas:


16

La covarianza / correlación de distancia (= covarianza / correlación browniana) se calcula en los siguientes pasos:

  1. Matriz Compute de las distancias euclidianas entre Nlos casos por la variable , y otra matriz igualmente por la variable Y . Cualquiera de las dos características cuantitativas, X o Y , puede ser multivariante, no solo univariante.XYXY
  2. Realice el doble centrado de cada matriz. Vea cómo generalmente se realiza el doble centrado . Sin embargo, en nuestro caso, al hacerlo, no cuadre las distancias inicialmente y no divida por al final. Las medias de fila, columna y media general de los elementos se vuelven cero.-2
  3. Multiplique las dos matrices resultantes por elementos y calcule la suma; o de manera equivalente, desenvuelva las matrices en dos vectores de columna y calcule su producto cruzado sumado.
  4. Normal, dividiendo por el número de elementos, N^2.
  5. Toma raíz cuadrada. El resultado es la covarianza distancia entre y Y .XY
  6. Las desviaciones de distancia son las covarianzas de distancia de , de Y con sí mismos, usted también las calcula, puntos 3-4-5.XY
  7. La correlación de distancia se obtiene de los tres números de manera análoga a cómo se obtiene la correlación de Pearson a partir de la covarianza habitual y el par de varianzas: divida la covarianza por la raíz cuadrada del producto de dos varianzas.

La covarianza de distancia (y correlación) no es la covarianza (o correlación) entre las distancias mismas. Es la covarianza (correlación) entre los productos escalares especiales (productos de puntos) de lo que se componen las matrices de "doble centrado".

En el espacio euclídeo, un producto escalar es la semejanza unívocamente unida con la distancia correspondiente. Si tiene dos puntos (vectores), puede expresar su cercanía como producto escalar en lugar de su distancia sin perder información.

Sin embargo, para calcular un producto escalar, debe referirse al punto de origen del espacio (los vectores provienen del origen). Generalmente, uno puede colocar el origen donde le gusta, pero a menudo y conveniente es colocarlo en el centro geométrico de la nube de puntos, la media. Debido a que la media pertenece al mismo espacio que el que abarca la nube, la dimensionalidad no aumentaría.

Ahora, el doble centrado habitual de la matriz de distancia (entre los puntos de una nube) es la operación de convertir las distancias a los productos escalares mientras se coloca el origen en ese centro geométrico. Al hacerlo, la "red" de distancias se reemplaza de manera equivalente por la "explosión" de vectores, de longitudes específicas y ángulos por pares, desde el origen:

ingrese la descripción de la imagen aquí

[La constelación en mi imagen de ejemplo es plana, lo que revela que la "variable", digamos que era , habiendo generado que era bidimensional. Cuando X es una variable de una sola columna, todos los puntos se encuentran en una línea, por supuesto.]XX

Solo un poco formalmente sobre la operación de doble centrado. Deje tener n points x p dimensionsdatos (en el caso univariante ). Sea D una matriz de distancias euclidianas entre los puntos. Deje C ser X con sus columnas centradas. Entonces S = D 2 doble centrado  es igual a C C ' , los productos escalares entre filas después de que la nube de puntos fue centrada. La propiedad principal del doble centrado es que 1Xp=1Dn x nnCXS=double-centered D2CC, y esta suma es igual a la suma negada deloffelementos -diagonal deS.12nD2=trace(S)=trace(CC)S

Regresar a la correlación de distancia. ¿Qué estamos haciendo cuando calculamos la covarianza de distancia? Hemos convertido ambas redes de distancias en sus correspondientes grupos de vectores. Y luego calculamos la covarianza (y posteriormente la correlación) entre los valores correspondientes de los dos grupos: cada valor de producto escalar (valor de distancia anterior) de una configuración se multiplica por su correspondiente de la otra configuración. Esto se puede ver como (como se dijo en el punto 3) que calcula la covarianza habitual entre dos variables, después de vectorizar las dos matrices en esas "variables".

Por lo tanto, estamos covariando los dos conjuntos de similitudes (los productos escalares, que son las distancias convertidas). Cualquier tipo de covarianza es el producto cruzado de los momentos: hay que calcular esos momentos, las desviaciones de la media, primero, y el doble centrado fue ese cálculo. Esta es la respuesta a su pregunta: una covarianza debe basarse en momentos, pero las distancias no son momentos.

La toma adicional de la raíz cuadrada después (punto 5) parece lógica porque en nuestro caso el momento ya era en sí mismo una especie de covarianza (un producto escalar y una covarianza son competidores estructuralmente), por lo que surgió una especie de covarianzas multiplicadas dos veces. Por lo tanto, para descender de nuevo al nivel de los valores de los datos originales (y para poder calcular el valor de correlación), se debe extraer la raíz después.

Una nota importante finalmente debería irse. Si estuviéramos haciendo doble centrado en su forma clásica, es decir, después de cuadrar las distancias euclidianas, entonces terminaríamos con la covarianza de distancia que no es verdadera covarianza de distancia y no es útil. Aparecerá degenerado en una cantidad exactamente relacionada con la covarianza habitual (y la correlación de distancia será una función de la correlación lineal de Pearson). Lo que hace que la covarianza / correlación de distancia sea única y capaz de medir no una asociación lineal sino una forma genérica de dependencia , de modo que dCov = 0 si y solo si las variables son independientes, es la falta de cuadrar las distancias al realizar el doble centrado (ver punto 2). En realidad, cualquier potencia de las distancias en el rango haría, sin embargo, la forma estándar es hacerlo en el poder 1 . Por qué este poder y no el poder 2 facilita el coeficiente para convertirse en la medida de la interdependencia no lineal es un asunto matemático bastante complicado (para mí) relacionado con lasfunciones característicasde las distribuciones, y me gustaría escuchar a alguien más educado para explicar aquí la mecánica de la distancia. covarianza / correlación con palabras posiblemente simples (una vezintenté, sin éxito).(0,2)12


por "producto cruzado sumado" en el paso 3, ¿se refiere simplemente a un producto escalar normal?
kram1032

1
@ kram1032, yes scp y scalar product son sinónimos stats.stackexchange.com/a/22520/3277
ttnphns

8

Creo que ambas preguntas están profundamente vinculadas. Mientras que las diagonales originales en la matriz de distancia son 0, lo que se usa para la covarianza (que determina el numerador de la correlación) son los valores doblemente centrados de las distancias, lo que, para un vector con cualquier variación, significa que las diagonales serán negativo.

Así que pasemos a un caso independiente simple y veamos si eso nos da una idea de por qué la correlación es 0 cuando las dos variables son independientes.

(X,Y)=[(0,0),(0,1),(1,0),(1,1)]

XY

a=[0011001111001100]

b=[0101101001011010]

A

A=[.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5]

B=[.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5]

.5.5=.25.5.5=.25.5.5=.250

0

0ab0.25

(Como señala ttnphns, por sí solo esto no es suficiente, ya que el poder también importa. Podemos hacer el mismo doble centrado, pero si los sumamos en cuadratura perderemos la propiedad if y only if).


1
¿Te importaría si editara matrices en esta respuesta?
shadowtalker

@ssdecontrol gracias por la oferta! Lo revisé y lo hice yo mismo, pero siéntase libre de hacer cualquier otro cambio de formato.
Matthew Graves

1
No entiendo lo que quieres decir con "soltero" en este caso (¿es lo que dijo Mattew o no?) Lo que es realmente misterioso / importante para mí (como lo expresé al final de mi respuesta) es por qué ( teóricamente) cuando realizamos el doble centrado sin cuadrar primero las distancias, facilitamos que dCov tenga sus propiedades únicas y útiles.
ttnphns

1
@ttnphns: Al centrar solo me refería a restar la gran media de cada valor de distancia. En cualquier caso, estoy de acuerdo en que la covarianza de distancia es misteriosa.
ameba dice Reinstate Monica

1
@amoeba, desearía que los autores escribieran un seguimiento con algún tipo de explicación intuitiva y una implementación eficiente para múltiples pares de variables. Se acerca una década desde que su papel original y la covarianza a distancia sigue siendo principalmente una diversión quijotesca para los estudiantes de posgrado. la única vez que lo he visto en la práctica fue en una función no implementada en Stan para diagnosticar cadenas de MC
shadowtalker
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.