Loading [MathJax]/jax/element/mml/optable/GeneralPunctuation.js

165 votos

¿Cuál es la diferencia entre el análisis de componentes principales y el escalamiento multidimensional?

¿En qué se diferencian el PCA y el MDS clásico? ¿Y el MDS frente al MDS no métrico? ¿Hay algún momento en el que prefiera uno sobre el otro? ¿En qué se diferencian las interpretaciones?

116voto

Uri Puntos 111

Clásico Torgerson La métrica MDS se realiza en realidad transformando las distancias en similitudes y realizando un PCA (descomposición de valores singulares) sobre ellas. [El otro nombre de este procedimiento ( distances between objects -> similarities between them -> PCA donde las cargas son las coordenadas buscadas) es el Análisis de Coordenadas Principales o PCoA .] Por lo tanto, el PCA podría llamarse el algoritmo del MDS más simple.

El MDS no métrico se basa en iterativo Algoritmo ALSCAL o PROXSCAL (o algoritmo similar a ellos) que es una técnica de mapeo más versátil que el PCA y que puede aplicarse también al MDS métrico. Mientras que PCA conserva m dimensiones importantes para usted, ALSCAL/PROXSCAL se ajusta a configuración a m dimensiones (se predefine m ) y reproduce las disimilitudes en el mapa de forma más directa y precisa de lo que suele hacer el PCA (véase la sección de ilustración más adelante).

Por lo tanto, es probable que el MDS y el PCA no estén al mismo nivel para estar alineados u opuestos entre sí. El PCA es sólo un método, mientras que el MDS es una clase de análisis. Como mapeo, PCA es un caso particular de MDS. Por otra parte, el PCA es un caso particular del análisis factorial que, al ser una reducción de datos, es más que sólo un mapeo, mientras que el MDS es sólo un mapeo.

En cuanto a tu pregunta sobre el MDS métrico frente al MDS no métrico hay poco que comentar porque la respuesta es sencilla. Si creo que mis disimilitudes de entrada están tan cerca de ser distancias euclidianas que una transformación lineal será suficiente para mapearlas en un espacio m-dimensional, preferiré el MDS métrico. Si no lo creo, entonces la transformación monotónica es necesaria, lo que implica el uso de MDS no métrico.


Una nota sobre la terminología para un lector. Término MDS clásico(al) (CMDS) puede tener dos significados diferentes en una vasta literatura sobre MDS, por lo que es ambiguo y debe evitarse. Una definición es que el CMDS es un sinónimo de la métrica MDS de Torgerson. Otra definición es que el CMDS es cualquier MDS (por cualquier algoritmo; análisis métrico o no métrico) con solo entrada de la matriz (ya que existen modelos que analizan muchas matrices a la vez - modelo individual "INDSCAL" y modelo replicado).


Ilustración de la respuesta . Una nube de puntos (elipse) está siendo mapeada en un mapa mds unidimensional. Un par de puntos se muestra en puntos rojos.

enter image description here

El MDS iterativo o "verdadero" pretende reconstruir directamente las distancias entre pares de objetos. Para ello es el tarea de cualquier MDS . Varios criterios de tensión o desajuste podrían minimizarse entre o ral y las distancias en el m ap: , \|D_o^2-D_m^2\|_1 , \|D_o-D_m\|_1 . Un algoritmo puede (MDS no métrico) o no (MDS métrico) incluir una transformación monótona en este sentido.

