Compreendendo os cálculos de correlação à distância

15

Até onde eu entendi, a correlação de distância é uma maneira robusta e universal de verificar se há uma relação entre duas variáveis ​​numéricas. Por exemplo, se tivermos um conjunto de pares de números:

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

podemos usar a correlação de distância para verificar se existe alguma relação (não necessariamente linear) entre as duas variáveis ​​( xe y). Além disso, xe ypodem ser vetores de diferentes dimensões.

É relativamente fácil calcular a correlação de distância. Primeiro, usamos xEu para calcular a matriz de distância. Então calculamos a matriz de distância usando yEu . As duas matrizes de distância terão as mesmas dimensões porque o número de xEu e yEu é o mesmo (porque elas vêm em pares).

Agora temos muitas distâncias que podem ser emparelhadas. Por exemplo, o elemento (2,3)da primeira matriz de distância é emparelhado com o elemento (2,3)da segunda matriz de distância. Portanto, temos um conjunto de pares de distâncias e podemos usá-lo para calcular a correlação (correlação entre distâncias).

Se dois tipos de distâncias estão correlacionados, isso significa que Xs próximos geralmente significam Ys próximos. Por exemplo, se x7 estiver próximo de x13 , significa que é provável que y7 esteja próximo de y13 . Assim, podemos concluir que Xs e Ys são dependentes.

Parece razoável, no entanto , existem dois aspectos que eu não entendo .

Primeiro , para calcular a correlação de distância, não usamos as duas matrizes de distância diretamente. Aplicamos a eles o procedimento de dupla centralização (para que a soma de todos os elementos em qualquer linha (ou coluna) seja igual a zero). Eu não entendo por que precisamos fazer isso. Qual é a lógica (ou intuição) por trás dessa etapa?

Segundo , nas matrizes de distância originais, temos zeros na diagonal. Portanto, se calcularmos as correlações entre as distâncias, teremos uma correlação estatisticamente significante apenas porque muitos zeros da primeira matriz estão emparelhados com os zeros correspondentes na segunda matriz. Como esse problema é resolvido?

romano
fonte

Respostas:

16

A covariância / correlação à distância (= covariância / correlação browniana) é calculada nas seguintes etapas:

  1. Matriz de computação da distância euclidiana entre Ncasos de variável , e uma outra matriz de igual modo por variável Y . Qualquer uma das duas características quantitativas, X ou YXYXY , pode ser multivariada, não apenas univariada.
  2. Realize a centralização dupla de cada matriz. Veja como a centralização dupla geralmente é feita. No entanto, no nosso caso, ao fazê-lo, não quadracione as distâncias inicialmente e não divida por 2 no final. Linha, coluna e média geral dos elementos tornam-se zero.
  3. Multiplique as duas matrizes resultantes elemento a elemento e calcule a soma; ou, de maneira equivalente, desempacote as matrizes em dois vetores de coluna e calcule seu produto cruzado somado.
  4. Média, dividindo pelo número de elementos N^2,.
  5. Tome raiz quadrada. O resultado é a covariância distância entre e Y .XY
  6. As variações de distância são as covariâncias de distância de , de Y com seus próprios eus; você as calcula da mesma forma, pontos 3-4-5.XY
  7. A correlação de distância é obtida a partir dos três números analogamente como a correlação de Pearson é obtida a partir da covariância usual e do par de variações: divida a covariância pela raiz quadrada do produto de duas variações.

A covariância à distância (e correlação) não é a covariância (ou correlação) entre as distâncias em si. É a covariância (correlação) entre os produtos escalares especiais (produtos de ponto) que compõem as matrizes "duplo centro".

No espaço euclidiano, um produto escalar é a semelhança univocalmente ligada à distância correspondente. Se você tiver dois pontos (vetores), poderá expressar sua proximidade como produto escalar em vez de sua distância sem perder informações.

No entanto, para calcular um produto escalar, você deve se referir ao ponto de origem do espaço (os vetores vêm da origem). Geralmente, pode-se colocar a origem onde ele gosta, mas com freqüência e conveniente é colocá-la no meio geométrico da nuvem dos pontos, a média. Como a média pertence ao mesmo espaço que o abrangido pela nuvem, a dimensionalidade não aumentaria.

Agora, a dupla centralização usual da matriz de distância (entre os pontos de uma nuvem) é a operação de converter as distâncias em produtos escalares enquanto coloca a origem naquele meio geométrico. Ao fazê-lo, a "rede" de distâncias é substituída equivalentemente pela "explosão" de vetores, de comprimentos específicos e ângulos pares, da origem:

insira a descrição da imagem aqui

[A constelação na minha foto de exemplo é plana, que revela que a "variável" diz que foi , gerou que era bidimensional. Quando XXX é uma variável de coluna única, todos os pontos ficam em uma linha, é claro.]

Um pouco formalmente sobre a operação de dupla centralização. Vamos ter n points x p dimensionsdados (no caso univariado ). Deixe- D ser matriz de distância euclidiana entre os pontos. Deixe C ser X com as suas colunas centrado. Então S = D2 centrado  duas vezes é igual a C C Xp=1Dn x nnCXS=centrado duas vezes D2CC , os produtos escalares entre as linhas depois da nuvem de pontos foi centrado. A principal propriedade da dupla centralização é que , e essa soma é igual à soma negada da12nD2=trumace(S)=trumace(CC) fora elementos -diagonal de .S

