Analogia della correlazione di Pearson per 3 variabili


17

Sono interessato a sapere se una "correlazione" di tre variabili è qualcosa e, in caso affermativo, quale sarebbe?

Coefficiente di correlazione del momento del prodotto Pearson

E{(XμX)(YμY)}Var(X)Var(Y)

Ora la domanda per 3 variabili: Is

E{(XμX)(YμY)(ZμZ)}Var(X)Var(Y)Var(Z)

nulla?

In R sembra qualcosa di interpretabile:

> a <- rnorm(100); b <- rnorm(100); c <- rnorm(100)
> mean((a-mean(a)) * (b-mean(b)) * (c-mean(c))) / (sd(a) * sd(b) * sd(c))
[1] -0.3476942

Normalmente osserviamo la correlazione tra 2 variabili dato il valore di una terza variabile fissa. Qualcuno potrebbe chiarire?


2
1) Nella tua formula bivariata di Pearson, se "E" (media nel tuo codice) implica la divisione per n allora st. le deviazioni devono anche essere basate su n (non n-1). 2) Lascia che tutte e tre le variabili siano la stessa variabile. In questo caso, prevediamo che la correlazione sia 1 (come nel caso bivariato), ma purtroppo ...
ttnphns

Per una banale distribuzione normale è zero, indipendentemente da quali siano le correlazioni.
Ray Koopman,

1
Penso davvero che il titolo trarrebbe beneficio dall'essere cambiato in "Analogia della correlazione di Pearson per 3 variabili" o simile - renderebbe i collegamenti qui piuttosto più istruttivi
Silverfish

1
@Silverfish Sono d'accordo! Ho aggiornato il titolo, grazie.
PascalVKooten,

Risposte:


11

esso è davvero qualcosa. Per scoprirlo, dobbiamo esaminare ciò che sappiamo sulla correlazione stessa.

  1. La matrice di correlazione di una variabile casuale a valori vettoriali X=(X1,X2,,Xp) è la varianza-covarianza matrice, o semplicemente "varianza," della versione standardizzata di X . Cioè, ogni Xi è sostituito dalla sua versione recente e riscalata.

  2. La covarianza di e X j è l'attesa del prodotto delle loro versioni centrati. Cioè, scrivendo X i = X i - E [ X i ] e X j = X j - E [ X j ] , abbiamoXiXjXi=XiE[Xi]Xj=XjE[Xj]

    Cov(Xi,Xj)=E[XiXj].
  3. La varianza di , che scriverò Var ( X ) , non è un singolo numero. È l'array di valori Var ( X ) i j = Cov ( X i , X j ) .XVar(X)

    Var(X)ij=Cov(Xi,Xj).
  4. Il modo di pensare alla covarianza per la generalizzazione prevista è considerarlo un tensore . Ciò significa che è una raccolta completa dei quantitativi , indicizzati da i e j che va da 1 attraverso p , i cui valori cambiare in modo particolarmente semplice prevedibile quando X subisce una trasformazione lineare. In particolare, sia Y = ( Y 1 , Y 2 , , Y q ) un'altra variabile casuale valutata dal vettore definita davijij1pXY=(Y1,Y2,,Yq)

    Yi=j=1paijXj.

    Le costanti (iejsonoindici-jnon è una potenza) formano unarrayq×pA=(aijijjq×p,j=1,,pei=1,,qA=(aij)j=1,,pi=1,,q . La linearità delle aspettative implica

    Var(Y)ij=aikajlVar(X)kl.

    In notazione matriciale,

    Var(Y)=AVar(X)A.
  5. Tutti i componenti di realtà sono varianze univariate, a causa dell'identità di polarizzazioneVar(X)

    4Cov(Xi,Xj)=Var(Xi+Xj)Var(XiXj).

    Questo ci dice che se capisci le varianze delle variabili casuali univariate, capisci già le covarianze delle variabili bivariate: sono "solo" combinazioni lineari di varianze.


L'espressione nella domanda è perfettamente analoga: le variabili sono state standardizzate come in ( 1 ) . Possiamo capire cosa rappresenta considerando ciò che significa per qualsiasi variabile, standardizzata o meno. Vorremmo sostituire ogni X i con la sua versione centrata, come in ( 2 ) , e formare quantità con tre indici,Xi(1)Xi(2)

μ3(X)ijk=E[XiXjXk].

Questi sono i momenti centrali (multivariati) di grado 3 . Come in , formano un tensore: quando Y = A X , allora(4)Y=AX

μ3(Y)ijk=l,m,nailajmaknμ3(X)lmn.

Gli indici in questa tripla somma vanno oltre tutte le combinazioni di numeri interi da a p1p .

L'analogo dell'identità di polarizzazione è

24μ3(X)ijk=μ3(Xi+Xj+Xk)μ3(XiXj+Xk)μ3(Xi+XjXk)+μ3(XiXjXk).

On the right hand side, μ3 refers to the (univariate) central third moment: the expected value of the cube of the centered variable. When the variables are standardized, this moment is usually called the skewness. Accordingly, we may think of μ3(X) as being the multivariate skewness of X. It is a tensor of rank three (that is, with three indices) whose values are linear combinations of the skewnesses of various sums and differences of the Xi. If we were to seek interpretations, then, we would think of these components as measuring in p dimensions whatever the skewness is measuring in one dimension. In many cases,

  • I primi momenti misurano la posizione of a distribution;

  • I secondi momenti (la matrice varianza-covarianza) misurano la sua diffusione;

  • I secondi momenti standardizzati (le correlazioni) indicano come varia la diffusione in p-dimensional space; and

  • Il terzo e il quarto momento standardizzati sono presi per misurare la forma of a distribution relative to its spread.

Per approfondire cosa potrebbe significare una "forma" multidimensionale, osserviamo che possiamo comprendere PCA come un meccanismo per ridurre qualsiasi distribuzione multivariata a una versione standard situata all'origine e uguali spread in tutte le direzioni. Dopo aver eseguito PCA, quindi, μ3 fornirebbe gli indicatori più semplici della forma multidimensionale della distribuzione. Queste idee si applicano altrettanto bene ai dati quanto alle variabili casuali, poiché i dati possono sempre essere analizzati in termini di distribuzione empirica.


Riferimento

Alan Stuart e J. Keith Ord, Quinta teoria della statistica avanzata di Kendall Quinta edizione, Volume 1: Teoria della distribuzione ; Capitolo 3, Momenti e Cumulanti . Oxford University Press (1987).


Appendix: Proof of the Polarization Identity

Let x1,,xn be algebraic variables. There are 2n ways to add and subtract all n of them. When we raise each of these sums-and-differences to the nth power, pick a suitable sign for each of those results, and add them up, we will get a multiple of x1x2xn.

More formally, let S={1,1}n be the set of all n-tuples of ±1, so that any element sS is a vector s=(s1,s2,,sn) whose coefficients are all ±1. The claim is

(1)2nn!x1x2xn=sSs1s2sn(s1x1+s2x2++snxn)n.

Indeed, the Multinomial Theorem states that the coefficient of the monomial x1i1x2i2xnin (where the ij are nonnegative integers summing to n) in the expansion of any term on the right hand side is

(ni1,i2,,in)s1i1s2i2snin.

In the sum (1), the coefficients involving x1i1 appear in pairs where one of each pair involves the case s1=1, with coefficient proportional to s1 times s1i1, equal to 1, and the other of each pair involves the case s1=1, with coefficient proportional to 1 times (1)i1, equal to (1)i1+1. They cancel in the sum whenever i1+1 is odd. The same argument applies to i2,,in. Consequently, the only monomials that occur with nonzero coefficients must have odd powers of all the xi. The only such monomial is x1x2xn. It appears with coefficient (n1,1,,1)=n! in all 2n terms of the sum. Consequently its coefficient is 2nn!, QED.

We need take only half of each pair associated with x1: that is, we can restrict the right hand side of (1) to the terms with s1=1 and halve the coefficient on the left hand side to 2n1n! . That gives precisely the two versions of the Polarization Identity quoted in this answer for the cases n=2 and n=3: 2212!=4 and 2313!=24.

Of course the Polarization Identity for algebraic variables immediately implies it for random variables: let each xi be a random variable Xi. Take expectations of both sides. The result follows by linearity of expectation.


Well done on explaining so far! Multivariate skewness kind of makes sense. Could you perhaps add an example that would show the importance of this multivariate skewness? Either as an issue in a statistical models, or perhaps more interesting, what real life case would be subject to multivariate skewness :)?
PascalVKooten

