20 votos

Comprensión geométrica del ACP en el espacio (dual) sujeto

Intento comprender intuitivamente cómo funciona el análisis de componentes principales (ACP). en el espacio sujeto (dual) .

Consideremos un conjunto de datos 2D con dos variables, $x_1$ y $x_2$ et $n$ puntos de datos (matriz de datos $\mathbf X$ es $n\times 2$ y se supone centrado). La presentación habitual del ACP es que consideramos $n$ puntos en $\mathbb R^2$ escriba el $2\times 2$ matriz de covarianza, y hallar sus vectores y valores propios; el primer PC corresponde a la dirección de máxima varianza, etc. He aquí un ejemplo con matriz de covarianza $\mathbf C = \left(\begin{array}{cc}4&2\\2&2\end{array}\right)$ . Las líneas rojas muestran los vectores propios escalados por las raíces cuadradas de los valores propios respectivos.

$\hskip 1in$PCA in sample space

Consideremos ahora lo que ocurre en el espacio temático (Aprendí este término de @ttnphns), también conocido como espacio dual (término utilizado en el aprendizaje automático). Se trata de un $n$ -espacio dimensional donde las muestras de nuestras dos variables (dos columnas de $\mathbf X$ ) forman dos vectores $\mathbf x_1$ y $\mathbf x_2$ . La longitud al cuadrado de cada vector variable es igual a su varianza, el coseno del ángulo entre los dos vectores es igual a la correlación entre ellos. Esta representación, por cierto, es muy habitual en los tratamientos de regresión múltiple. En mi ejemplo, el espacio sujeto tiene este aspecto (sólo muestro el plano 2D abarcado por los dos vectores variables):

$\hskip 1in$PCA in subject space 1

Los componentes principales, al ser combinaciones lineales de las dos variables, formarán dos vectores $\mathbf p_1$ y $\mathbf p_2$ en el mismo plano. Mi pregunta es: ¿cuál es la comprensión/intuición geométrica de cómo formulario vectores de variables de componentes principales utilizando los vectores de variables originales en un gráfico de este tipo? Dado $\mathbf x_1$ y $\mathbf x_2$ ¿Qué? procedimiento geométrico produciría $\mathbf p_1$ ?


A continuación se expone mi actual comprensión parcial de la misma.

En primer lugar, puedo calcular los componentes principales/ejes mediante el método estándar y representarlos en la misma figura:

$\hskip 1in$PCA in subject space 2

Además, podemos observar que el $\mathbf p_1$ se elige de forma que la suma de las distancias al cuadrado entre $\mathbf x_i$ (vectores azules) y sus proyecciones sobre $\mathbf p_1$ es mínima; esas distancias son errores de reconstrucción y se muestran con líneas negras discontinuas. Equivalentemente, $\mathbf p_1$ maximiza la suma de las longitudes al cuadrado de ambas proyecciones. Esto especifica completamente $\mathbf p_1$ y, por supuesto, es completamente análoga a la descripción similar en el espacio primario (véase la animación en mi respuesta a Análisis de componentes principales, vectores y valores propios ). Véase también la primera parte de Respuesta de @ttnphns aquí .

Sin embargo, ¡esto no es suficientemente geométrico! No me dice cómo encontrar tal $\mathbf p_1$ y no especifica su longitud.

Mi suposición es que $\mathbf x_1$ , $\mathbf x_2$ , $\mathbf p_1$ et $\mathbf p_2$ se encuentran en una elipse centrada en $0$ con $\mathbf p_1$ y $\mathbf p_2$ siendo sus ejes principales. Así es como se ve en mi ejemplo:

$\hskip 1in$enter image description here

P1: ¿Cómo demostrarlo? La demostración algebraica directa parece muy tediosa; ¿cómo véase que debe ser así?

Pero hay muchas elipses diferentes centradas en $0$ y pasando por $\mathbf x_1$ y $\mathbf x_2$ :

$\hskip 1in$enter image description here

P2: ¿Qué especifica la elipse "correcta"? Mi primera suposición fue que se trata de la elipse con el eje principal más largo posible; pero parece que es errónea (hay elipses con eje principal de cualquier longitud).

Si hay respuestas a Q1 y Q2, entonces también me gustaría saber si se generalizan al caso de más de dos variables.

5voto

jldugger Puntos 7490

Todos los resúmenes de $\mathbf X$ mostradas en la pregunta dependen sólo de sus segundos momentos; o, equivalentemente, de la matriz $\mathbf{X^\prime X}$ . Porque estamos pensando en $\mathbf X$ como nube de puntos --cada punto es una fila de $\mathbf X$ --nos podemos preguntar qué operaciones simples sobre estos puntos preservan las propiedades de $\mathbf{X^\prime X}$ .

