Completando uma matriz de correlação 3x3: dois coeficientes dos três dados


20

Fiz essa pergunta em uma entrevista.

Digamos que temos uma matriz de correlação da forma

[10,60,80,61γ0,8γ1]

Me pediram para encontrar o valor da gama, dada essa matriz de correlação.
Eu pensei que poderia fazer algo com os autovalores, já que eles deveriam ser maiores ou iguais a 0. (Matrix deve ser semidefinido positivo) - mas não acho que essa abordagem dê a resposta. Estou perdendo um truque.

Você poderia fornecer uma dica para resolver o mesmo?


Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
whuber

1
Uma pesquisa neste site levou diretamente a um dos (vários) tópicos que continham fórmulas relevantes: stats.stackexchange.com/questions/5747 . Também existem alguns gráficos úteis na resposta de felix s .
whuber

Respostas:


21

Já sabemos que está delimitado entre [ - 1 , 1 ] A matriz de correlação deve ser positiva semidefinida e, portanto, seus principais menores devem ser não negativosγ[1,1]

Assim,

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 Você pode querer ler sobre o Critério de Sylvester
rightskewed

Ótima resposta. Eu acrescentaria o seguinte: A maneira popular de obter gama é tentar encontrar a gama que levaria à matriz de correlação da menor norma nuclear possível (também conhecida como norma ky-fan) ao resolver as equações acima. Para obter mais informações, consulte "conclusão da matriz", "sensor de compressão" ou consulte este relatório no tópico bit.ly/2iwY1nW .
Mustafa S Eisa

1
Para que isso seja uma prova, é necessário um resultado na outra direção: se todos os menores líderes não triviais forem e a matriz tiver determinante 0 , a matriz será semidefinida positiva. >00
Federico Poloni

10

Aqui está uma solução mais simples (e talvez mais intuitiva):

Pense na covariância como um produto interno sobre um espaço vetorial abstrato . Em seguida, as entradas na matriz de correlação são para os vectores de v 1 , v 2 , v 3 , em que o ângulo de montagem v i , v j indica o ângulo entre o v i e v j .cosvi,vjv1v2v3vi,vjvivj

