Analogie der Pearson-Korrelation für 3 Variablen


17

Ich interessiere mich dafür, ob eine "Korrelation" von drei Variablen etwas ist oder nicht, und wenn ja, was wäre das?

Pearson-Produktmoment-Korrelationskoeffizient

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

Nun die Frage für 3 Variablen: Ist

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

etwas?

In R scheint es etwas Interpretierbares zu sein:

> 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

Normalerweise betrachten wir die Korrelation zwischen 2 Variablen, wenn der Wert einer festen dritten Variablen gegeben ist. Könnte das jemand klären?


2
1) In Ihrer bivariaten Pearson-Formel bedeutet "E" (Mittelwert in Ihrem Code) Division durch n, dann st. Abweichungen müssen auch auf n basieren (nicht auf n-1). 2) Lassen Sie alle drei Variablen die gleiche Variable sein. In diesem Fall erwarten wir eine Korrelation von 1 (wie im bivariaten Fall), aber leider ...
ttnphns 13.08.13

Für eine trivariate Normalverteilung ist es Null, unabhängig von den Korrelationen.
Ray Koopman

1
Ich denke wirklich, dass der Titel davon profitieren würde, in "Analogy of Pearson correlation for 3 variables" oder ähnlich geändert zu werden - es würde die Links hier etwas informativer machen
Silverfish

1
@ Silverfish Ich bin damit einverstanden! Ich habe den Titel aktualisiert, danke.
PascalVKooten

Antworten:


11

Es ist in der Tat etwas. Um dies herauszufinden, müssen wir untersuchen, was wir über die Korrelation selbst wissen.

  1. Die Korrelationsmatrix eines Vektors bewertet Zufallsvariable X=(X1,X2,,Xp) ist die Varianz-Kovarianz - Matrix, oder einfach als "Varianz" , der standardisierten Version von X . Das heißt, jedes Xi wird durch seine neu zentrierte, neu skalierte Version ersetzt.

  2. Die Kovarianz von und X j ist die Erwartung an das Produkt ihrer zentrierten Versionen. Das heißt , wir schreiben X ' i = X i - E [ X i ] und X ' j = X j - E [ X j ]XiXjXi=XiE[Xi]Xj=XjE[Xj]

    Cov(Xi,Xj)=E[XiXj].
  3. Die Varianz von , die ich Var ( X ) schreiben werde , ist keine einzelne Zahl. Es ist das Array von Werten Var ( X ) i j = Cov ( X i , X j ) .XVar(X)

    Var(X)ij=Cov(Xi,Xj).
  4. Die Kovarianz für die beabsichtigte Verallgemeinerung wird als Tensor betrachtet . Das heißt , es ist eine ganze Sammlung von Mengen , indiziert durch i und j im Bereich von 1 bis p , deren Werte in einer besonders einfachen vorhersehbarer Weise verändern , wenn X eine lineare Transformation unterzogen wird . Insbesondere sei Y = ( Y 1 , Y 2 , ... , Y q ) eine andere vektorielle Zufallsvariable, die durch definiert istvijij1pXY=(Y1,Y2,,Yq)

    Yi=j=1paijXj.

    Die Konstanten (iundjsindIndizes-jist keine Potenz) bilden einq×p-ArrayA=(aaijijjq×p,j=1,...,pundi=1,...,q. Die Linearität der Erwartung impliziertA=(aij)j=1,,pi=1,,q

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

    In der Matrixnotation

    Var(Y)=AVar(X)A.
  5. Alle Komponenten von sind aufgrund der Polarisationsidentität tatsächlich univariate VarianzenVar(X)

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

    Dies sagt uns, dass Sie, wenn Sie Varianzen univariater Zufallsvariablen verstehen, bereits Kovarianzen bivariater Variablen verstehen: Sie sind "nur" lineare Kombinationen von Varianzen.


Der Ausdruck in der Frage ist vollkommen analog: Die Variablen wurden wie in ( 1 ) standardisiert . Wir können verstehen, was es darstellt, wenn wir überlegen, was es für eine Variable bedeutet, ob standardisiert oder nicht. Wir würden jedes X i durch seine zentrierte Version wie in ( 2 ) ersetzen und Mengen mit drei Indizes bilden,Xi(1)Xi(2)

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

These are the central (multivariate) moments of degree 3. As in (4), they form a tensor: when Y=AX, then

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

The indexes in this triple sum range over all combinations of integers from 1 through p.

The analog of the Polarization Identity is

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,

  • The first moments measure the location of a distribution;

  • The second moments (the variance-covariance matrix) measure its spread;

  • The standardized second moments (the correlations) indicate how the spread varies in p-dimensional space; and

  • The standardized third and fourth moments are taken to measure the shape of a distribution relative to its spread.

To elaborate on what a multidimensional "shape" might mean, observed that we can understand PCA as a mechanism to reduce any multivariate distribution to a standard version located at the origin and equal spreads in all directions. After PCA is performed, then, μ3 would provide the simplest indicators of the multidimensional shape of the distribution. These ideas apply equally well to data as to random variables, because data can always be analyzed in terms of their empirical distribution.


Reference

Alan Stuart & J. Keith Ord, Kendall's Advanced Theory of Statistics Fifth Edition, Volume 1: Distribution Theory; Chapter 3, Moments and Cumulants. 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

Wenn Sie die "Korrelation" zwischen drei oder mehr Variablen berechnen müssen, können Sie Pearson nicht verwenden, da dies in diesem Fall für die unterschiedliche Reihenfolge der Variablen unterschiedlich ist . Wenn Sie an linearen Abhängigkeiten interessiert sind oder wie gut diese durch die 3D-Linie angepasst sind, können Sie PCA verwenden, die erklärte Varianz für den ersten PC ermitteln, Ihre Daten permutieren und die Wahrscheinlichkeit ermitteln, dass dieser Wert zufälligen Gründen entspricht. Ich habe hier etwas Ähnliches besprochen (siehe Technische Details unten).

Matlab-Code

% 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)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.