Me hicieron esta pregunta en una entrevista.
Digamos que tenemos una matriz de correlación de la forma
Me pidieron que encontrara el valor de gamma, dada esta matriz de correlación.
Pensé que podría hacer algo con los valores propios, ya que todos deberían ser mayores o iguales a 0. (La matriz debería ser semidefinida positiva), pero no creo que este enfoque arroje la respuesta. Me estoy perdiendo un truco.
¿Podría dar una pista para resolver lo mismo?
pearson-r
correlation-matrix
principiante
fuente
fuente
Respuestas:
Ya sabemos que está delimitado entre La matriz de correlación debe ser semidefinida positiva y, por lo tanto, sus principales menores no deben ser negativos.[ - 1 , 1 ]γ [−1,1]
Por lo tanto,
fuente
Aquí hay una solución más simple (y quizás más intuitiva):
Piense en la covarianza como un producto interno sobre un espacio vectorial abstracto . A continuación, las entradas de la matriz de correlación son para los vectores v 1 , v 2 , v 3 , en el que el soporte en ángulo ⟨ v i , v j ⟩ denota el ángulo entre v i y v j .cos⟨vi,vj⟩ v1 v2 v3 ⟨vi,vj⟩ vi vj
No es difícil imaginar que está delimitada por | ⟨ V 1 , v 2 ⟩ ± ⟨ v 1 , v 3 ⟩ | . El límite en su coseno ( γ ) es por lo tanto cos [ ⟨ v 1 , v 2 ⟩ ± ⟨ v 1 , v 3 ⟩ ] . La trigonometría básica da γ ∈ [ 0.6 ×⟨v2,v3⟩ |⟨v1,v2⟩±⟨v1,v3⟩| γ cos[⟨v1,v2⟩±⟨v1,v3⟩] .γ∈[0.6×0.8−0.6×0.8,0.6×0.8+0.6×0.8]=[0,0.96]
Editar: Tenga en cuenta que el en la última línea es realmente cos ⟨ v 1 , v 2 ⟩ cos ⟨ v 1 , v 3 ⟩ ∓ pecado ⟨ v 1 , v 3 ⟩ pecado ⟨ v 1 , v 2 ⟩ - la segunda aparición de 0.6 y 0.8 ocurre por coincidencia gracias a 0.6 2 + 0.8 2 = 10.6×0.8∓0.6×0.8 cos⟨v1,v2⟩cos⟨v1,v3⟩∓sin⟨v1,v3⟩sin⟨v1,v2⟩ 0.62+0.82=1 .
fuente
Esto es lo que quise decir en mi comentario inicial a la respuesta y lo que percibo que @yangle podría estar hablando (aunque no seguí / verifiqué su cálculo).
"La matriz debe ser semidefinida positiva" implica que los vectores variables son un grupo en el espacio euclidiano. El caso de la matriz de correlación es más fácil que la matriz de covarianza porque las tres longitudes de los vectores están fijadas en 1. Imagine 3 vectores unitarios XYZ y recuerde que es el coseno del ángulo . Entonces, cos α = r x y = 0.6 , y cos β = r y z = 0.8 . ¿Cuáles podrían ser los límites para cos γ = r x zr cosα=rxy=0.6 cosβ=ryz=0.8 cosγ=rxz ? Esa correlación puede tomar cualquier valor definido por Z circunscribiendo sobre Y (manteniendo el ángulo con él):ryz=0.8
A medida que gira, dos posiciones son notables como wrt X final, ambas son cuando Z cae en el plano XY. Uno está entre X e Y, y el otro está en el lado opuesto de Y. Estos se muestran mediante vectores azules y rojos. En ambas posiciones, exactamente la configuración XYZ (matriz de correlación) es singular. Y estos son el ángulo mínimo y máximo (de ahí la correlación) que Z puede alcanzar wrt X.
Al elegir la fórmula trigonométrica para calcular la suma o diferencia de ángulos en un plano, tenemos:
como los límites.cosγ=rxyryz∓(1−r2xy)(1−r2yz)−−−−−−−−−−−−−−√=[0,0.96]
Esta vista geométrica es solo otra (y un caso específico y más simple en 3D) sobre lo que @rightskewed expresó en términos algebraicos (menores, etc.).
fuente
Jugar con menores principales puede estar bien en problemas de 3 por 3 o tal vez de 4 por 4, pero se queda sin gasolina y estabilidad numérica en dimensiones más altas.
Para un único problema de parámetro "libre" como este, es fácil ver que el conjunto de todos los valores que forman la matriz psd será un intervalo único. Por lo tanto, es suficiente encontrar el mínimo y el máximo de tales valores. Esto se puede lograr fácilmente resolviendo numéricamente un par de problemas de programación SemiDefinite lineal (SDP):
Por ejemplo, estos problemas pueden formularse y resolverse numéricamente utilizando YALMIP en MATLAB.
Rápido, fácil y confiable.
Por cierto, si el entrevistador de smarty pants que hace la pregunta no sabe que la Programación SemiDefinite, que está bien desarrollada y tiene optimizadores numéricos sofisticados y fáciles de usar para resolver problemas prácticos de manera confiable, puede usarse para resolver este problema, y muchos más. variantes difíciles, dígale que esto ya no es 1870, y es hora de aprovechar los desarrollos computacionales modernos.
fuente
Consideremos el siguiente conjunto convexo
El límite del eliptograma es una superficie cúbica definida por
Por lo tanto, la intersección del eliptograma con los dos planos es el segmento de línea parametrizado por
fuente
Toda matriz semi-definida positiva es una matriz de correlación / covarianza (y viceversa).
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 check2n minors in this case, versus just n for positive definite.
fuente