3

Hmmm. If we run...

a <- rnorm(100);
b <- rnorm(100);
c <- rnorm(100)
mean((a-mean(a))*(b-mean(b))*(c-mean(c)))/
  (sd(a) * sd(b) * sd(c))

it does seem to center on 0 (I haven't done a real simulation), but as @ttnphns alludes, running this (all variables the same)

a <- rnorm(100)
mean((a-mean(a))*(a-mean(a))*(a-mean(a)))/
  (sd(a) * sd(a) * sd(a))

also seems to center on 0, which certainly makes me wonder what use this could be.


2
The nonsense apparently comes from the fact that sd or variance is a function of squaring, as is covariance. But with 3 variables, cubing occurs in the numerator while denominator remains based on originally squared terms
ttnphns

2
Is that the root of it (pun intended)? Numerator and denominator have the same dimensions and units, which cancel, so that alone doesn't make the measure poorly formed.
Nick Cox

3
@Nick That's right. This is simply one of the multivariate central third moments. It is one component of a rank-three tensor giving the full set of third moments (which is closely related to the order-3 component of the multivariate cumulant generating function). In conjunction with the other components it could be of some use in describing asymmetries (higher-dimensional "skewness") in the distribution. It's not what anyone would call a "correlation," though: almost by definition, a correlation is a second-order property of the standardized variable.
whuber

1

Se è necessario calcolare la "correlazione" tra tre o più variabili, non è possibile utilizzare Pearson, poiché in questo caso sarà diverso per il diverso ordine delle variabili, consultare qui . Se sei interessato alla dipendenza lineare, o quanto bene sono adattati dalla linea 3D, puoi usare PCA, ottenere varianza spiegata per il primo PC, permutare i tuoi dati e trovare probabilità, che questo valore possa essere dovuto a ragioni casuali. Ho discusso qualcosa di simile qui (vedi i dettagli tecnici di seguito).

Codice Matlab

% Simulate our experimental data
x=normrnd(0,1,100,1);
y=2*x.*normrnd(1,0.1,100,1);
z=(-3*x+1.5*y).*normrnd(1,2,100,1);
% perform pca
[loadings, scores,variance]=pca([x,y,z]);
% Observed Explained Variance for first principal component
OEV1=variance(1)/sum(variance)
% perform permutations
permOEV1=[];
for iPermutation=1:1000
    permX=datasample(x,numel(x),'replace',false);
    permY=datasample(y,numel(y),'replace',false);
    permZ=datasample(z,numel(z),'replace',false);
    [loadings, scores,variance]=pca([permX,permY,permZ]);
    permOEV1(end+1)=variance(1)/sum(variance);
end

% Calculate p-value
p_value=sum(permOEV1>=OEV1)/(numel(permOEV1)+1)
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.