Comprensione dei calcoli di correlazione della distanza


15

Per quanto ho capito, la correlazione della distanza è un modo solido e universale per verificare se esiste una relazione tra due variabili numeriche. Ad esempio, se abbiamo un insieme di coppie di numeri:

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

possiamo usare la correlazione della distanza per verificare se esiste una relazione (non necessariamente lineare) tra le due variabili ( xe y). Inoltre, xe ypossono essere vettori di diverse dimensioni.

È relativamente facile calcolare la correlazione della distanza. Per prima cosa usiamo per calcolare la matrice della distanza. Quindi calcoliamo la matrice della distanza usando y i . Le due matrici della distanza avranno le stesse dimensioni perché il numero di x i e y i è lo stesso (perché arrivano in coppia).xiyixiyi

Ora abbiamo molte distanze che possono essere abbinate. Ad esempio, l'elemento (2,3)della prima matrice della distanza è accoppiato con l'elemento (2,3)della seconda matrice della distanza. Quindi, abbiamo un insieme di coppie di distanze e possiamo usarlo per calcolare la correlazione (correlazione tra le distanze).

Se due tipi di distanze sono correlati, significa che le X vicine di solito significano Y vicine. Ad esempio, se è vicino a x 13 , significa che probabilmente y 7 sarà vicino a y 13 . Quindi, possiamo concludere che Xs e Ys sono dipendenti.x7x13y7y13

Sembra ragionevole, tuttavia ci sono due aspetti che non capisco .

Innanzitutto , per calcolare la correlazione della distanza non utilizziamo direttamente le due matrici della distanza. Applichiamo loro una doppia procedura di centraggio (in modo che la somma di tutti gli elementi in qualsiasi riga (o colonna) sia uguale a zero). Non capisco perché dobbiamo farlo. Qual è la logica (o intuizione) alla base di questo passaggio?

In secondo luogo , nelle matrici della distanza originale abbiamo zeri sulla diagonale. Quindi, se calcoliamo le correlazioni tra le distanze, avremo una correlazione statisticamente significativa solo perché molti zeri della prima matrice sono accoppiati con gli zeri corrispondenti nella seconda matrice. Come viene risolto questo problema?

Risposte:


16

Covarianza / correlazione a distanza (= covarianza / correlazione browniana) viene calcolata nei seguenti passaggi:

  1. Matrice calcolo delle distanze euclidee tra Ncasi da variabile , e un altro similmente matrice mediante variabile Y . Una delle due caratteristiche quantitative, X o YXYXY , potrebbe essere multivariata, non solo univariata.
  2. Eseguire il doppio centraggio di ciascuna matrice. Guarda come viene solitamente eseguito il doppio centraggio . Tuttavia, nel nostro caso, quando lo fai non quadrare inizialmente le distanze e non dividere per 2 alla fine. Riga, colonna media e media complessiva degli elementi diventano zero.
  3. Moltiplica le due matrici risultanti in modo elementare e calcola la somma; o equivalentemente, scartare le matrici in due vettori di colonna e calcolare il loro prodotto incrociato sommato.
  4. Media, dividendo per il numero di elementi, N^2 .
  5. Prendi la radice quadrata. Il risultato è la covarianza della distanza tra e YXY .
  6. Le varianze di distanza sono le covarianze di distanza di , di YXY con se stessi, le calcoli allo stesso modo, punti 3-4-5.
  7. La correlazione della distanza si ottiene dai tre numeri analogamente a come la correlazione di Pearson si ottiene dalla solita covarianza e dalla coppia di varianze: dividere la covarianza per la radice quadrata del prodotto di due varianze.

La covarianza a distanza (e la correlazione) non è la covarianza (o correlazione) tra le distanze stesse. È la covarianza (correlazione) tra i prodotti scalari speciali (prodotti a punti) che compongono le matrici "a doppio centro".

Nello spazio euclideo, un prodotto scalare è la somiglianza univocamente legata alla distanza corrispondente. Se hai due punti (vettori) puoi esprimere la loro vicinanza come prodotto scalare anziché la loro distanza senza perdere informazioni.