Não é difícil visualizar que é limitada por | V 1 , v 2± v 1 , v 3| . O ligado na sua co-seno ( γ ) é, assim, cos [vv2,v3|v1,v2±v1,v3|γ . A trigonometria básica forneceγ[0,6×cos[v1,v2±v1,v3] .γ[0.6×0.80.6×0.8,0.6×0.8+0.6×0.8]=[0,0.96]

Edit: Note que o na última linha é realmente cos v 1 , v 2cos v 1 , v 3pecado v 1 , v 3pecado v 1 , v 2 - a segunda aparição de 0.6 e 0.8 ocorre por coincidência, graças a 0.6 2 + 0.8 2 = 10.6×0.80.6×0.8cosv1,v2cosv1,v3sinv1,v3sinv1,v20.62+0.82=1.


1
+1, um raciocínio geométrico legítimo (dizendo isso, no entanto, não verifiquei seus cálculos). Foi exatamente isso que propus nos comentários à pergunta (infelizmente, todos os comentários foram movidos pelo moderador para conversar, veja o link acima).
precisa saber é o seguinte

Parece-me que você "provou" que todas as correlações devem ser não negativas, porque parece que seu cálculo sempre dará zero para o limite inferior. Se esse não for o caso, você poderia elaborar como o seu cálculo funciona em geral? Realmente não confio - ou talvez não entenda - o seu limite, porque em três ou mais dimensões você sempre pode encontrar um para o qual ambos v 1v 2 = v 1v 3 = 0 e depois seu limite implica que v 2v 3 é sempre zero! (cc @ttnphns)v1v1v2=v1v3=0v2v3
whuber

@ whuber: Desculpe pela confusão. O cálculo nem sempre fornece zero para o limite inferior. Eu alterei minha resposta.
yangle

Como você responde à minha última preocupação? Parece indicar que seus limites estão incorretos.
whuber

@whuber: No seu caso, ⟨v1, v2⟩ = ⟨v1, v3⟩ = π / 2, daí o limite | ⟨v1, v2⟩ ± ⟨v1, v3⟩ | é [0, π] conforme o esperado. O cos⟨v1, v2⟩cos⟨v1, v3⟩∓sin⟨v1, v3⟩sin⟨v1, v2⟩ em γ também funciona como [-1, 1].
yangle

4

Aqui está o que eu quis dizer no meu comentário inicial à resposta e o que eu percebo que @yangle pode estar falando (embora eu não tenha seguido / verificado o cálculo).

"Matriz deve ser semidefinida positiva" implica que os vetores variáveis ​​são um monte no espaço euclidiano. O caso da matriz de correlação é mais fácil do que a matriz de covariância, porque os três comprimentos dos vetores são fixados em 1. Imagine 3 vetores unitários XYZ e lembre-se de que é o cosseno do ângulo . Portanto, cos α = r x y = 0,6 e cos β = r y z = 0,8 . Quais podem ser os limites para cos γ = r x zrcosα=rxy=0.6cosβ=ryz=0.8cosγ=rxz? Essa correlação pode assumir qualquer valor definido por Z circunscrevendo sobre Y (mantendo o ângulo com ele):ryz=0.8

enter image description here

Enquanto gira, duas posições são notáveis ​​como o último wrt X, ambas são quando Z cai no plano XY. Um está entre X e Y, e o outro está no lado oposto de Y. Estes são mostrados por vetores azuis e vermelhos. Em ambas as posições, exatamente a configuração XYZ (matriz de correlação) é singular. E esses são os ângulos mínimo e máximo (daí a correlação) Z pode atingir X errado.

Escolhendo a fórmula trigonométrica para calcular a soma ou diferença de ângulos em um plano, temos:

como limites.cosγ=rxyryz(1rxy2)(1ryz2)=[0,0.96]

Essa visualização geométrica é apenas outra (e uma específica e mais simples no caso 3D) sobre o que @rightskewed expressa em termos algébricos (menores etc.).


Se X, Y, Z são variáveis ​​aleatórias, como você as mapeia para vetores no espaço 3d (eles podem ser vetores apenas no espaço 1d). Além disso, se os RVs são Nx1, então eles serão vetores no espaço dimensional N?
noviço

@novice Sim, eles são inicialmente 3 vetores no espaço Nd, mas apenas 3 dimensões não são redundantes. Por favor, siga o 2º link na resposta e leia outras referências lá para o espaço do assunto, onde é explicado.
ttnphns

4

Brincar com os principais menores de idade pode ser bom em problemas de 3 por 3 ou talvez 4 por 4, mas fica sem gás e com estabilidade numérica em dimensões mais altas.

Para um único problema de parâmetro "livre" como esse, é fácil ver que o conjunto de todos os valores que compõem o psd da matriz será um intervalo único. Portanto, é suficiente encontrar os valores mínimos e máximos. Isso pode ser feito facilmente, resolvendo numericamente um par de problemas lineares de Programação Semi-Definida (SDP):

  1. minimizar γ sujeito à matriz é psd.
  2. maximizar γ sujeito à matriz é psd.

Por exemplo, esses problemas podem ser formulados e resolvidos numericamente usando o YALMIP no MATLAB.

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

Rápido, fácil e confiável.

BTW, se o entrevistador do smarty pants fazer a pergunta não souber que a Programação SemiDefinita, que é bem desenvolvida e possui otimizadores numéricos sofisticados e fáceis de usar para resolver problemas práticos com segurança, pode ser usada para resolver esse problema e muito mais. variantes difíceis, diga a ele que isso não é mais 1870 e que é hora de aproveitar os desenvolvimentos computacionais modernos.


4

Vamos considerar o seguinte conjunto convexo

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

que é um espectroedro chamado3dimensional elliptope . Aqui está uma representação deste elíptico

enter image description here

Interseção deste elíptico com os planos definidos por x=0,6 e por y=0,8, obtemos um segmento de linha cujos pontos finais são coloridos em amarelo

enter image description here

O limite do elíptico é uma superfície cúbica definida por

det[1xyx1zyz1]=1+2xyz-x2-y2-z2=0 0

E se x=0,6 e y=0,8, então a equação cúbica acima se resume à equação quadrática

0,96z-z2=z(0,96-z)=0 0

Assim, a interseção do elíptico com os dois planos é o segmento de linha parametrizado por

{(0,6,0,8,t)0 0t0,96}

1

Toda matriz semi-definida positiva é uma matriz de correlação / covariância (e vice-versa).

Para ver isso, comece com uma matriz semi-definida positiva UMA e tomar sua decomposição autônoma (que existe pela forma espectral, já que UMA is symmetric) A=UDUT where U is a matrix of orthonormal eigenvectors and D is a diagonal matrix with eigen values on the diagonal. Then, let B=UD1/2UT where D1/2 is a diagonal matrix with the square root of eignevalues on the diagonal.

Then, take a vector with i.i.d. mean zero and variance 1 entries, x and note that Bx also has mean zero, and covariance (and correlation) matrix A.

Now, to see every correlation/covariance matrix is positive semi-definite is simple: Let R=E[xxT] be a correlation matrix. Then, R=RT is easy to see, and aTRa=E[(aTx)2]0 so the Rayleigh quotient is non-negative for any non-zero a so R is positive semi-definite.

Agora, observando que uma matriz simétrica é semi-definida positiva, se e somente se seus autovalores forem negativos, vemos que sua abordagem original funcionaria: calcule o polinômio característico, observe suas raízes para ver se são não-negativos. Observe que é fácil testar a certeza positiva com o Critério de Sylvester (como mencionado no comentário de outra resposta; uma matriz é positiva definida se e somente se os principais menores todos tiverem determinante positivo); existem extensões para semidefinido (todos os menores têm determinante não negativo), mas você deve verificar2n menores neste caso, contra apenas n para definitivo positivo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.