Una es multiplicar por la izquierda $\mathbf X$ por un $n\times n$ matriz $\mathbf U$ lo que produciría otro $n\times 2$ matriz $\mathbf{UX}$ . Para que esto funcione, es esencial que

$$\mathbf{X^\prime X} = \mathbf{(UX)^\prime UX} = \mathbf{X^\prime (U^\prime U) X}.$$

La igualdad está garantizada cuando $\mathbf{U^\prime U}$ es el $n\times n$ matriz de identidad: es decir, cuando $\mathbf{U}$ es ortogonal .

Es bien sabido (y fácil de demostrar) que las matrices ortogonales son productos de reflexiones y rotaciones euclidianas (forman un grupo de reflexión en $\mathbb{R}^n$ ). Si elegimos bien las rotaciones, podemos simplificar drásticamente $\mathbf{X}$ . Una idea es centrarse en rotaciones que afecten sólo a dos puntos de la nube a la vez. Éstas son especialmente sencillas, porque podemos visualizarlos.

En concreto $(x_i, y_i)$ y $(x_j, y_j)$ sean dos puntos distintos distintos de cero en la nube, que constituyan filas $i$ y $j$ de $\mathbf{X}$ . Una rotación del espacio de columnas $\mathbb{R}^n$ afectando sólo a estos dos puntos los convierte en

$$\cases{(x_i^\prime, y_i^\prime) = (\cos(\theta)x_i + \sin(\theta)x_j, \cos(\theta)y_i + \sin(\theta)y_j) \\ (x_j^\prime, y_j^\prime) = (-\sin(\theta)x_i + \cos(\theta)x_j, -\sin(\theta)y_i + \cos(\theta)y_j).}$$

Lo que equivale a dibujar los vectores $(x_i, x_j)$ y $(y_i, y_j)$ en el plano y girándolas el ángulo $\theta$ . (¡Fíjate cómo se mezclan las coordenadas aquí! El sitio $x$ y el $y$ van juntos. Por lo tanto, el efecto de esta rotación en $\mathbb{R}^n$ no suele parecer una rotación de los vectores $(x_i, y_i)$ y $(x_j, y_j)$ dibujado en $\mathbb{R}^2$ .)

Eligiendo el ángulo justo, podemos reducir a cero cualquiera de estos nuevos componentes. Para ser concretos, elijamos $\theta$ para que

$$\cases{\cos(\theta) = \pm \frac{x_i}{\sqrt{x_i^2 + x_j^2}} \\ \sin(\theta) = \pm \frac{x_j}{\sqrt{x_i^2 + x_j^2}}}.$$

Esto hace que $x_j^\prime=0$ . Elija el signo para hacer $y_j^\prime \ge 0$ . Llamemos a esta operación, que cambia los puntos $i$ y $j$ en la nube representada por $\mathbf X$ , $\gamma(i,j)$ .

Aplicar recursivamente $\gamma(1,2), \gamma(1,3), \ldots, \gamma(1,n)$ a $\mathbf{X}$ hará que la primera columna de $\mathbf{X}$ sea distinto de cero sólo en la primera fila. Geométricamente, habremos desplazado todos los puntos de la nube, salvo uno, a la fila $y$ eje. Ahora podemos aplicar una única rotación, potencialmente implicando coordenadas $2, 3, \ldots, n$ en $\mathbb{R}^n$ para exprimir esos $n-1$ a un único punto. Equivalentemente, $X$ se ha reducido a una forma de bloque

$$\mathbf{X} = \pmatrix{x_1^\prime & y_1^\prime \\ \mathbf{0} & \mathbf{z}},$$

avec $\mathbf{0}$ y $\mathbf{z}$ ambos vectores columna con $n-1$ coordenadas, de forma que

$$\mathbf{X^\prime X} = \pmatrix{\left(x_1^\prime\right)^2 & x_1^\prime y_1^\prime \\ x_1^\prime y_1^\prime & \left(y_1^\prime\right)^2 + ||\mathbf{z}||^2}.$$

Esta rotación final reduce aún más $\mathbf{X}$ a su forma triangular superior

$$\mathbf{X} = \pmatrix{x_1^\prime & y_1^\prime \\ 0 & ||\mathbf{z}|| \\ 0 & 0 \\ \vdots & \vdots \\ 0 & 0}.$$

