Completamento di una matrice di correlazione 3x3: due coefficienti dei tre dati


20

Mi è stata posta questa domanda in un'intervista.

Diciamo che abbiamo una matrice di correlazione della forma

[10.60.80.61γ0.8γ1]

Mi è stato chiesto di trovare il valore di gamma, data questa matrice di correlazione.
Ho pensato di poter fare qualcosa con gli autovalori, dal momento che dovrebbero essere tutti maggiori o uguali a 0. (Matrix dovrebbe essere semidefinito positivo) - ma non credo che questo approccio fornirà la risposta. Mi manca un trucco.

Potresti fornire un suggerimento per risolvere lo stesso?


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
whuber

1
Una ricerca di questo sito ha portato direttamente a uno dei (diversi) thread contenenti le formule pertinenti: stats.stackexchange.com/questions/5747 . Ci sono anche alcuni grafici utili nella risposta di felix s .
whuber

Risposte:


21

Sappiamo già che è limitato tra [ - 1 , 1 ] La matrice di correlazione dovrebbe essere semidefinita positiva e quindi i suoi principali minori dovrebbero essere non negativiγ[1,1]

Pertanto,

1(1γ2)0.6(0.60.8γ)+0.8(0.6γ0.8)0γ2+0.96γ0γ(γ0.96)0 and 1γ10γ0.96

4
@novice Potresti voler leggere di Criterio di Sylvester
diritti alterati

Bella risposta. Aggiungerei quanto segue: Il modo popolare per ottenere la gamma è tentare di trovare la gamma che porterebbe alla matrice di correlazione della più piccola norma nucleare (nota anche come ky-fan standard) mentre si risolvono le equazioni di cui sopra. Per ulteriori informazioni, cerca "completamento matrice", "rilevamento compressivo" o consulta questo rapporto sull'argomento bit.ly/2iwY1nW .
Mustafa S Eisa,

1
Perché ciò sia una prova, è necessario un risultato nell'altra direzione: se tutti i minori principali non banali sono e la matrice ha un determinante 0 , allora la matrice è semidefinita positiva. >00
Federico Poloni,

10

Ecco una soluzione più semplice (e forse più intuitiva):

Pensa alla covarianza come a un prodotto interiore su uno spazio vettoriale astratto . Poi, le voci della matrice di correlazione sono per i vettori v 1 , v 2 , v 3 , in cui la staffa angolare v i , v j denota l' angolo tra v i e v j .cosvi,vjv1v2v3vi,vjvivj

It is not hard to visualize that v2,v3 is bounded by |v1,v2±v1,v3|. The bound on its cosine (γ) is thus cos[v1,v2±v1,v3]. Basic trigonometry then gives γ[0.6×0.80.6×0.8,0.6×0.8+0.6×0.8]=[0,0.96].

Edit: Note that the 0.6×0.80.6×0.8 in the last line is really cosv1,v2cosv1,v3sinv1,v3sinv1,v2 -- the second appearance of 0.6 and 0.8 occurs by coincidence thanks to 0.62+0.82=1.


