161 votos

¿Por qué el eigenvector de una matriz de covarianza es igual a un componente principal?

Si tengo una matriz de covarianza para un conjunto de datos y la multiplico por uno de sus vectores propios. Digamos el vector propio con el eigenvalor más alto. El resultado es el vector propio o una versión escalada del vector propio.

¿Qué me dice realmente esto? ¿Por qué es este el componente principal? ¿Qué propiedad lo convierte en un componente principal? Geométricamente, entiendo que el componente principal (vector propio) estará inclinado en la pendiente general de los datos (hablando en términos generales). Una vez más, ¿alguien puede ayudar a entender por qué sucede esto?

160voto

theog Puntos 585

Respuesta corta: El autovector con el mayor autovalor es la dirección a lo largo de la cual el conjunto de datos tiene la máxima varianza. Medita sobre esto.

Respuesta larga: Digamos que quieres reducir la dimensionalidad de tu conjunto de datos, digamos a solo una dimensión. En general, esto significa elegir un vector unitario $u$, y reemplazar cada punto de datos, $x_i$, con su proyección a lo largo de este vector, $u^T x_i$. Por supuesto, debes elegir $u$ de manera que retengas la mayor cantidad de variación de los puntos de datos posible: si tus puntos de datos se alinean a lo largo de una línea y eliges $u$ ortogonal a esa línea, todos los puntos de datos se proyectarían en el mismo valor, ¡y perderías casi toda la información en el conjunto de datos! Entonces te gustaría maximizar la varianza de los nuevos valores de datos $u^T x_i$. No es difícil demostrar que si la matriz de covarianza de los puntos de datos originales $x_i$ era $\Sigma$, la varianza de los nuevos puntos de datos es simplemente $u^T \Sigma u$. Como $\Sigma$ es simétrica, el vector unitario $u$ que maximiza $u^T \Sigma u$ no es otra cosa que el autovector con el mayor autovalor.

Si quieres retener más de una dimensión de tu conjunto de datos, en principio lo que puedes hacer es primero encontrar el mayor componente principal, llámalo $u_1$, luego restar eso de todos los puntos de datos para obtener un conjunto de datos "aplanado" que no tiene varianza a lo largo de $u_1$. Encuentra el componente principal de este conjunto de datos aplanado, llámalo $u_2$. Si te detienes aquí, $u_1$ y $u_2$ serían una base del subespacio bidimensional que retiene la mayor varianza de los datos originales; o, puedes repetir el proceso y obtener tantas dimensiones como desees. Resulta que todos los vectores $u_1, u_2, \ldots$ que obtienes de este proceso son simplemente los autovectores de $\Sigma$ en orden decreciente de autovalor. Por eso estos son los componentes principales del conjunto de datos.

2 votos

Gran explicación, pero ¿no son $u$ y $x$ ambos vectores columna? Si este es el caso, ¿no debería ser $u^Tx$ un número, es decir, un vector 1x1? ¿Por qué llamas vector al producto interno? Siento que el vector proyectado debería ser $u^Txu$ en su lugar. Por favor corregidme si estoy equivocado. ¡Muchas gracias!

2 votos

@ Filtro de artículo: Sí, $u^Tx$ es un escalar (nota que no lo llamo un vector). Reemplazas cada punto $x$ con el número $u^Tx$, convirtiendo un conjunto de datos de $n$ dimensiones en un conjunto de datos de $1$ dimensión.

1 votos

$u$ es un vector unitario n-dimensional, $x_i$ es un vector n-dimensional. ¿Por qué llamar $u^{T}x_i$ una proyección de $x_i$ sobre un vector paralelo a $u$? Es completamente diferente a la proyección ortogonal, entonces, ¿por qué llamarlo proyección? ¿Y de dónde proviene $u^{T}x_i$?

31voto

thejh Puntos 143

Alguna explicación informal:

La matriz de covarianza $C_y$ (es simétrica) codifica las correlaciones entre variables de un vector. En general, una matriz de covarianza no es diagonal (es decir, tiene correlaciones no nulas con respecto a diferentes variables).

Pero es interesante preguntar, ¿es posible diagonalizar la matriz de covarianza cambiando la base del vector?. En este caso, no habrá (es decir, cero) correlaciones entre diferentes variables del vector.

La diagonalización de esta matriz simétrica es posible con la descomposición de valores propios. Puedes leer Un Tutorial sobre Análisis de Componentes Principales (páginas 6-7), de Jonathon Shlens, para obtener una buena comprensión.

1 votos

¡La parte "Diagonalizar la matriz de covarianza" es perspicaz! ¡Gracias!

13voto

Vincent Spruyt Puntos 1

Si proyectamos nuestros datos $D$ en cualquier vector $\vec{v}$, estos datos se obtendrían como $\vec{v}^{\intercal} D$, y su matriz de covarianza se convierte en $\vec{v}^{\intercal} \Sigma \vec{v}.

Dado que el mayor eigenvector es el vector que apunta en la dirección de la mayor dispersión de los datos originales, el vector $\vec{v}$ que apunta en esta dirección se puede encontrar eligiendo los componentes de la matriz de covarianza resultante de manera que la matriz de covarianza $\vec{v}^{\intercal} \Sigma \vec{v}$ de los datos proyectados sea lo más grande posible.

Maximizar cualquier función de la forma $\vec{v}^{\intercal} \Sigma \vec{v}$ con respecto a $\vec{v}$, donde $\vec{v}$ es un vector unitario normalizado, se puede formular como un llamado Cociente de Rayleigh. El máximo de dicho Cociente de Rayleigh se obtiene configurando $\vec{v}$ igual al eigenvector más grande de la matriz $\Sigma$.

En otras palabras; el eigenvector más grande de $\Sigma$ corresponde al componente principal de los datos.

Si las covarianzas son cero, entonces los eigenvalues son iguales a las varianzas: enter image description here

Si la matriz de covarianza no es diagonal, los eigenvalues representan la varianza a lo largo de los componentes principales, mientras que la matriz de covarianza sigue operando a lo largo de los ejes: enter image description here

Una discusión detallada (y la fuente de las imágenes anteriores) de cómo se puede interpretar la matriz de covarianza desde un punto de vista geométrico se puede encontrar aquí: http://www.visiondummy.com/2014/04/geometric-interpretation-covariance-matrix/

0 votos

Encontré tu respuesta la menos circular, ya que me señalaste en la dirección de es.wikipedia.org/wiki/Cociente_de_Rayleigh como un concepto necesario para entender la razón detrás de todo esto. Gracias.

4 votos

¿Por qué es cierta la suposición "Dado que el eigenvector más grande es el vector que apunta en la dirección de la mayor dispersión de los datos originales"??

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X