나는 인터뷰에서이 질문을 받았다.
[ 1 0.6 0.8 0.6 1 γ 0.8 γ 1 ] 형식의 상관 행렬이 있다고 가정하겠습니다 .
이 상관 관계 매트릭스를 감안할 때 감마 값을 찾아야했습니다.
고유 값으로 모두 0 이상이어야하기 때문에 무언가를 할 수 있다고 생각했습니다 (매트릭스는 양의 반올림해야합니다). 트릭이 없습니다.
동일한 문제를 해결하기위한 힌트를 제공해 주시겠습니까?
나는 인터뷰에서이 질문을 받았다.
[ 1 0.6 0.8 0.6 1 γ 0.8 γ 1 ] 형식의 상관 행렬이 있다고 가정하겠습니다 .
이 상관 관계 매트릭스를 감안할 때 감마 값을 찾아야했습니다.
고유 값으로 모두 0 이상이어야하기 때문에 무언가를 할 수 있다고 생각했습니다 (매트릭스는 양의 반올림해야합니다). 트릭이 없습니다.
동일한 문제를 해결하기위한 힌트를 제공해 주시겠습니까?
답변:
다음은 더 단순하고 직관적 인 솔루션입니다.
공분산을 추상 벡터 공간에 대한 내부 곱으로 생각하십시오 . 이어서, 상관 행렬의 엔트리는 벡터를위한이 v에 1 , V 2 , V 3 각도 브래킷, ⟨ V 나 , 브이 j는 ⟩ 나타내고 각도 사이의 V I 및 V의 J를 .
것을 시각화하는 것은 어렵지 않아 에 의해 제한되어 | ⟨ V 1 , V 2 ⟩ ± ⟨ V 1 , V 3 ⟩ | . ITS의 코사인에 바인딩 ( γ는 )이고 따라서 왜냐하면 [ ⟨ V 1 , V 2 ⟩ ± ⟨ V 1 , V 3 ⟩ ] . 그런 다음 기본 삼각법으로 γ ∈ [ 0.6 .
편집 : 참고하는 것이 마지막 행의는 정말 왜냐하면 ⟨ V 1 , V 2 ⟩ 왜냐하면 ⟨ V 1 , V 3 ⟩ ∓ 죄 ⟨ V 1 , V 3 ⟩ 죄 ⟨ V 1 , V 2 ⟩ -0.6과 0.8의 두 번째 출현은 0.6 2 + 0.8 2 = 1로 인해 우연히 발생합니다..
여기에 답에 대한 초기 의견에서 @yangle이 말할 수있는 것으로 생각한 것이 있습니다 (계산을 따르거나 확인하지는 않았지만).
"매트릭스는 양의 반올림이어야합니다" 는 변수 벡터가 유클리드 공간에 묶여 있음을 의미 합니다. 3 개의 벡터 길이가 1로 고정되어 있기 때문에 상관 행렬의 경우 공분산 행렬보다 쉽습니다. 3 개의 단위 벡터 XYZ를 상상하고 이 각도 의 코사인 임을 기억하십시오 . 따라서 cos α = r x y = 0.6 이고 cos β = r y z = 0.8 입니다. cos 의 경계는 무엇입니까? γ = r x z? 이 상관 관계는 Z에 대해 Z를 둘러싸고 정의한 값을 가질 수 있습니다 (유지 각도 ).
그것이 회전함에 따라, 두 위치는 Z가 평면 XY로 떨어질 때 궁극적 인 wrt X로서 현저하다. 하나는 X와 Y 사이에 있고 다른 하나는 Y의 반대편에 있습니다. 이들은 파란색과 빨간색 벡터로 표시됩니다. 이 두 위치에서 XYZ 구성 (상관 행렬)은 단수입니다. 그리고 이것들은 최소 및 최대 각도 (따라서 상관 관계) Z는 wrt X를 얻을 수 있습니다.
평면에서 각도의 합 또는 차이를 계산하기 위해 삼각법을 선택하면 다음과 같은 이점 이 있습니다.
이 기하학적 관점은 @rightskewed가 대수적 용어 (사소한 것 등)로 표현 된 것에 대한 또 하나의 (그리고 3D 경우의 구체적이고 간단한) 모습입니다.
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.
이와 같은 단일 "자유"매개 변수 문제의 경우 행렬 psd를 만드는 모든 값 집합이 단일 간격임을 쉽게 알 수 있습니다. 따라서 최소값과 최대 값을 찾는 것으로 충분합니다. 이는 한 쌍의 선형 반 고정 프로그래밍 (SDP) 문제를 수치 적으로 해결하여 쉽게 달성 할 수 있습니다.
예를 들어, MATLAB에서 YALMIP를 사용하여 이러한 문제를 공식화하고 수치 적으로 해결할 수 있습니다.
빠르고 쉽고 안정적입니다.
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.
Let us consider the following convex set
which is a spectrahedron named -dimensional elliptope. Here's a depiction of this elliptope
Intersecting this elliptope with the planes defined by and by , we obtain a line segment whose endpoints are colored in yellow
The boundary of the elliptope is a cubic surface defined by
If and , then the cubic equation above boils down to the quadratic equation
Thus, the intersection of the elliptope with the two planes is the line segment parametrized by
Every positive semi-definite matrix is a correlation/covariance matrix (and vice versa).
To see this, start with a positive semi-definite matrix and take its eigen-decomposition (which exists by the spectral theorm, since is symmetric) where is a matrix of orthonormal eigenvectors and is a diagonal matrix with eigen values on the diagonal. Then, let where 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, and note that also has mean zero, and covariance (and correlation) matrix .
Now, to see every correlation/covariance matrix is positive semi-definite is simple: Let be a correlation matrix. Then, is easy to see, and so the Rayleigh quotient is non-negative for any non-zero so is positive semi-definite.
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 minors in this case, versus just for positive definite.