1
+1, A legitimate geometric reasoning (saying it, I didn't check your computations nonetheless). This is exactly what I've proposed in comments to the question (unfortunately, all the comments were moved by moderator to chat, see the link above).
ttnphns

It seems to me you have "proven" that all correlations must be non-negative, because it appears your calculation will always give zero for the lower limit. If that's not the case, then could you elaborate on how your computation works in general? I really don't trust--or perhaps don't understand--your bound, because in three or more dimensions you can always find a v1 for which both v1v2=v1v3=0 and then your bound implies v2v3 is always zero! (cc @ttnphns)
whuber

@whuber: Sorry about the confusion. The calculation does not always give zero for the lower limit. I've amended my answer.
yangle

How do you respond to my last concern? It seems to indicate your bounds are incorrect.
whuber

@whuber: In your case, ⟨v1,v2⟩=⟨v1,v3⟩=π/2, hence the bound |⟨v1,v2⟩±⟨v1,v3⟩| is [0, π] as expected. The bound cos⟨v1,v2⟩cos⟨v1,v3⟩∓sin⟨v1,v3⟩sin⟨v1,v2⟩ on γ also works out to be [-1, 1].
yangle

4

Here is what I meant in my initial comment to the answer and what I perceive @yangle may be speaking about (although I didn't follow/check their computation).

"Matrix should be positive semidefinite" implies the variable vectors are a bunch in Euclidean space. The case of correlation matrix is easier than covariance matrix because the three vector lengths are fixed to be 1. Imagine 3 unit vectors X Y Z and remember that r is the cosine of the angle. So, cosα=rxy=0.6, and cosβ=ryz=0.8. What might be the boundaries for cosγ=rxz? That correlation can take on any value defined by Z circumscribing about Y (keeping angle ryz=0.8 with it):

enter image description here

As it spins, two positions are remarkable as ultimate wrt X, both are when Z falls into the plane XY. One is between X and Y, and the other is on the opposite side of Y. These are shown by blue and red vectors. At both these positions exactly the configuration XYZ (correlation matrix) is singular. And these are the minimal and maximal angle (hence correlation) Z can attain wrt X.

Picking the trigonometric formula to compute sum or difference of angles on a plane, we have:

cosγ=rxyryz(1rxy2)(1ryz2)=[0,0.96] as the bounds.

This geometric view is just another (and a specific and simpler in 3D case) look on what @rightskewed expressed in algebraic terms (minors etc.).


If X,Y,Z are random variables, how do you map them to vectors in 3d space (They can only be vectors in 1d space). Also if the RV's are Nx1, then they will be vectors in N dimensional space?
novice

@novice Yes, they are initially 3 vectors in Nd space, but only 3 dimensions are nonredundant. Please follow the 2nd link in the answer and read further reference there to subject space where it is explained.
ttnphns

4

Playing around with principal minors may be fine on 3 by 3 or maybe 4 by 4 problems, but runs out of gas and numerical stability in higher dimensions.

For a single "free" parameter problem such as this, it's easy to see that that the set of all values making the matrix psd will be a single interval. Therefore, it is sufficient to find the minimum and maximum such values. This can easily be accomplished by numerically solving a pair of linear SemiDefinite Programming (SDP) problems:

  1. minimize γ subject to matrix is psd.
  2. maximize γ subject to matrix is psd.

For example, these problems can be formulated and numerically solved using YALMIP under MATLAB.

  1. gamma = sdpvar; A = [1 .6 .8;.6 1 gamma;.8 gamma 1]; optimize(A >= 0, gamma)
  2. optimize(A >= 0,-gamma)

Fast, easy, and reliable.

BTW, if the smarty pants interviewer asking the question doesn't know that SemiDefinite Programming, which is well-developed and has sophisticated and easy to use numerical optimizers for reliably solving practical problems, can be used to solve this problem, and many much more difficult variants, tell him/her that this is no longer 1870, and it's time to take advantage of modern computational developments.


4

Let us consider the following convex set

{(x,y,z)R3:[1xyx1zyz1]O3}

which is a spectrahedron named 3-dimensional elliptope. Here's a depiction of this elliptope

enter image description here

Intersecting this elliptope with the planes defined by x=0.6 and by y=0.8, we obtain a line segment whose endpoints are colored in yellow

enter image description here

The boundary of the elliptope is a cubic surface defined by

det[1xyx1zyz1]=1+2xyzx2y2z2=0

If x=0.6 and y=0.8, then the cubic equation above boils down to the quadratic equation

0.96zz2=z(0.96z)=0

Thus, the intersection of the elliptope with the two planes is the line segment parametrized by

{(0.6,0.8,t)0t0.96}

1

Ogni matrice semi-definita positiva è una matrice di correlazione / covarianza (e viceversa).

Per vedere questo, inizia con una matrice semi-definita positiva UN e prende la sua decomposizione degli automi (che esiste dal teore spettrale, da allora UN è simmetrico) UN=UDUT dove U è una matrice di autovettori ortogonali e Dè una matrice diagonale con valori di eigen sulla diagonale. Quindi, lasciaB=UD1/2UT dove D1/2 è una matrice diagonale con la radice quadrata di eignevalues ​​sulla diagonale.

Quindi, prendi un vettore con iid zero medio e varianza 1 voci, X e notare che BX ha anche matrice media zero e covarianza (e correlazione) UN.

Ora, vedere ogni matrice di correlazione / covarianza è semi-definito positivo è semplice: Let R=E[XXT]essere una matrice di correlazione. Poi,R=RT è facile da vedere e un'TRun'=E[(un'TX)2]0 quindi il quoziente di Rayleigh non è negativo per qualsiasi diverso da zero un' così R è semi-definito positivo.

Now, noting that a symmetric matrix is positive semi-definite if and only if its eigenvalues are non-negative, we see that your original approach would work: calculate the characteristic polynomial, look at its roots to see if they are non-negative. Note that testing for positive definiteness is easy with Sylvester's Criterion (as mentioned in another answer's comment; a matrix is positive definite if and only if the principal minors all have positive determinant); there are extensions for semidefinite (all minors have non-negative determinant), but you have to check 2n minors in this case, versus just n for positive definite.

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.