El MDS basado en el PCA (Torgerson's, o PCoA) no es directo. Minimiza las distancias al cuadrado entre los objetos en el espacio original y sus imágenes en el mapa. No se trata de una tarea MDS auténtica; sólo tiene éxito, como MDS, en la medida en que los ejes principales menores descartados sean débiles. Si P_1 explica mucha más varianza que P_2 la primera puede reflejar por sí sola de forma sustancial las distancias entre pares en la nube, especialmente en el caso de los puntos alejados a lo largo de la elipse. El MDS iterativo siempre ganará, y sobre todo cuando se quiera que el mapa sea muy poco dimensional. El MDS iterativo también tendrá más éxito cuando la elipse de la nube sea delgada, pero cumplirá la tarea del MDS mejor que el PCoA. Por la propiedad de la matriz de doble concentración (descrita aquí ) parece que el PCoA minimiza \|D_o\|_2^2-\|D_m\|_2^2 que es diferente de cualquiera de las minimizaciones anteriores.

Una vez más, PCA proyecta la nube de puntos en el subespacio de ahorro más ventajoso para todos. No proyecta distancias entre pares , las ubicaciones relativas de los puntos en un subespacio más ahorro en que respeto, como lo hace el MDS iterativo. Sin embargo, históricamente PCoA/PCA se considera entre los métodos de MDS métrico.

3 votos

(+1) Me han gustado las dos respuestas, ésta probablemente un poco más.

0 votos

El enlace del PDF relacionado con PCoA. Se puede encontrar en Web Archive: web.archive.org/web/20160315120635/http://forrest.psych.unc.edu/

0 votos

@ReneBt, por favor no edites esta respuesta: Me parece que tus ediciones parciales de esta respuesta distorsionan el significado. He cancelado tus ediciones recientes.

72voto

zowens Puntos 1417

Dos tipos de MDS métricos

La tarea del escalamiento multidimensional métrico (MDS) puede formularse de forma abstracta como sigue: dado un n\times n matriz \mathbf D de las distancias por pares entre n puntos, encontrar una incrustación de baja dimensión de los puntos de datos en \mathbb R^k tal que las distancias euclidianas entre ellas se aproximen a las distancias dadas: \|\mathbf x_i - \mathbf x_j\|\approx D_{ij}.

Si "aproximar" se entiende aquí en el sentido habitual de error de reconstrucción, es decir, si el objetivo es minimizar la función de coste llamada "tensión": \text{Stress} \sim \Big\|\mathbf D - \|\mathbf x_i - \mathbf x_j\|\Big\|^2, entonces la solución es no equivalente a PCA. La solución no viene dada por ninguna fórmula cerrada y debe calcularse mediante un algoritmo iterativo específico.

El "MDS clásico", también conocido como "MDS de Torgerson", sustituye esta función de coste por una relacionada pero no equivalente uno, llamado "tensión": \text{Strain} \sim \Big\|\mathbf K_c - \langle\mathbf x_i, \mathbf x_j\rangle\Big\|^2, que busca minimizar el error de reconstrucción de los productos escalares centrados en lugar de las distancias. Resulta que \mathbf K_c puede calcularse a partir de \mathbf D (si \mathbf D son distancias euclidianas) y que la minimización del error de reconstrucción de \mathbf K_c es exactamente lo que hace PCA, como se muestra en la siguiente sección.

El MDS clásico (Torgerson) sobre distancias euclidianas es equivalente al PCA

Que los datos se recojan en matriz \mathbf X de n \times k con observaciones en filas y características en columnas. Sea \mathbf X_c sea la matriz centrada con las medias de las columnas sustraídas.

Entonces PCA equivale a hacer la descomposición del valor singular \mathbf X_c = \mathbf {USV^\top} con columnas de \mathbf{US} siendo componentes principales. Una forma común de obtenerlos es mediante una eigendecomposición de la matriz de covarianza \frac{1}{n}\mathbf X_c^\top \mathbf X^\vphantom{\top}_c pero otra forma posible es realizar una eigendecomposición de la matriz de Gram \mathbf K_c = \mathbf X^\vphantom{\top}_c \mathbf X^\top_c=\mathbf U \mathbf S^2 \mathbf U^\top : los componentes principales son sus vectores propios escalados por las raíces cuadradas de los respectivos valores propios.

Es fácil ver que \mathbf X_c = (\mathbf I - \frac{1}{n}\mathbf 1_n)\mathbf X , donde \mathbf 1_n es un n \times n matriz de unos. De esto obtenemos inmediatamente que \mathbf K_c = \left(\mathbf I - \frac{\mathbf 1_n}{n}\right)\mathbf K\left(\mathbf I - \frac{\mathbf 1_n}{n}\right) = \mathbf K - \frac{\mathbf 1_n}{n} \mathbf K - \mathbf K \frac{\mathbf 1_n}{n} + \frac{\mathbf 1_n}{n} \mathbf K \frac{\mathbf 1_n}{n}, donde \mathbf K = \mathbf X \mathbf X^\top es una matriz de Gram de datos no centrados. Esto es útil: si tenemos la matriz de Gram de los datos no centrados podemos centrarla directamente, sin volver a \mathbf X mismo. Esta operación se denomina a veces doble centrado : observe que equivale a restar las medias de las filas y de las columnas de \mathbf K (y añadiendo de nuevo la media global que se resta dos veces), de modo que tanto las medias de las filas como las de las columnas de \mathbf K_c son iguales a cero.

Ahora considere un n \times n matriz \mathbf D de distancias euclidianas por pares con D_{ij} = \|\mathbf x_i - \mathbf x_j\| . ¿Se puede convertir esta matriz en \mathbf K_c para realizar el PCA? Resulta que la respuesta es sí.

En efecto, por la ley de los cosenos vemos que \begin{align} D_{ij}^2 = \|\mathbf x_i - \mathbf x_j\|^2 &= \|\mathbf x_i - \bar{\mathbf x}\|^2 + \|\mathbf x_j - \bar{\mathbf x}\|^2 - 2\langle\mathbf x_i - \bar{\mathbf x}, \mathbf x_j - \bar{\mathbf x} \rangle \\ &= \|\mathbf x_i - \bar{\mathbf x}\|^2 + \|\mathbf x_j - \bar{\mathbf x}\|^2 - 2[K_c]_{ij}. \end{align} Así que -\mathbf D^2/2 difiere de \mathbf K_c sólo por algunas constantes de fila y columna (aquí \mathbf D^2 significa cuadrado de los elementos). Lo que significa que si lo centramos dos veces, obtendremos \mathbf K_c : \mathbf K_c = -\left(\mathbf I - \frac{\mathbf 1_n}{n}\right)\frac{\mathbf D^2}{2}\left(\mathbf I - \frac{\mathbf 1_n}{n}\right).

Lo que significa que partiendo de la matriz de distancias euclidianas por pares \mathbf D podemos realizar el PCA y obtener los componentes principales. Esto es exactamente lo que hace el MDS clásico (Torgerson): \mathbf D \mapsto \mathbf K_c \mapsto \mathbf{US} por lo que su resultado es equivalente al de PCA.

Por supuesto, si se elige cualquier otra medida de distancia en lugar de \|\mathbf x_i - \mathbf x_j\| entonces el MDS clásico dará lugar a otra cosa.

Referencia: Los elementos del aprendizaje estadístico , sección 18.5.2.

0 votos

Tengo que admitir que todavía no he pensado en esto: pero aquí hay una "comprobación de plausibilidad" que me pregunto: a partir de las dimensiones de las matrices, ¿no debería ser su matriz Gram \mathbf X \mathbf X^T que es n \times n ?

0 votos

Gracias, @cbeleites, por supuesto que tienes razón es sólo una errata. Lo arreglaré ahora. Hazme saber si ves otros errores (o siéntete libre de editarlos directamente).

4 votos

+1. Y gracias por demostrar con las matemáticas lo que se ha dicho en el primer párrafo de mi respuesta.

56voto

StasK Puntos 19497

Uhm... bastante diferente. En el PCA, se dan los datos continuos multivariados (un vector multivariable para cada sujeto), y se intenta averiguar si no se necesitan tantas dimensiones para conceptualizarlos. En el MDS (métrico), se da la matriz de distancias entre los objetos, y se intenta averiguar cuáles son las ubicaciones de estos objetos en el espacio (y si se necesita un espacio 1D, 2D, 3D, etc.). En el MDS no métrico, sólo se sabe que los objetos 1 y 2 están más alejados que los objetos 2 y 3, por lo que se intenta cuantificar eso, además de encontrar las dimensiones y las ubicaciones.

Con un notable esfuerzo de imaginación, se puede decir que un objetivo común de PCA y MDS es visualizar objetos en 2D o 3D. Pero dado lo diferentes que son las entradas, estos métodos no se discutirán como si estuvieran relacionados de forma distante en ningún libro de texto multivariante. Supongo que se pueden convertir los datos utilizables para el PCA en datos utilizables para el MDS (por ejemplo, calculando las distancias de Mahalanobis entre los objetos, utilizando la matriz de covarianza de la muestra), pero eso supondría inmediatamente una pérdida de información: El MDS sólo se define hasta la localización y la rotación, y las dos últimas pueden hacerse de forma más informativa con el PCA.

Si tuviera que mostrarle a alguien brevemente los resultados del MDS no métrico y quisiera darle una idea aproximada de lo que hace sin entrar en detalles, podría decir:

Dadas las medidas de similitud o disimilitud que tenemos, tratamos de mapear nuestros objetos/sujetos de tal manera que las "ciudades" que conforman tengan distancias entre ellas lo más cercanas a estas medidas de similitud que podamos hacer. Sólo podríamos mapearlos perfectamente en n -Sin embargo, en el espacio de las dimensiones, estoy representando las dos dimensiones más informativas, algo así como lo que se haría en el PCA si se mostrara una imagen con los dos componentes principales principales.

21 votos

¿No es un ACP aplicado a una matriz de correlaciones equivalente a un MDS con distancias euclidianas calculadas sobre variables estandarizadas?

0 votos

Por lo tanto, si tuviera que mostrar brevemente a alguien los resultados del MDS no métrico y quisiera darle una idea aproximada de lo que hace sin entrar en detalles, ¿podría decir "esto hace algo parecido al PCA" sin ser engañoso?

6 votos

Yo diría: "Dadas las medidas de similitud o disimilitud que tenemos, estamos tratando de mapear nuestros objetos/sujetos de tal manera que las "ciudades" que conforman tengan distancias entre ellas que sean lo más cercanas a estas medidas de similitud que podamos hacer. Sólo podríamos mapearlos perfectamente en n -espacio dimensional, por lo que estoy representando las dimensiones más informativas aquí - algo así como lo que se haría en PCA si se mostrara una imagen con los dos componentes principales principales".

35voto

gius Puntos 4298

El PCA produce exactamente los mismos resultados que el MDS clásico si Se utiliza la distancia euclidiana.

Cito a Cox & Cox (2001), p 43-44:

Existe una dualidad entre el análisis de componentes principales y el OCP [análisis de coordenadas principales, también conocido como MDS clásico] en el que las disimilitudes vienen dadas por la distancia euclidiana.

La sección de Cox & Cox lo explica con bastante claridad:

  • Imagina que tienes X = atributos de n productos de p dimensiones, media centrada
  • El ACP se consigue encontrando los vectores propios de la matriz de covarianza ~ X'X (dividido por n-1) -- llama a los vectores propios \xi y los valores propios \mu .
  • El MDS se consigue convirtiendo primero X en la matriz de distancia, aquí, la distancia euclidiana, es decir XX' y luego encontrar los vectores propios llamamos a los vectores propios v y los valores propios \lambda .
  • p 43: "Es un resultado bien conocido que los valores propios de XX' son los mismos que los de X'X junto con un extra n-p de valores propios cero". Así, para i < p , \mu_i = \lambda_i
  • Volviendo a la definición de los vectores propios, consideremos el i^{th} valores propios. X'Xv_i = \lambda_i v_i
  • Premultiplicar v_i con X' obtenemos (X'X)X'v_i = \lambda_i X'v_i
  • También tenemos X'X \xi_i = \mu_i \xi_i . Desde \lambda_i = \mu_i , obtenemos que \xi_i = X'v_i para i<p .

