SVD
La descomposición del valor singular está en la base de las tres técnicas afines. Sea $\bf X$ sea $r \times c$ tabla de valores reales. La SVD es $\bf X = U_{r\times r}S_{r\times c}V_{c\times c}'$ . Podemos utilizar sólo $m$ $[m \le\min(r,c)]$ primeros vectores latentes y raíces para obtener $\bf X_{(m)}$ como el mejor $m$ -aproximación de rango de $\bf X$ : $\bf X_{(m)} = U_{r\times m}S_{m\times m}V_{c\times m}'$ . Además, anotaremos $\bf U=U_{r\times m}$ , $\bf V=V_{c\times m}$ , $\bf S=S_{m\times m}$ .
Valores singulares $\bf S$ y sus cuadrados, los valores propios, representan escala , también llamado inercia de los datos. Vectores propios de la izquierda $\bf U$ son las coordenadas de las filas de los datos en el $m$ ejes principales; mientras que los vectores propios derechos $\bf V$ son las coordenadas de las columnas de los datos en esos mismos ejes latentes. Toda la escala (inercia) se almacena en $\bf S$ y así las coordenadas $\bf U$ y $\bf V$ están normalizados por unidades (columna SS=1).
Análisis de componentes principales por SVD
En el PCA, se acuerda considerar filas de $\bf X$ como observaciones aleatorias (que pueden ir o venir), sino considerar columnas de $\bf X$ como número fijo de dimensiones o variables. Por lo tanto, es apropiado y conveniente eliminar el efecto del número de filas (y sólo de filas) en los resultados, particularmente en los valores propios, mediante la descomposición svd de $\mathbf Z=\mathbf X/\sqrt{r}$ en lugar de $\bf X$ . Obsérvese que esto corresponde a la descomposición propia de $\mathbf {X'X}/r$ , $r$ siendo el tamaño de la muestra n
. (A menudo, sobre todo con las covarianzas - para que sean insesgadas - preferiremos dividir por $r-1$ pero es un matiz).
La multiplicación de $\bf X$ por una constante que sólo afecta a $\bf S$ ; $\bf U$ y $\bf V$ siguen siendo las coordenadas normalizadas por unidad de las filas y de las columnas.
Desde aquí y en todas partes abajo redefinimos $\bf S$ , $\bf U$ y $\bf V$ según el svd de $\bf Z$ , no de $\bf X$ ; $\bf Z$ siendo una versión normalizada de $\bf X$ y la normalización varía según los tipos de análisis.
Al multiplicar $\mathbf U\sqrt{r}=\bf U_*$ traemos la media cuadrado en las columnas de $\bf U$ a 1. Dado que las filas son casos aleatorios para nosotros, es lógico. Hemos obtenido así lo que se llama en PCA estándar o puntuaciones estandarizadas de los componentes principales de las observaciones, $\bf U_*$ . No hacemos lo mismo con $\bf V$ porque las variables son entidades fijas.
Entonces podemos conferir a las filas toda la inercia, para obtener coordenadas de fila no estandarizadas, también llamadas en PCA puntuaciones brutas de los componentes principales de las observaciones: $\bf U_*S$ . A esta fórmula la llamaremos "vía directa". El mismo resultado es devuelto por $\bf XV$ ; lo etiquetaremos como "vía indirecta".
De forma análoga, podemos conferir a las columnas toda la inercia, para obtener coordenadas de columna no estandarizadas, también llamadas en PCA la componente-variable cargas : $\bf VS'$ [puede ignorar la transposición si $\bf S$ es cuadrado], - la "vía directa". El mismo resultado es devuelto por $\bf Z'U$ la "vía indirecta". (Las puntuaciones estandarizadas de los componentes principales anteriores también pueden ser calculado a partir de las cargas como $\bf X(AS^{-1/2})$ , donde $\bf A$ son las cargas).
Biplot
Considere el biplot en el sentido de un análisis de reducción de la dimensionalidad por sí mismo, no simplemente como "un gráfico de dispersión dual". Este análisis es muy similar al PCA. A diferencia del PCA, tanto las filas como las columnas se tratan, simétricamente, como observaciones aleatorias, lo que significa que $\bf X$ se ve como una tabla aleatoria de dos vías de dimensionalidad variable. Entonces, naturalmente, se normaliza por ambos $r$ y $c$ antes del svd: $\mathbf Z=\mathbf X/\sqrt{rc}$ .
Después de la svd, calcule coordenadas estándar de la fila como lo hicimos en PCA: $\mathbf U_*=\mathbf U\sqrt{r}$ . Haga lo mismo (a diferencia del PCA) con los vectores columna, para obtener coordenadas de columna estándar : $\mathbf V_*=\mathbf V\sqrt{c}$ . Las coordenadas estándar, tanto de filas como de columnas, tienen media plaza 1.
Podemos conferir a las filas y/o columnas coordenadas con inercia de valores propios como lo hacemos en PCA. No estandarizado coordenadas de la fila: $\bf U_*S$ (vía directa). No estandarizado coordenadas de la columna: $\bf V_*S'$ (vía directa). ¿Qué pasa con la vía indirecta? Se puede deducir fácilmente, mediante sustituciones, que la fórmula indirecta para las coordenadas de las filas no normalizadas es $\mathbf {XV_*}/c$ y para las coordenadas de columna no estandarizadas es $\mathbf {X'U_*}/r$ .
PCA como caso particular de Biplot . De las descripciones anteriores probablemente haya aprendido que el PCA y el biplot sólo se diferencian en la forma de normalizar $\bf X$ en $\bf Z$ que luego se descompone. Biplot normaliza tanto por el número de filas como por el número de columnas; PCA normaliza sólo por el número de filas. En consecuencia, hay una pequeña diferencia entre ambos en los cálculos posteriores a la descomposición. Si al hacer biplot se establece $c=1$ en sus fórmulas obtendrá exactamente resultados PCA. Por lo tanto, biplot puede ser visto como un método genérico y PCA como un caso particular de biplot.
[ Centrado de columnas . Algún usuario puede decir: Alto, pero ¿el PCA no requiere también y en primer lugar el centrado de las columnas de datos (variables) para que pueda explicar desviación ? ¿Mientras que biplot no puede hacer el centrado? Mi respuesta: sólo el PCA en sentido estricto hace el centrado y explica la varianza; estoy hablando del PCA lineal en sentido general, el PCA que explica algún tipo de suma de desviaciones al cuadrado desde el origen elegido; puede elegir que sea la media de los datos, el 0 nativo o lo que quiera. Por lo tanto, la operación de "centrado" no es lo que podría distinguir el PCA del biplot].
Filas y columnas pasivas
En el biplot o en el PCA, puede establecer que algunas filas y/o columnas sean pasivas, o complementarias. La fila o columna pasiva no influye en la SVD y, por lo tanto, no influye en la inercia o en las coordenadas de otras filas/columnas, pero recibe sus coordenadas en el espacio de los ejes principales producidos por las filas/columnas activas (no pasivas).
Para establecer que algunos puntos (filas/columnas) sean pasivos, (1) defina $r$ y $c$ sea el número de activo sólo filas y columnas. (2) Poner a cero las filas y columnas pasivas en $\bf Z$ antes del svd. (3) Utilizar las formas "indirectas" para calcular las coordenadas de las filas/columnas pasivas, ya que sus valores de vectores propios serán cero.
En el ACP, cuando se calculan las puntuaciones de los componentes para los nuevos casos entrantes con la ayuda de las cargas obtenidas en las observaciones antiguas ( utilizando la matriz de coeficientes de puntuación ), en realidad se hace lo mismo que tomar estos nuevos casos en PCA y mantenerlos pasivos. Del mismo modo, calcular las correlaciones/covarianzas de algunas variables externas con las puntuaciones de los componentes producidos por un PCA es equivalente a tomar esas variables en ese PCA y mantenerlas pasivas.
Repartición arbitraria de la inercia
Los cuadrados medios de las columnas (MS) de las coordenadas estándar son 1. Los cuadrados medios de las columnas (MS) de las coordenadas no normalizadas son iguales a la inercia de los respectivos ejes principales: toda la inercia de los valores propios fue donada a los vectores propios para producir las coordenadas no normalizadas.
En biplot : fila estándar coordenadas $\bf U_*$ tienen MS=1 para cada eje principal. Las coordenadas no estandarizadas de fila, también llamadas de fila principal coordenadas $\mathbf {U_*S} = \mathbf {XV_*}/c$ tienen MS = el correspondiente valor propio de $\bf Z$ . Lo mismo ocurre con las coordenadas normalizadas y no normalizadas (principales) de las columnas.
En general, no es necesario dotar a las coordenadas de inercia ni en su totalidad ni en ninguna. Se permite un reparto arbitrario, si es necesario por alguna razón. Sea $p_1$ sea el proporción de inercia que es ir a las filas. Entonces la fórmula general de las coordenadas de las filas es: $\bf U_*S^{p1}$ (vía directa) = $\mathbf {XV_*S^{p1-1}}/c$ (de manera indirecta). Si $p_1=0$ obtenemos coordenadas de fila estándar, mientras que con $p_1=1$ obtenemos las coordenadas de la fila principal.
Asimismo, $p_2$ sea el proporción de inercia que es ir a las columnas. Entonces la fórmula general de las coordenadas de las columnas es: $\bf V_*S^{p2}$ (vía directa) = $\mathbf {X'U_*S^{p2-1}}/r$ (manera indirecta). Si $p_2=0$ obtenemos coordenadas de columna estándar, mientras que con $p_2=1$ obtenemos las coordenadas de la columna principal.
Las fórmulas indirectas generales son universales, ya que permiten calcular las coordenadas (estándar, principales o intermedias) también para los puntos pasivos, si los hay.
Si $p_1+p_2=1$ dicen que la inercia se distribuye entre los puntos de las filas y las columnas. El $p_1=1,p_2=0$ Los biplots, es decir, fila-principal-columna-estándar, se denominan a veces "biplots de forma" o biplots de "preservación métrica de fila". El sitio web $p_1=0,p_2=1$ Los biplots, es decir, fila-estándar-columna-principal, se denominan a menudo en la literatura del ACP "biplots de covarianza" o biplots de "preservación de la métrica de columna"; muestran las cargas de las variables ( que son yuxtapuesto a las covarianzas) más las puntuaciones estandarizadas de los componentes, cuando se aplican dentro del ACP.
En análisis de la correspondencia , $p_1=p_2=1/2$ se utiliza a menudo y se denomina normalización "simétrica" o "canónica" por inercia - permite (aunque con cierto gasto de rigor geométrico euclidiano) comparar la proximidad entre la fila y puntos de columna, como podemos hacer en el mapa de despliegue multidimensional.
Análisis de correspondencia (modelo euclidiano)
El análisis de correspondencia (CA) de dos vías (=simple) es un biplot utilizado para analizar una tabla de contingencia de dos vías, es decir, un no negativo tabla cuyas entradas tienen el significado de algún tipo de afinidad entre una fila y una columna. Cuando la tabla es de frecuencias se utiliza el análisis de correspondencia del modelo chi-cuadrado. Cuando las entradas son, por ejemplo, medias u otras puntuaciones, se utiliza un modelo euclidiano más sencillo CA.
Modelo euclidiano CA es sólo el biplot descrito anteriormente, sólo que la tabla $\bf X$ se preprocesa adicionalmente antes de entrar en las operaciones de biplot. En particular, los valores se normalizan no sólo por $r$ y $c$ sino también por la suma total $N$ .
El preprocesamiento consiste en centrar y luego normalizar por la masa media. El centrado puede ser diverso, lo más frecuente es (1) centrado de columnas; (2) centrado de filas; (3) centrado bidireccional, que es la misma operación que el cálculo de los residuos de frecuencia; (4) centrado de columnas después de igualar las sumas de columnas; (5) centrado de filas después de igualar las sumas de filas. La normalización por la masa media consiste en dividir por el valor medio de la celda de la tabla inicial. En el paso de preprocesamiento, las filas/columnas pasivas, si existen, se estandarizan de forma pasiva: se centran/normalizan por los valores calculados de las filas/columnas activas.
A continuación, se realiza el biplot habitual en el preprocesado $\bf X$ a partir de $\mathbf Z=\mathbf X/\sqrt{rc}$ .
Biplot ponderado
Imaginemos que la actividad o la importancia de una fila o una columna puede ser cualquier número entre 0 y 1, y no sólo 0 (pasivo) o 1 (activo) como en el biplot clásico comentado hasta ahora. Podríamos ponderar los datos de entrada mediante estas ponderaciones de filas y columnas y realizar un biplot ponderado. Con el biplot ponderado, cuanto mayor sea el peso, más influyente será esa fila o esa columna en todos los resultados: la inercia y las coordenadas de todos los puntos en los ejes principales.
El usuario suministra los pesos de las filas y los pesos de las columnas. Éstas y aquéllas se normalizan primero por separado para que sumen 1. A continuación, el paso de normalización es $\mathbf{Z_{ij} = X_{ij}}\sqrt{w_i w_j}$ con $w_i$ y $w_j$ siendo los pesos de la fila i y de la columna j. Un peso exactamente cero designa la fila o la columna pasiva.
En ese momento podemos descubrir que el biplot clásico es simplemente este biplot ponderado con pesos iguales $1/r$ para todas las filas activas y pesos iguales $1/c$ para todas las columnas activas; $r$ y $c$ el número de filas y columnas activas.
Realizar svd de $\bf Z$ . Todas las operaciones son las mismas que en el biplot clásico, con la única diferencia de que $w_i$ está en lugar de $1/r$ y $w_j$ está en lugar de $1/c$ . Coordenadas estándar de la fila: $\mathbf {U_{*i}=U_i}/\sqrt{w_i}$ y coordenadas de columna estándar: $\mathbf {V_{*j}=V_j}/\sqrt{w_j}$ . (Estos son para las filas/columnas con peso no nulo. Deje los valores como 0 para los que tienen peso cero y utilice las fórmulas indirectas de abajo para obtener las coordenadas estándar o las que sean para ellos).
Dar inercia a las coordenadas en la proporción que desee (con $p_1=1$ y $p_2=1$ las coordenadas serán totalmente no estandarizadas, o principales; con $p_1=0$ y $p_2=0$ se quedarán de serie). Filas: $\bf U_*S^{p1}$ (vía directa) = $\bf X[Wj]V_*S^{p1-1}$ (manera indirecta). Columnas: $\bf V_*S^{p2}$ (vía directa) = $\bf ([Wi]X)'U_*S^{p2-1}$ (manera indirecta). Las matrices entre paréntesis son las matrices diagonales de los pesos de las columnas y de las filas, respectivamente. Para los puntos pasivos (es decir, con pesos nulos) sólo es adecuada la forma indirecta de cálculo. Para los puntos activos (con pesos positivos) se puede optar por cualquiera de las dos vías.
PCA como caso particular de Biplot revisado . Al considerar el biplot no ponderado anteriormente mencioné que PCA y biplot son equivalentes, siendo la única diferencia que biplot ve las columnas (variables) de los datos como casos aleatorios simétricos a las observaciones (filas). Habiendo extendido ahora el biplot a un biplot ponderado más general, podemos volver a afirmarlo, observando que la única diferencia es que el biplot (ponderado) normaliza la suma de los pesos de las columnas de los datos de entrada a 1, y el PCA (ponderado) - al número de columnas (activas). Así que aquí está el PCA ponderado introducido. Sus resultados son proporcionalmente idénticos a los del biplot ponderado. En concreto, si $c$ es el número de columnas activas, entonces se cumplen las siguientes relaciones, tanto para las versiones ponderadas como para las clásicas de los dos análisis:
- valores propios del PCA = valores propios del biplot $\cdot c$ ;
- cargas \= coordenadas de la columna bajo la "normalización principal" de las columnas;
- puntuaciones estandarizadas de los componentes = coordenadas de las filas bajo la "normalización estándar" de las filas;
- vectores propios del PCA = coordenadas de las columnas bajo la "normalización estándar" de las mismas $/ \sqrt c$ ;
- puntuaciones de los componentes brutos = coordenadas de las filas según la "normalización principal" de las filas $\cdot \sqrt c$ .
Análisis de correspondencia (modelo Chi-cuadrado)
Se trata técnicamente de un biplot ponderado en el que las ponderaciones se calculan a partir de una tabla en lugar de ser suministradas por el usuario. Se utiliza sobre todo para analizar tablas de frecuencias cruzadas. Este biplot se aproximará, mediante distancias euclidianas en el gráfico, a las distancias chi-cuadrado en la tabla. La distancia chi-cuadrado es matemáticamente la distancia euclidiana inversamente ponderada por los totales marginales. No voy a entrar en detalles sobre la geometría del modelo Chi-cuadrado CA.
El preprocesamiento de la tabla de frecuencias $\bf X$ es la siguiente: dividir cada frecuencia por la frecuencia esperada y luego restar 1. Es lo mismo que obtener primero el residuo de frecuencia y luego dividir por la frecuencia esperada. Establezca los pesos de las filas en $w_i=R_i/N$ y los pesos de las columnas a $w_j=C_j/N$ , donde $R_i$ es la suma marginal de la fila i (sólo columnas activas), $C_j$ es la suma marginal de la columna j (sólo filas activas), $N$ es la suma activa total de la tabla (los tres números provienen de la tabla inicial).
A continuación, haga un biplot ponderado: (1) Normalizar $\bf X$ en $\bf Z$ . (2) Los pesos nunca son cero (cero $R_i$ y $C_j$ no están permitidos en CA); sin embargo, puede forzar que las filas/columnas se vuelvan pasivas poniéndolas a cero en $\bf Z$ , por lo que sus pesos son ineficaces en la svd. (3) Hacer svd. (4) Calcule las coordenadas estándar y de inercia como en el biplot ponderado.
En el modelo Chi-cuadrado CA, así como en el modelo euclidiano CA que utiliza el centrado bidireccional, un último valor propio es siempre 0, por lo que el número máximo posible de dimensiones principales es $\min(r-1,c-1)$ .
Véase también un buen resumen del modelo chi-cuadrado CA en esta respuesta .
Ilustraciones
Aquí hay una tabla de datos.
row A B C D E F
1 6 8 6 2 9 9
2 0 3 8 5 1 3
3 2 3 9 2 4 7
4 2 4 2 2 7 7
5 6 9 9 3 9 6
6 6 4 7 5 5 8
7 7 9 6 6 4 8
8 4 4 8 5 3 7
9 4 6 7 3 3 7
10 1 5 4 5 3 6
11 1 5 6 4 8 3
12 0 6 7 5 3 1
13 6 9 6 3 5 4
14 1 6 4 7 8 4
15 1 1 5 2 4 3
16 8 9 7 5 5 9
17 2 7 1 3 4 4
28 5 3 3 9 6 4
19 6 7 6 2 9 6
20 10 7 4 4 8 7
A continuación se presentan varios gráficos de dispersión duales (en 2 primeras dimensiones principales) construidos a partir del análisis de estos valores. Los puntos de las columnas están conectados con el origen por medio de picos para dar énfasis visual. No hay filas ni columnas pasivas en estos análisis.
El primer biplot es SVD resultados de la tabla de datos analizados "tal cual"; las coordenadas son los vectores propios de fila y columna.
A continuación se muestra uno de los posibles biplots procedentes de PCA . El ACP se hizo sobre los datos "tal cual", sin centrar las columnas; sin embargo, como se adopta en el ACP, se hizo inicialmente la normalización por el número de filas (el número de casos). Este biplot específico muestra las coordenadas principales de las filas (es decir, las puntuaciones brutas de los componentes) y las coordenadas principales de las columnas (es decir, las cargas de las variables).
El siguiente es biplot sensu stricto : La tabla se ha normalizado inicialmente tanto por el número de filas como por el número de columnas. Se utilizó la normalización principal (propagación de la inercia) tanto para las coordenadas de las filas como de las columnas, como en el caso del PCA anterior. Nótese la similitud con el biplot PCA: la única diferencia se debe a la diferencia en la normalización inicial.
Modelo chi-cuadrado análisis de la correspondencia biplot. La tabla de datos fue preprocesada de manera especial, incluyó un centrado bidireccional y una normalización utilizando totales marginales. Se trata de un biplot ponderado. La inercia se distribuyó sobre las coordenadas de la fila y la columna de forma simétrica - ambas están a medio camino entre las coordenadas "principales" y "estándar".
Las coordenadas que aparecen en todos estos gráficos de dispersión:
point dim1_1 dim2_1 dim1_2 dim2_2 dim1_3 dim2_3 dim1_4 dim2_4
1 .290 .247 16.871 3.048 6.887 1.244 -.479 -.101
2 .141 -.509 8.222 -6.284 3.356 -2.565 1.460 -.413
3 .198 -.282 11.504 -3.486 4.696 -1.423 .414 -.820
4 .175 .178 10.156 2.202 4.146 .899 -.421 .339
5 .303 .045 17.610 .550 7.189 .224 -.171 -.090
6 .245 -.054 14.226 -.665 5.808 -.272 -.061 -.319
7 .280 .051 16.306 .631 6.657 .258 -.180 -.112
8 .218 -.248 12.688 -3.065 5.180 -1.251 .322 -.480
9 .216 -.105 12.557 -1.300 5.126 -.531 .036 -.533
10 .171 -.157 9.921 -1.934 4.050 -.789 .433 .187
11 .194 -.137 11.282 -1.689 4.606 -.690 .384 .535
12 .157 -.384 9.117 -4.746 3.722 -1.938 1.121 .304
13 .235 .099 13.676 1.219 5.583 .498 -.295 -.072
14 .210 -.105 12.228 -1.295 4.992 -.529 .399 .962
15 .115 -.163 6.677 -2.013 2.726 -.822 .517 -.227
16 .304 .103 17.656 1.269 7.208 .518 -.289 -.257
17 .151 .147 8.771 1.814 3.581 .741 -.316 .670
18 .198 -.026 11.509 -.324 4.699 -.132 .137 .776
19 .259 .213 15.058 2.631 6.147 1.074 -.459 .005
20 .278 .414 16.159 5.112 6.597 2.087 -.753 .040
A .337 .534 4.387 1.475 4.387 1.475 -.865 -.289
B .461 .156 5.998 .430 5.998 .430 -.127 .186
C .441 -.666 5.741 -1.840 5.741 -1.840 .635 -.563
D .306 -.394 3.976 -1.087 3.976 -1.087 .656 .571
E .427 .289 5.556 .797 5.556 .797 -.230 .518
F .451 .087 5.860 .240 5.860 .240 -.176 -.325
0 votos
¡Wow! No esperaba un hilo tan masivo cuando pedí comentarios :) Gracias. +1 por iniciar una discusión interesante. Mientras sigo digiriendo tu respuesta, déjame aclararte: al decir que di una respuesta "apartándose" de tu comentario ¿quieres decir que la amplié o que me opuse? Desde luego, no quise oponerme.
0 votos
Quise decir "partió de y se desarrolló [por cuenta propia]" No, no vi ninguna oposición (aunque me gustaría una oposición de expertos como tú).