Retornar à correlação de distância. O que estamos fazendo quando calculamos a covariância à distância? Convertemos ambas as redes de distâncias em seus grupos correspondentes de vetores. E então calculamos a covariação (e subsequentemente a correlação) entre os valores correspondentes dos dois grupos: cada valor escalar do produto (valor anterior da distância) de uma configuração está sendo multiplicado pelo valor correspondente da outra configuração. Isso pode ser visto como (como foi dito no ponto 3), calculando a covariância usual entre duas variáveis, após a vetorização das duas matrizes nessas "variáveis".

Assim, estamos covariando os dois conjuntos de semelhanças (os produtos escalares, que são as distâncias convertidas). Qualquer tipo de covariância é o produto cruzado dos momentos: você precisa calcular esses momentos, os desvios da média, primeiro, - e a dupla centralização era esse cálculo. Esta é a resposta para sua pergunta: uma covariância precisa se basear em momentos, mas distâncias não são momentos.

A obtenção adicional de raiz quadrada depois (ponto 5) parece lógica, porque no nosso caso o momento já era uma espécie de covariância (um produto escalar e uma covariância são compeers estruturalmente) e, por isso, ocorreu uma espécie de covariâncias multiplicadas duas vezes. Portanto, para voltar ao nível dos valores dos dados originais (e para poder calcular o valor de correlação), é preciso criar a raiz posteriormente.

Uma nota importante deve finalmente terminar. Se estivéssemos centralizando duas vezes sua maneira clássica - ou seja, depois de quadrar as distâncias euclidianas -, acabaríamos com a covariância à distância que não é covariância à distância verdadeira e não é útil. Ele parecerá degenerado em uma quantidade exatamente relacionada à covariância usual (e a correlação de distância será uma função da correlação linear de Pearson). O que torna a covariância / correlação à distância única e capaz de medir a associação não linear, mas uma forma genérica de dependência , de modo que dCov = 0 se e somente se as variáveis ​​forem independentes - é a falta de quadratura das distâncias ao executar a dupla centralização (consulte ponto 2) Na verdade, qualquer potência das distâncias no intervalo faria, no entanto, o formulário padrão é fazê-lo no poder 1 . Por que esse poder, e não o poder 2, facilita o coeficiente de se tornar a medida da interdependência não-linear é uma questão matemática bastante complicada (para mim), comfunções característicasde distribuição, e eu gostaria de ouvir alguém mais educado para explicar aqui a mecânica da distância covariância / correlação com palavras possivelmente simples (uma veztenteisem sucesso).(0 0,2)12

ttnphns
fonte
por "produto cruzado resumido" na etapa 3, você quer dizer simplesmente um produto escalar normal?
precisa saber é o seguinte
1
@ kram1032, sim scp e produto escalar são sinônimos stats.stackexchange.com/a/22520/3277
ttnphns
8

Eu acho que as duas perguntas estão profundamente ligadas. Enquanto as diagonais originais na matriz da distância são 0, o que é usado para a covariância (que determina o numerador da correlação) são os valores duplamente centrados das distâncias - o que, para um vetor com qualquer variação, significa que as diagonais serão negativo.

Então, vamos percorrer um caso independente simples e ver se isso nos dá alguma intuição sobre por que a correlação é 0 quando as duas variáveis ​​são independentes.

(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 centralização tem essa propriedade: também funcionaria para centralizar uma única (com a linha, coluna ou média geral)? Não foi possível ajustar distâncias reais e apenas definir a diagonal como negativa da soma das linhas, da coluna ou da soma geral?

(Como ttnphns aponta, isso por si só não é suficiente, pois o poder também é importante. Podemos fazer a mesma centralização dupla, mas se as adicionarmos em quadratura, perderemos a propriedade if e only if.)

Matthew Graves
fonte
1
Você se importaria se eu editasse matrizes nesta resposta?
shadowtalker
@ssdecontrol obrigado pela oferta! Eu fui e fiz isso sozinho, mas sinta-se à vontade para fazer outras alterações na formatação.
Matthew Graves
1
Não entendo bem o que você quer dizer com "solteiro" nesse caso (é o que o Mattew disse ou não?) O que é realmente misterioso / importante para mim (como eu o expressei no final da minha resposta) é o porquê ( teoricamente) quando realizamos a dupla centralização sem quadrar as distâncias, facilitamos o dCov a ter suas propriedades únicas e úteis.
precisa saber é o seguinte
1
@ttnphns: Por centralização única, quis dizer subtrair a média geral de cada valor de distância. De qualquer forma, concordo que a covariância à distância é misteriosa.
Ameba diz Reinstate Monica
1
@amoeba Eu gostaria que os autores escrevessem um acompanhamento com algum tipo de explicação intuitiva e uma implementação eficiente para vários pares de variáveis. Está chegando ao fim de uma década, já que o artigo original e a covariância à distância ainda são apenas uma diversão quixotesca para os estudantes de pós-graduação. a única vez que eu já vi sendo utilizado na prática estava em um recurso então não implementado em Stan para diagnosticar cadeias MC
shadowtalker