3 votos

Hice un poco de codificación en R, y utilicé cmdscale como una implementación de MDS clásico y prcomp para PCA - sin embargo el resultado, no es el mismo ... ¿hay algún punto que me estoy perdiendo?

3 votos

same results as classical MDS . Por "MDS clásico" debe referirse al MDS de Torgerson. En ese caso, la afirmación es cierta, ya que el MDS de Torgerson es realmente PCA (sólo a partir de la matriz de distancia). Si se define el "MDS clásico" de forma diferente (véase mi respuesta), la afirmación no es cierta.

8 votos

Espera, ¿cómo es que XX' proporciona la distancia euclidiana? XX' es un producto interno: si la matriz estuviera normalizada, daría la similitud del coseno. La distancia euclidiana requiere una resta y una raíz cuadrada.

4voto

Bob King Puntos 12913

Comparación: "El MDS métrico da el MISMO resultado que el PCA" -procedimentalmente- cuando observamos la forma en que se utiliza el SVD para obtener el óptimo. Pero, el criterio de alta dimensión preservado es diferente. El PCA utiliza una matriz de covarianza centrada, mientras que el MDS utiliza una matriz de gramo obtenida mediante el doble centrado de las matrices de distancia.

Pondrá la diferencia matemáticamente: El PCA puede ser visto como la maximización de Tr(X^T(I-\frac{1}{n}ee^T)X) en X con restricciones que X es ortogonal, dando así ejes/componentes principales. En el escalamiento multidimensional, una matriz de gramos (una matriz p.s.d. que puede representarse como Z^TZ ) se calcula a partir de la distancia euclidiana entre las filas de X y lo siguiente se minimiza sobre Y minimizar: ||G-Y^TY||_{F}^{2} .

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