En efecto, ahora podemos entender $\mathbf{X}$ en términos de la mucho más simple $2\times 2$ matriz $\pmatrix{x_1^\prime & y_1^\prime \\ 0 & ||\mathbf{z}||}$ creado por los dos últimos puntos distintos de cero que quedan en pie.

Para ilustrarlo, he extraído cuatro puntos iid de una distribución Normal bivariante y he redondeado sus valores a

$$\mathbf{X} = \pmatrix{ 0.09 & 0.12 \\ -0.31 & -0.63 \\ 0.74 & -0.23 \\ -1.8 & -0.39}$$

Esta nube de puntos inicial se muestra a la izquierda de la siguiente figura utilizando puntos negros sólidos, con flechas de colores que apuntan desde el origen a cada punto (para ayudarnos a visualizarlos como vectores ).

Figure

La secuencia de operaciones efectuadas en estos puntos por $\gamma(1,2), \gamma(1,3),$ y $\gamma(1,4)$ resulta en las nubes que se muestran en el centro. En el extremo derecho, los tres puntos situados a lo largo de la $y$ se han fusionado en un único punto, quedando una representación de la forma reducida de $\mathbf X$ . La longitud del vector vertical rojo es $||\mathbf{z}||$ el otro vector (azul) es $(x_1^\prime, y_1^\prime)$ .

Fíjese en la tenue forma punteada dibujada como referencia en los cinco paneles. Representa la última flexibilidad que queda para representar $\mathbf X$ : al girar las dos primeras filas, los dos últimos vectores trazan esta elipse. Así, el primer vector traza la trayectoria

$$\theta\ \to\ (\cos(\theta)x_1^\prime, \cos(\theta) y_1^\prime + \sin(\theta)||\mathbf{z}||)\tag{1}$$

mientras que el segundo vector traza la misma trayectoria según

$$\theta\ \to\ (-\sin(\theta)x_1^\prime, -\sin(\theta) y_1^\prime + \cos(\theta)||\mathbf{z}||).\tag{2}$$

Podemos evitar el álgebra tediosa observando que como esta curva es la imagen del conjunto de puntos $\{(\cos(\theta), \sin(\theta))\,:\, 0 \le \theta\lt 2\pi\}$ bajo la transformación lineal determinada por

$$(1,0)\ \to\ (x_1^\prime, 0);\quad (0,1)\ \to\ (y_1^\prime, ||\mathbf{z}||),$$

debe ser una elipse. (La pregunta 2 ya está contestada.) Por lo tanto, habrá cuatro valores críticos de $\theta$ en la parametrización $(1)$ de los cuales dos corresponden a los extremos del eje mayor y dos corresponden a los extremos del eje menor; e inmediatamente se deduce que simultáneamente $(2)$ da los extremos del eje menor y del eje mayor, respectivamente. Si elegimos $\theta$ , los puntos correspondientes de la nube de puntos se situarán en los extremos de los ejes principales, de esta forma:

Figure 2

Porque son ortogonales y se dirigen a lo largo de los ejes de la elipse, representan correctamente los ejes principales la solución PCA. Esto responde a la pregunta 1.


El análisis que aquí se ofrece complementa el de mi respuesta en Explicación de abajo a arriba de la distancia de Mahalanobis . Allí, examinando rotaciones y reescalados en $\mathbb{R}^2$ expliqué cómo cualquier nube de puntos en $p=2$ dimensiones determina geométricamente un sistema de coordenadas natural para $\mathbb{R}^2$ . Aquí he mostrado cómo determina geométricamente una elipse que es la imagen de un círculo bajo una transformación lineal. Esta elipse es, por supuesto, un isocontorno de distancia de Mahalanobis constante.

Otro de los logros de este análisis es mostrar una conexión íntima entre Descomposición QR (de una matriz rectangular) y el Descomposición en valores singulares o SVD. El $\gamma(i,j)$ se conocen como Rotaciones Givens . Su composición constituye la ortogonal, o " $Q$ ", parte de la descomposición QR. Lo que quedaba, la forma reducida de $\mathbf{X}$ --es el triangular superior, o " $R$ "de la descomposición QR. Al mismo tiempo, la rotación y los reescalados (descritos como reetiquetados de las coordenadas en el otro post) constituyen la $\mathbf{D}\cdot \mathbf{V}^\prime$ parte de la SVD, $\mathbf{X} = \mathbf{U\, D\, V^\prime}$ . Las filas de $\mathbf{U}$ por cierto, forman la nube de puntos que se muestra en la última figura de ese post.

Por último, el análisis presentado aquí se generaliza de forma obvia a los casos $p\ne 2$ es decir, cuando sólo hay uno o más de dos componentes principales.

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