Tuttavia, per calcolare un prodotto scalare è necessario fare riferimento al punto di origine dello spazio (i vettori provengono dall'origine). Generalmente, si potrebbe posizionare l'origine dove gli piace, ma spesso e conveniente è posizionarla nel mezzo geometrico della nuvola dei punti, la media. Poiché la media appartiene allo stesso spazio di quella attraversata dalla nuvola, la dimensionalità non si gonfia.

Ora, il solito doppio centraggio della matrice della distanza (tra i punti di una nuvola) è l'operazione di conversione delle distanze in prodotti scalari posizionando l'origine in quel centro geometrico. In tal modo la "rete" di distanze viene sostituita in modo equivalente dalla "raffica" di vettori, di lunghezze specifiche e angoli a coppie, dall'origine:

enter image description here

[La costellazione nella mia immagine di esempio è planare che dà via che la "variabile", diciamo che era , avendo generato era bidimensionale. Quando X è una variabile a colonna singola, tutti i punti si trovano su una riga, ovviamente.]XX

Solo un po 'formalmente sull'operazione di doppio centraggio. Lasciate avere i n points x p dimensionsdati (nel caso univariato, ). Sia D una matrice di distanze euclidee tra i punti. Lascia che CXp=1Dn x nnC sia con le colonne centrate. Quindi S = D 2 a doppio centro  è uguale a C C , i prodotti scalari tra le file dopo il centramento della nuvola di punti. La proprietà principale del doppio centraggio è quella 1XS=double-centered D2CC , e tale somma è uguale alla somma negata deloffelementi -diagonal di S .12nD2=trace(S)=trace(CC)S

Ritorna alla correlazione della distanza. Cosa stiamo facendo quando calcoliamo la covarianza a distanza? Abbiamo convertito entrambe le reti di distanze nei corrispondenti gruppi di vettori. E quindi calcoliamo la covariazione (e successivamente la correlazione) tra i valori corrispondenti dei due grappoli: ogni valore di prodotto scalare (ex valore di distanza) di una configurazione viene moltiplicato per quello corrispondente dell'altra configurazione. Ciò può essere visto come (come detto al punto 3) calcolando la consueta covarianza tra due variabili, dopo aver vettorializzato le due matrici in quelle "variabili".

Pertanto, stiamo covariando le due serie di somiglianze (i prodotti scalari, che sono le distanze convertite). Qualsiasi tipo di covarianza è il prodotto incrociato dei momenti: devi prima calcolare quei momenti, le deviazioni dalla media, prima, e il doppio centramento era quel calcolo. Questa è la risposta alla tua domanda: una covarianza deve essere basata su momenti ma le distanze non sono momenti.

La presa aggiuntiva di radice quadrata dopo (punto 5) sembra logica perché nel nostro caso il momento era già esso stesso una sorta di covarianza (un prodotto scalare e una covarianza sono strutturalmente compeer ) e così è arrivato che sei una specie di covarianze moltiplicate due volte. Pertanto, per ritornare al livello dei valori dei dati originali (e per poter calcolare il valore di correlazione), è necessario prendere la radice in seguito.

Una nota importante dovrebbe finalmente andare. Se stessimo facendo il doppio centraggio nel suo modo classico - cioè dopo aver quadrato le distanze euclidee - finiremmo con la covarianza a distanza che non è vera covarianza a distanza e non è utile. Apparirà degenerato in una quantità esattamente correlata alla solita covarianza (e la correlazione a distanza sarà una funzione della correlazione lineare di Pearson). Ciò che rende la covarianza / correlazione a distanza unica e in grado di misurare non un'associazione lineare ma una forma generica di dipendenza , in modo che dCov = 0 se e solo se le variabili sono indipendenti, è la mancanza di quadratura delle distanze quando si esegue il doppio centraggio (vedere punto 2). In realtà, qualsiasi potenza delle distanze nell'intervallo farebbe, tuttavia, la forma standard è farlo sul potere 1 . Perché questo potere e non il potere 2 faciliti il ​​coefficiente di diventare la misura dell'interdipendenza non lineare è una questione matematica piuttosto delicata (per me) portatrice difunzioni caratteristichedelle distribuzioni, e vorrei sentire qualcuno più istruito per spiegare qui la meccanica della distanza covarianza / correlazione con parole forse semplici (una volta hotentato, senza successo).(0,2)12


per "prodotto incrociato sommato" al punto 3, intendi semplicemente un normale prodotto scalare?
kram1032,

1
@ kram1032, sì scp e prodotto scalare sono sinonimi stats.stackexchange.com/a/22520/3277
ttnphns

8

Penso che entrambe le tue domande siano profondamente collegate. Mentre le diagonali originali nella matrice della distanza sono 0, ciò che viene utilizzato per la covarianza (che determina il numeratore della correlazione) sono i valori doppiamente centrati delle distanze - che, per un vettore con qualsiasi variazione, significa che le diagonali saranno negativo.

Quindi passiamo attraverso un semplice caso indipendente e vediamo se ciò ci dà qualche intuizione sul perché la correlazione è 0 quando le due variabili sono indipendenti.

(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

(Come sottolinea ttnphns, di per sé questo non è abbastanza, poiché anche il potere conta. Possiamo fare lo stesso doppio centraggio ma se li aggiungiamo in quadratura perderemo la proprietà if e only if.)


1
Ti dispiacerebbe se ho modificato le matrici in questa risposta?
Shadowtalker il

@ssdecontrol grazie per l'offerta! Ci sono passato e l'ho fatto da solo, ma sentiti libero di apportare altre modifiche alla formattazione.
Matthew Graves,

1
Io non capisco che cosa si intende per "single" in questo caso (è quello che ha detto il Mattew o altro?) Che cosa è veramente misteriosa / importante per me (come ho espresso, alla fine della mia risposta) è il motivo per cui ( teoricamente) quando eseguiamo il doppio centraggio senza prima quadrare le distanze, facilitiamo il dCov di avere le sue proprietà uniche e utili.
ttnphns,

1
@ttnphns: Per singolo centraggio intendevo sottrarre la media grande da ogni valore di distanza. In ogni caso, concordo sul fatto che la covarianza a distanza è misteriosa.
ameba dice di reintegrare Monica il

1
@amoeba, vorrei che gli autori scrivessero un seguito con una sorta di spiegazione intuitiva e un'implementazione efficiente per più coppie di variabili. Si sta chiudendo in un decennio da quando la loro carta originale e la covarianza a distanza sono ancora per lo più solo una diversione chiassosa per studenti universitari. l'unica volta che l'ho mai visto in pratica era in una funzione allora non implementata a Stan per diagnosticare le catene MC
Shadowtalker,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.