Dar sentido al análisis de componentes principales, vectores propios y valores propios


976

En la clase de reconocimiento de patrones de hoy, mi profesor habló sobre PCA, vectores propios y valores propios.

Entendí las matemáticas de esto. Si me piden que encuentre valores propios, etc., lo haré correctamente como una máquina. Pero no lo entendí . No entendí el propósito. No pude sentirlo.

Creo firmemente en la siguiente cita:

Realmente no entiendes algo a menos que puedas explicárselo a tu abuela. -- Albert Einstein

Bueno, no puedo explicar estos conceptos a un laico o abuela.

  1. ¿Por qué PCA, vectores propios y valores propios? ¿Cuál era la necesidad de estos conceptos?
  2. ¿Cómo le explicaría esto a un laico?

95
Buena pregunta. Estoy de acuerdo con la cita también. Creo que hay muchas personas en estadística y matemáticas que son muy inteligentes y pueden profundizar en su trabajo, pero no entienden profundamente en qué están trabajando. O lo hacen, pero son incapaces de explicárselo a los demás. Me salgo de mi camino para proporcionar respuestas aquí en inglés sencillo, y hago preguntas que exigen respuestas planas en inglés.
Neil McGuigan

77
Esto se preguntó en el sitio de Matemáticas en julio, pero no tan bien y no obtuvo muchas respuestas (no es sorprendente, dado el enfoque diferente allí). math.stackexchange.com/questions/1146/…
whuber

66
Similar a la explicación de Zuur et al en Análisis de datos ecológicos donde hablan sobre proyectar su mano en un retroproyector. Continúa girando la mano para que la proyección en la pared se parezca bastante a lo que crees que debería ser una mano.
Roman Luštrik

12
Esta pregunta me llevó a un buen artículo, y aunque creo que es una gran cita, no es de Einstein. Esta es una mala atribución común, y la cita original más probable es probablemente la de Ernest Rutherford, quien dijo: "Si no puede explicar su física a una camarera, probablemente no sea una muy buena física". De todos modos, gracias por comenzar este hilo.
gavaletz

23
Alice Calaprice, La última cita de Einstein , Princeton UP 2011 marca la cita aquí como una de las muchas "Probablemente no de Einstein". Ver p.482.
Nick Cox

Respuestas:


1293

Imagine una gran cena familiar, donde todos comienzan a preguntarle sobre PCA. Primero se lo explicas a tu bisabuela; entonces a ti abuela; entonces a tu madre; luego a tu cónyuge; finalmente, a su hija (que es matemática). Cada vez que la siguiente persona es menos laica. Así es como podría ser la conversación.

Bisabuela: Escuché que estás estudiando "Pee-See-Ay". Me pregunto qué es eso ...

Usted: Ah, es solo un método para resumir algunos datos. Mira, tenemos algunas botellas de vino parados aquí en la mesa. Podemos describir cada vino por su color, por lo fuerte que es, por la edad que tiene, y así sucesivamente (ver esta muy agradable la visualización de las propiedades del vino tomado de aquí ). Podemos componer una lista completa de diferentes características de cada vino en nuestra bodega. Pero muchos de ellos medirán propiedades relacionadas y, por lo tanto, serán redundantes. Si es así, ¡deberíamos poder resumir cada vino con menos características! Esto es lo que hace PCA.

Abuela: ¡Esto es interesante! Entonces, ¿esta cosa de PCA verifica qué características son redundantes y las descarta?

Tu: Excelente pregunta, abuelita! No, PCA no está seleccionando algunas características y descartando las otras. En cambio, construye algunas características nuevas que resultan resumir bien nuestra lista de vinos. Por supuesto, estas nuevas características se construyen utilizando las antiguas; por ejemplo, una nueva característica podría calcularse como la edad del vino menos el nivel de acidez del vino o alguna otra combinación como esa (las llamamos combinaciones lineales ).

De hecho, PCA encuentra las mejores características posibles, las que resumen la lista de vinos de la mejor manera posible (entre todas las combinaciones lineales concebibles). Por eso es tan útil.

Madre: Hmmm, esto ciertamente suena bien, pero no estoy segura de entenderlo. ¿Qué quiere decir realmente cuando dice que estas nuevas características de PCA "resumen" la lista de vinos?

Usted: Creo que puedo dar dos respuestas diferentes a esta pregunta. La primera respuesta es que está buscando algunas propiedades (características) del vino que difieren mucho entre los vinos. De hecho, imagine que se le ocurre una propiedad que es igual para la mayoría de los vinos. Esto no sería muy útil, ¿no? Los vinos son muy diferentes, pero su nueva propiedad hace que todos se vean iguales. Esto sin duda sería un mal resumen. En cambio, PCA busca propiedades que muestren la mayor variación posible entre los vinos.

La segunda respuesta es que busca las propiedades que le permitirían predecir o "reconstruir" las características originales del vino. Nuevamente, imagine que se le ocurre una propiedad que no tiene relación con las características originales; si usa solo esta nueva propiedad, ¡no hay forma de reconstruir las originales! Esto, nuevamente, sería un mal resumen. Entonces PCA busca propiedades que permitan reconstruir las características originales lo mejor posible.

Sorprendentemente, resulta que estos dos objetivos son equivalentes y, por lo tanto, PCA puede matar dos pájaros de un tiro.

Cónyuge: Pero querida, ¡estos dos "objetivos" de PCA suenan tan diferentes! ¿Por qué serían equivalentes?

Tu: Hmmm. Quizás debería hacer un pequeño dibujo (toma una servilleta y comienza a garabatear) . Seleccionemos dos características del vino, tal vez la oscuridad del vino y el contenido de alcohol: no sé si están correlacionados, pero imaginemos que lo están. Así es como podría verse un diagrama de dispersión de diferentes vinos:

Datos ejemplares de PCA

Cada punto en esta "nube de vino" muestra un vino en particular. Verá que las dos propiedades ( x e y en esta figura) están correlacionadas. Se puede construir una nueva propiedad dibujando una línea a través del centro de esta nube de vino y proyectando todos los puntos en esta línea. Esta nueva propiedad estará dada por una combinación lineal w1x+w2y , donde cada línea corresponde a algunos valores particulares de w1 y w2 .

Ahora mire aquí con mucho cuidado: así es como se ven estas proyecciones para diferentes líneas (los puntos rojos son proyecciones de los puntos azules):

Animación PCA: error de varianza y reconstrucción

Como dije antes, PCA encontrará la "mejor" línea de acuerdo con dos criterios diferentes de cuál es la "mejor". Primero, la variación de valores a lo largo de esta línea debe ser máxima. Presta atención a cómo cambia la "extensión" (la llamamos "varianza") de los puntos rojos mientras la línea gira; puedes ver cuando alcanza el maximo? En segundo lugar, si reconstruimos las dos características originales (posición de un punto azul) a partir de la nueva (posición de un punto rojo), el error de reconstrucción estará dado por la longitud de la línea roja de conexión. Observe cómo cambia la longitud de estas líneas rojas mientras la línea gira; ¿Puedes ver cuando la longitud total alcanza el mínimo?

Si observa esta animación durante algún tiempo, notará que "la varianza máxima" y "el error mínimo" se alcanzan al mismo tiempo, es decir, cuando la línea apunta a las marcas magenta que marqué a ambos lados de la nube de vino . Esta línea corresponde a la nueva propiedad de vino que será construida por PCA.

Por cierto, PCA significa "análisis de componentes principales" y esta nueva propiedad se llama "primer componente principal". Y en lugar de decir "propiedad" o "característica", generalmente decimos "característica" o "variable".

Hija: ¡Muy bien papá! Creo que puedo ver por qué los dos objetivos producen el mismo resultado: se debe esencialmente al teorema de Pitágoras, ¿no? De todos modos, escuché que la PCA está de alguna manera relacionada con vectores propios y valores propios; ¿Dónde están en esta foto?

Usted: observación brillante. Matemáticamente, la extensión de los puntos rojos se mide como la distancia cuadrada promedio desde el centro de la nube de vino a cada punto rojo; como saben, se llama la varianza . Por otro lado, el error de reconstrucción total se mide como la longitud cuadrática promedio de las líneas rojas correspondientes. Pero como el ángulo entre las líneas rojas y la línea negra es siempre 90, la suma de estas dos cantidades es igual a la distancia cuadrada promedio entre el centro de la nube de vino y cada punto azul; Este es precisamente el teorema de Pitágoras. Por supuesto, esta distancia promedio no depende de la orientación de la línea negra, por lo que cuanto mayor sea la varianza, menor será el error (porque su suma es constante). Este argumento ondulado a mano se puede hacer preciso ( ver aquí ).

Por cierto, puedes imaginar que la línea negra es una barra sólida y cada línea roja es un resorte. La energía del resorte es proporcional a su longitud al cuadrado (esto se conoce en física como la ley de Hooke), por lo que la varilla se orientará para minimizar la suma de estas distancias al cuadrado. Hice una simulación de cómo se verá, en presencia de una fricción viscosa:

Animación PCA: péndulo

Con respecto a vectores propios y valores propios. Sabes qué es una matriz de covarianza ; en mi ejemplo, es una matriz de 2×2 que viene dada por

(1.070.630.630.64).
Lo que esto significa es que la varianza de la variable x es 1.07 , la varianza de la variable y es 0.64 y la covarianza entre ellas es 0.63 . Como es una matriz simétrica cuadrada, se puede diagonalizar eligiendo un nuevo sistema de coordenadas ortogonales, dado por sus vectores propios (por cierto, esto se llama teorema espectral); los valores propios correspondientes se ubicarán en la diagonal. En este nuevo sistema de coordenadas, la matriz de covarianza es diagonal y se ve así:
(1.52000.19),
lo que significa que la correlación entre los puntos ahora es cero. Queda claro que la varianza de cualquier proyección estará dada por un promedio ponderado de los valores propios (aquí solo esbozo la intuición). En consecuencia, la varianza máxima posible ( 1.52 ) se logrará si simplemente tomamos la proyección en el primer eje de coordenadas. Se deduce que la dirección del primer componente principal viene dada por el primer vector propio de la matriz de covarianza. ( Más detalles aquí. )

También puede ver esto en la figura giratoria: hay una línea gris allí ortogonal a la negra; juntos forman un marco de coordenadas giratorio. Intente notar cuándo los puntos azules no están correlacionados en este marco giratorio. La respuesta, una vez más, es que sucede precisamente cuando la línea negra apunta a las marcas magenta. Ahora puedo decirte cómo los encontré: marcan la dirección del primer vector propio de la matriz de covarianza, que en este caso es igual a (0.81,0.58) .


Por petición popular, compartí el código de Matlab para producir las animaciones anteriores .


79
+1 Bonito cuento e ilustraciones. ...then to your mother; then to your wife; finally, to your daughter (who is a mathematician)...Continuaría: y después de la cena, para ti. Y aquí de repente te
quedaste

68
Me encantan las ilustraciones que haces para estas respuestas.
shadowtalker

57
Normalmente solo navego a través de Cross Validated para leer sobre cosas, pero nunca he tenido razones para crear una cuenta ... principalmente porque el tipo de preguntas aquí están fuera de mi experiencia y realmente no puedo responder ninguna. Por lo general, estoy solo en StackOverflow y he estado en la red StackExchange durante aproximadamente un año. Sin embargo, solo he decidido crear una cuenta hoy principalmente para votar tu publicación. Esta es probablemente la mejor exposición de PCA que he leído, y he leído muchas. Gracias por esta maravillosa publicación: la excelente narración de historias, los gráficos y ¡es tan fácil de leer! +1
rayryeng

14
Nota para mí: mi respuesta actualmente tiene 100 votos a favor, la de JDLong tiene 220 votos a favor; Si asumimos un crecimiento constante, el mío tiene 100 votos a favor / año y el suyo tiene 40 votos a favor / año. O más bien 55 / año si se calcula desde que pasó 100 votos a favor [recibió una insignia de oro] en enero de 2014. Esto significa que me pondré al día en 2.5-3 años, a finales de 2018. Veamos :-)
ameeba

3
Nota para mí cont .: Tengo que actualizar mi estimación. Un mes después, esta respuesta obtuvo 18 votos a favor contra 5 para JDLong. Esto indica que podría ponerme al día en menos de un año a partir de ahora. Curiosamente, 5 / mes está muy cerca de mi estimación anterior de 55 / año, pero 18 / mes es más del doble de 100 / año. Como mi respuesta no cambió, parece que llegar al segundo lugar aceleró la votación (probablemente debido a la mayor visibilidad).
ameba

376

El manuscrito "Un tutorial sobre análisis de componentes principales" de Lindsay I Smith realmente me ayudó a asimilar PCA. Creo que todavía es demasiado complejo para explicárselo a tu abuela, pero no está mal. Debe omitir los primeros bits en el cálculo de los eigen, etc. Salte al ejemplo en el capítulo 3 y mire las gráficas.

Tengo algunos ejemplos en los que trabajé con algunos ejemplos de juguetes para poder entender la regresión lineal de PCA vs. OLS. Trataré de desenterrarlos y publicarlos también.

editar: Realmente no preguntaste sobre la diferencia entre Mínimos cuadrados ordinarios (OLS) y PCA, pero desde que desenterré mis notas hice una publicación de blog al respecto . La versión muy corta es OLS de y ~ x minimiza el error perpendicular al eje independiente como este (las líneas amarillas son ejemplos de dos errores):

texto alternativo

Si tuvieras que retroceder x ~ y (a diferencia de y ~ x en el primer ejemplo) minimizaría errores como este:

texto alternativo

y PCA minimiza efectivamente el error ortogonal al modelo en sí, así:

texto alternativo

Más importante aún, como han dicho otros, en una situación en la que tienes TODO UN LUGAR de variables independientes, PCA te ayuda a descubrir qué combinaciones lineales de estas variables son las más importantes. Los ejemplos anteriores solo ayudan a visualizar cómo se ve el primer componente principal en un caso realmente simple.

En mi blog tengo el código R para crear los gráficos anteriores y para calcular el primer componente principal. Puede valer la pena jugar para construir su intuición en torno a PCA. Tiendo a no poseer algo realmente hasta que escribo un código que lo reproduce. 


99
Un buen llamado al manuscrito de Lindsay I Smith: solo léalo hoy; muy útil.
Stedy

77
Entonces, ¿PCA es equivalente a Mínimos cuadrados totales si optimiza las distancias ortogonales desde los puntos hasta la línea de ajuste?
Marcin

3
m1mppx^iji=1,,nj=1,,pi=1nj=1p(xijx^ij)2

3
Pequeño error matemático en Smith: "todos los vectores propios de una matriz son perpendiculares ... no importa cuántas dimensiones tenga" solo se aplica a las matrices simétricas, aquí hay una con 45 grados de separación . Smith señala la simetría de las matrices de covarianza antes, pero no la implicación: la simetría garantiza nvectores propios perpendiculares. De hecho, no todas las n x nmatrices reales tienen incluso valores propios reales (por ejemplo, {{0,1}, {- 1,0}}) y de los que sí lo tienen, no todos tienen nvectores propios independientes (por ejemplo, {{1,1}, {0 , 1}})! ¡La simetría importa!
Silverfish

8
Como matemático que enseña vectores propios, tengo que estremecerme al leer este manuscrito de Lindsay Smith. "... el vector resultante es un múltiplo entero del original ..." - ¿cuál es el punto de mencionar un entero ? Un vector propio de la matriz A es cualquier vector X tal que AX es un múltiplo de X. ¡ No es un múltiplo entero, solo un múltiplo! ¡Un múltiplo no entero también está bien! Dios, ¿por qué crear confusión innecesaria donde no hay ninguno?
Dmitri Zaitsev

144

Hagamos (2) primero. PCA ajusta un elipsoide a los datos. Un elipsoide es una generalización multidimensional de formas esféricas distorsionadas como cigarros, panqueques y huevos. Todos estos están cuidadosamente descritos por las direcciones y longitudes de sus ejes principales (semi), como el eje del cigarro o huevo o el plano del panqueque. No importa cómo se gire el elipsoide, los vectores propios apuntan en esas direcciones principales y los valores propios le dan las longitudes. Los valores propios más pequeños corresponden a las direcciones más delgadas que tienen la menor variación, por lo que ignorarlos (lo que los colapsa) pierde relativamente poca información: eso es PCA.

(1) Además de la simplificación (arriba), tenemos la necesidad de una descripción concisa, visualización e información. Poder reducir las dimensiones es algo bueno : facilita la descripción de los datos y, si tenemos la suerte de reducirlos a tres o menos, nos permite dibujar una imagen. A veces, incluso podemos encontrar formas útiles de interpretar las combinaciones de datos representados por las coordenadas en la imagen, lo que puede permitirnos comprender el comportamiento conjunto de las variables.


200

Cifras

Cualquier nube de puntos 3D que sea "coherente" en el sentido de que no exhibe grupos o zarcillos o valores atípicos se verá como uno de estos. Una de estas figuras puede describir cualquier nube de puntos 3D, siempre que no todos los puntos coincidan, como un punto de partida inicial para identificar más agrupaciones o patrones.

La intuición que desarrollas al contemplar tales configuraciones se puede aplicar a dimensiones superiores, aunque sea difícil o imposible visualizar esas dimensiones.


2
Para agregar a esto, cuando tiene semiejes (casi) iguales (es decir, el elipsoide tiene un corte (casi) circular), indica que las dos piezas de datos correspondientes a esos ejes tienen dependencia (casi); se puede hablar de ejes principales para una elipse, pero los círculos solo tienen un radio. :)
JM no es un estadístico

66
Sería más cauteloso aquí, JM Primero, solo para aclarar que, por "casi dependencia" debes decir "casi independiente". Esto sería cierto para una variante multinormal, pero en muchos casos la PCA se realiza con datos que son notablemente no normales. De hecho, los análisis de agrupamiento que siguen a algunos cálculos de PCA pueden verse como una forma de evaluar una forma fuerte de no normalidad. Matemáticamente, los círculos no tienen ejes principales, pero simplemente no son determinados únicamente: se puede elegir cualquier par ortogonal de radios como sus ejes principales.
whuber

1
Sí, lo siento, supongo que "los ejes principales de un círculo son indeterminados" habría sido una mejor manera de decirlo.
JM no es un estadístico

2
Muy buena interpretación! Tratando de entenderlo mejor ... ¿en qué parte de las matemáticas de PCA se puede ver que "PCA se ajusta a un elipsoide de datos"?
Kochede

44
@Kochede Un elipsoide es un contorno de una forma cuadrática. La matriz de covarianza es una forma cuadrática. PCA identifica sus ejes y sus longitudes.
whuber

106

Hmm, aquí va una versión completamente no matemática de PCA ...

Imagina que acabas de abrir una sidrería. Tiene 50 variedades de sidra y quiere saber cómo distribuirlas en los estantes, de modo que las sidras de sabor similar se coloquen en el mismo estante. Hay muchos sabores y texturas diferentes en la sidra: dulzura, acidez, amargura, levadura, frutosidad, claridad, efervescencia, etc. Así que lo que debe hacer para clasificar las botellas en categorías es responder dos preguntas:

1) ¿Qué cualidades son más importantes para identificar grupos de sidras? Por ejemplo, ¿la clasificación basada en la dulzura hace que sea más fácil agrupar sus sidras en grupos de sabor similar que la clasificación basada en la fructificación?

2) ¿Podemos reducir nuestra lista de variables combinando algunas de ellas? por ejemplo, ¿existe realmente una variable que sea una combinación de "levadura, claridad y efervescencia" y que sea una escala realmente buena para clasificar las variedades?

Esto es esencialmente lo que hace PCA. Los componentes principales son variables que explican útilmente la variación en un conjunto de datos, en este caso, que diferencian útilmente entre grupos. Cada componente principal es una de sus variables explicativas originales, o una combinación de algunas de sus variables explicativas originales.


44
¿Qué pasa con los vectores propios y los valores propios?
Ηλίας

3
Bien: el valor propio asociado con cada componente principal le indica cuánta variación en el conjunto de datos explica (en mi ejemplo, qué tan claramente separa sus botellas en grupos). Generalmente se expresan como un porcentaje de la variación total en el conjunto de datos. En cuanto a los vectores propios, bueno, ahí es donde las garras decían que sigo el resultado de un análisis como una máquina;) En mi opinión, están relacionados con la forma en que gira el móvil de Vince a su 'mejor' orientación, pero esta podría no ser la forma correcta de pensar en ellos.
Freya Harrison

17
Los vectores propios son solo las combinaciones lineales de las variables originales (en el espacio factorial simple o rotado); describieron cómo las variables "contribuyen" a cada eje de factores. Básicamente, piense en PCA como una forma de construir nuevos ejes que apunten a las direcciones de varianza máxima (en el espacio variable original), como se expresa por el valor propio, y cómo las contribuciones variables se ponderan o transforman linealmente en este nuevo espacio.
chl

¿Cómo sería la matriz de covarianza de este problema? ¿Qué nos dice sobre las variables (dulzura, acidez, amargura, levadura, frutosidad, claridad, efervescencia, etc.)?
JustCurious

1
No sé de qué se trata estadísticos y las bebidas alcohólicas, pero whisky Classified hace exactamente esto durante el whisky escocés ...
nekomatic

96

Yo respondería en "términos simples" diciendo que PCA apunta a ajustar líneas rectas a los puntos de datos (todo el mundo sabe qué es una línea recta). Llamamos a estas líneas rectas "componentes principales". Hay tantos componentes principales como variables. El primer componente principal es la mejor línea recta que puede ajustar a los datos. El segundo componente principal es la mejor línea recta que puede ajustar a los errores del primer componente principal. El tercer componente principal es la mejor línea recta que puede ajustar a los errores del primer y segundo componente principal, etc., etc.

Si alguien le pregunta qué quiere decir con "mejor" o "errores", entonces esto le dice que no es un "laico", por lo que puede entrar en detalles un poco más técnicos, como errores perpendiculares, no sé dónde está el error dirección x o y, más de 2 o 3 dimensiones, etc. Además, si evita hacer referencia a la regresión de OLS (que el "laico" probablemente tampoco entenderá) la explicación es más fácil.

Los vectores propios y los valores propios no son conceptos necesarios per se, sino que son conceptos matemáticos que ya existían. Cuando resuelve el problema matemático de PCA, termina siendo equivalente a encontrar los valores propios y los vectores propios de la matriz de covarianza.


8
+1, esto está realmente en "términos simples", ¡y sé que podrías derivarlo muy rigurosamente si quisieras!
Gung

2
La mejor respuesta hasta ahora, diría. Y uso mucho PCA.
a11msp

2
Wow, esta es realmente una explicación genial y simple. ¡Gracias!
Nick

52

Puedo darle mi propia explicación / prueba del PCA, que creo que es realmente simple y elegante, y no requiere nada más que un conocimiento básico de álgebra lineal. Salió bastante largo, porque quería escribir en un lenguaje simple y accesible.

Mnn

βββi=1Mxiμ2μ0xi=xiμi=1Mxi2.

Ahora la elección de la línea. Podemos describir cualquier línea como un conjunto de puntos que satisfacen la ecuación , para algunos vectores . Tenga en cuenta que si movemos la línea por algún vector ortogonal a , entonces todas las proyecciones en la línea también se moverán por , por lo tanto, la media de las proyecciones se moverá por , de ahí la varianza de las proyecciones permanecerá sin cambios. Eso significa que podemos mover la línea paralela a sí misma, y ​​no cambiar la varianza de las proyecciones en esta línea. Nuevamente, por razones de conveniencia, limitémonos solo a las líneas que pasan por el punto cero (esto significa líneas descritas por ).x=αv+wv,wγvγγx=αv

Bien, ahora supongamos que tenemos un vector que describe la dirección de una línea que es un posible candidato para la línea que buscamos. Necesitamos calcular la varianza de las proyecciones en la línea . Lo que necesitaremos son puntos de proyección y su media. Por álgebra lineal sabemos que en este caso simple la proyección de en es . Limitémonos de ahora en adelante a solo vectores unitarios . Eso significa que podemos escribir la longitud de proyección del punto en simplemente como .vαvxiαvxi,v/v2vxivxi,v

En algunas de las respuestas anteriores, alguien dijo que PCA minimiza la suma de cuadrados de distancias desde la línea elegida. Ahora podemos ver que es cierto, porque la suma de los cuadrados de las proyecciones más la suma de los cuadrados de las distancias desde la línea elegida es igual a la suma de los cuadrados de las distancias desde el punto . Al maximizar la suma de los cuadrados de las proyecciones, minimizamos la suma de los cuadrados de las distancias y viceversa, pero esto fue solo una digresión reflexiva, volviendo a la prueba ahora.0

En cuanto a la media de las proyecciones, observemos que es parte de alguna base ortogonal de nuestro espacio, y que si proyectamos nuestros puntos de datos en cada vector de esa base, su suma se cancelará (es así porque se proyecta en el vectores desde la base es como escribir los puntos de datos en la nueva base ortogonal). Entonces, la suma de todas las proyecciones en el vector (llamemos a la suma ) y la suma de las proyecciones en otros vectores desde la base (llamémosle ) es 0, porque es la media de los puntos de datos. ¡Pero es ortogonal a ! Eso significa .vvSvSoSvSoSo=Sv=0

Entonces, la media de nuestras proyecciones es . 0Bueno, eso es conveniente, porque eso significa que la varianza es solo la suma de cuadrados de longitudes de proyecciones, o en símbolos

i=1M(xiv)2=i=1MvTxiTxiv=vT(i=1MxiTxi)v.

Bueno, de repente, la matriz de covarianza apareció. Vamos a denotar simplemente por . Significa que ahora estamos buscando un vector unitario que maximicev v TX vXvvTXvX

Xe1,e2,,enλ1,,λnλ1λ2,λ3λ

vTXvei

eiTXei=eiT(λiei)=λi(ei2)2=λi.

λ1e1vv=i=1neiv,eii=1nv,ei2=1βi=v,ei

vTXvvei

(i=1nβiei)TX(i=1nβiei)=(i=1nβiei)(i=1nλiβiei)=i=1nλi(βi)2(ei2)2.

vTXv=i=1nλiβi2βi21

Eso significa que la varianza de la proyección es una media ponderada de valores propios. Ciertamente, siempre es menor que el mayor valor propio, por lo que debería ser nuestra elección del primer vector PCA.

lin(e2,e3,,en)e2

i=1kλi/i=1nλi

kkv1,,vk

j=1ki=1nλiβij2=i=1nλiγi
γi=j=1kβij2.

eiv1,,vku1,,unkei=j=1kβijvj+j=1nkθjei,ujei2=1j=1kβij2+j=1nkθj2=1γi1i

i=1nλiγiγi1i=1nγi=ki=1kλik


2
+1 Muy buena respuesta! Todavía no lo he leído por completo, pero tu respuesta es la que he estado buscando. Todos los pasos explicados =)
jjepsuomi

99
Muéstrame un Layman que sepa álgebra lineal básica, y te mostraré una licenciatura en matemáticas.
probabilityislogic

xiαvxi,v/v2xi,v/v

1
Creo que esta es, con mucho, la mejor explicación para PCA que he visto. Gracias.
Nimitz14

1
Esa es mi explicación favorita que también muestra por qué los vectores propios maximizan la varianza.
Romwell

47

Muy bien, lo intentaré. Hace unos meses, busqué una buena cantidad de literatura para encontrar una explicación intuitiva que pudiera explicar a un no estadístico. Encontré las derivaciones que usan multiplicadores de Lagrange las más intuitivas.

Digamos que tenemos datos de alta dimensión, digamos 30 mediciones realizadas en un insecto. Los errores tienen genotipos diferentes y características físicas ligeramente diferentes en algunas de estas dimensiones, pero con datos de dimensiones tan altas es difícil saber qué insectos pertenecen a qué grupo.

PCA es una técnica para reducir la dimensión mediante:

  1. Tomando combinaciones lineales de las variables originales.
  2. Cada combinación lineal explica la mayor variación en los datos que puede.
  3. Cada combinación lineal no está correlacionada con las demás.

O, en términos matemáticos:

  1. Yj=ajx
  2. k>jV(Yk)<V(Yj)
  3. akaj=0

Encontrar combinaciones lineales que satisfagan estas restricciones nos lleva a valores propios. ¿Por qué?

Recomiendo revisar el libro Una Introducción al Análisis de Datos Multivariados para la derivación completa (p. 50), pero la idea básica son los problemas de optimizaciones sucesivas (maximizando la varianza) restringidos de manera tal que a'a = 1 para los coeficientes a (para evitar el caso cuando la varianza podría ser infinita) y restringida para asegurarse de que los coeficientes sean ortogonales.

Esto lleva a la optimización con multiplicadores de Lagrange, que a su vez revela por qué se usan valores propios. Soy demasiado flojo para escribirlo (¡lo siento!) Pero, este PDF pasa por la prueba bastante bien desde este punto.

Nunca trataría de explicarle esto a mi abuela, pero si tuviera que hablar generalmente sobre técnicas de reducción de dimensiones, señalaría este ejemplo de proyección trivial (no PCA). Supongamos que tiene un móvil Calder que es muy complejo. Algunos puntos en un espacio tridimensional cerca uno del otro, otros no. Si colgamos este móvil del techo y alumbramos con él desde un ángulo, obtenemos una proyección en un plano de menor dimensión (una pared bidimensional). Ahora, si este móvil es principalmente ancho en una dirección, pero delgado en la otra dirección, podemos rotarlo para obtener proyecciones que difieren en utilidad. Intuitivamente, una forma delgada en una dimensión proyectada en una pared es menos útil: todas las sombras se superponen y no nos dan mucha información. Sin embargo, si lo giramos para que la luz brille en el lado ancho, obtenemos una mejor imagen de los datos de dimensión reducida: los puntos están más dispersos. Esto es a menudo lo que queremos. Creo que mi abuela podría entender eso :-)


66
Eso es muy laico ;-)

2
Es un poco complicado, pero la mejor manera de entender algo es derivarlo.
Vince

29
Tienes una abuela excepcionalmente bien educada :-).
whuber

77
me gusta la explicación con la luz que brilla en una estructura
tridimensional

(+1) Todas son excelentes respuestas, pero esta es la que yo también daría.
Digio

37

Intentando no ser técnico ... Imagine que tiene una información multivariada, una nube de puntos multidimensional. Cuando calcula la matriz de covarianza de los que realmente (a) centra la nube, es decir, coloca el origen como la media multidimensional, los ejes del sistema de coordenadas ahora se cruzan en el centro de la nube, (b) encripta la información sobre la forma de la nube y cómo se orienta en el espacio mediante entradas de varianza-covarianza. Por lo tanto, la mayor parte de la información importante sobre la forma de los datos en su conjunto se almacena en la matriz de covarianza.

Luego, realiza una descomposición propia de esa martrix y obtiene la lista de valores propios y el número correspondiente de vectores propios. Ahora, el primer componente principal es la nueva variable latente que puede mostrarse como el eje que atraviesa el origen y orientarse a lo largo de la dirección de la varianza máxima (espesor) de la nube. La varianza a lo largo de este eje, es decir, la varianza de las coordenadas de todos los puntos en él, esel primer valor propio, y la orientación del eje en el espacio referenciado a los ejes originales (las variables) está definida por el primer vector propio: sus entradas son los cosenos entre él y esos ejes originales. Las coordenadas de puntos de datos mencionadas anteriormente en el primer componente son los valores del primer componente principal, o puntajes de componentes; se calculan como el producto de la matriz de datos (centrada) y el vector propio.

"Después" del 1er pr. El componente que se midió es, por decirlo así, "eliminado" de la nube con toda la varianza que representaba, y la dimensionalidad de la nube cae en uno. Luego, todo se repite con el segundo valor propio y el segundo vector propio - el segundo pr. componente se está grabando y luego "eliminado". Etc.

Entonces, una vez más: los vectores propios son cosenos de dirección para componentes principales, mientras que los valores propios son la magnitud (la varianza) en los componentes principales. La suma de todos los valores propios es igual a la suma de las variaciones que están en la diagonal de la matriz de varianza-covarianza. Si transfiere la información "magnitudinal" almacenada en valores propios a los vectores propios para agregarla a la información "orientativa" almacenada allí, obtiene lo que se denomina cargas de componentes principales ; Estas cargas, debido a que llevan ambos tipos de información, son las covarianzas entre las variables originales y los componentes principales.

Más tarde, PS quiero destacar especialmente dos veces aquí la diferencia terminológica entre vectores propios y cargas . Muchas personas y algunos paquetes (incluidos algunos de ellos R) usan los dos términos de manera indiferente. Es una mala práctica porque los objetos y sus significados son diferentes. Los vectores propios son los cosenos de dirección, el ángulo de la "rotación" ortogonal que equivale a PCA. Las cargas son vectores propios inoculados con la información sobre la variabilidad o magnitud de los datos rotados. Las cargas son los coeficientes de asociación entre los componentes y las variables y son directamente comparables con los coeficientes de asociación calculados entre las variables: covarianzas, correlaciones u otros productos escalares.1) Los vectores propios son los coeficientes para predecir variables por puntajes de componentes brutos. Las cargas son los coeficientes para predecir variables mediante puntajes de componentes escalados (normalizados) (no es de extrañar: las cargas han precipitado información sobre la variabilidad, por lo tanto, los componentes utilizados deben ser privados de ella). Una razón más para no mezclar los vectores propios y las cargas es que algunas otras técnicas de reducción de dimensionalidad además de PCA, como algunas formas de análisis factorial, calculan las cargas directamente, sin pasar por los vectores propios. Los vectores propios son el producto de la descomposición propia o la descomposición de valor singular; Algunas formas de análisis factorial no utilizan estas descomposiciones y llegan a las cargas al revés. Finalmente, son las cargas, no los vectores propios, los que interpreta los componentes o factores (si necesita interpretarlos). La carga se trata de una contribución del componente a una variable: en PCA (o análisis factorial) el componente / factor se carga en la variable, no al revés. En los resultados completos de PCA, se deben informar tanto los vectores propios como las cargas, como se muestra, por ejemploaquí o aquí .

Ver también sobre cargas vs vectores propios.


1


@amoeba, no insisto y puedes usar cualquier terminología a la que estés acostumbrado. Expliqué claramente por qué creo que los términos "cargas" y "vectores propios" son mejores para mantenerse separados. Sigo la tradición clásica, como en Harman. Análisis factorial moderno, si solo recuerdo la tradición correctamente.
ttnphns

(Cont.) De todos modos, usted mismo sabe que el término "cargas", aunque en realidad es bastante dudoso, no se mezcla con el "vector propio" en otros análisis multivariados, como el análisis discriminante, por ejemplo. Una vez más, como lo expresé, en las cargas de PCA 1) incorporar información sobre la magnitud de la variación; 2) Son las covarianzas / correlaciones, y por lo tanto se utilizan para la interpretación. Los valores de vectores propios no lo son.
ttnphns

2
+1 He estado leyendo tus publicaciones sobre PCA y otros temas relacionados, y aprendí mucho.
Antoni Parellada

29

OK, una respuesta totalmente no matemática:

Si tiene un montón de variables sobre un grupo de temas y desea reducirlo a un número menor de variables sobre esos mismos temas, mientras pierde la menor información posible, entonces PCA es una herramienta para hacer esto.

Se diferencia del análisis factorial, aunque a menudo dan resultados similares, ya que FA intenta recuperar un pequeño número de variables latentes de un mayor número de variables observadas que se cree que están relacionadas con las variables latentes.


Hola Peter! Que bueno verte aquí. Esta es una muy buena, simple, sin respuesta matemática.
JD Long

3
+1 por mencionar FA, que nadie más parece discutir, y sobre el que las explicaciones de algunas personas parecen combinarse.
gung

Parece que no hay diferencia en los objetivos de PCA y FA: ambos apuntan a rotar para que pueda ver los factores más importantes (vectores latentes, eigendimensiones o vectores singulares o lo que sea). Pero FA parece no ser un algoritmo sino una familia de técnicas relacionadas (entre sí y SVD y PCA) con objetivos correspondientemente mal definidos (es decir, diversos y mutuamente inconsistentes, por lo que diferentes variantes 'optimizan' cosas diferentes).
David MW Powers

¿Sería correcto decir que PCA es una de las muchas formas posibles de hacer análisis factoriales?
abalter

La terminología en esta área es notoriamente inconsistente.
Peter Flom

29

Es más fácil hacer los cálculos en 2-D.

Cada matriz corresponde a una transformación lineal. Las transformaciones lineales se pueden visualizar tomando una figura memorable en el plano y viendo cómo esa figura es distorsionada por la transformación lineal:

transformaciones lineales (foto: Flanigan y Kazdan )

  • mona lisa vectores propiosshear
  • ×1
  • Fútbol de PCA
    1=23%[1]+46%[2]+39%[3]

f(ax+by)=af(x)+bf(y)+abxyde algún espacio interesante Por ejemplo :

caras

PCA en sí es otro ejemplo, el más familiar para los estadísticos. Algunas de las otras respuestas como Freya dan aplicaciones de PCA en el mundo real .

similar how?x42.8%[x]57.2%[y]


2
En realidad, es una coincidencia que las rotaciones sean lineales y, por lo tanto, una forma conveniente de describir lo que está sucediendo para los datos no geométricos. La coincidencia se relaciona con la naturaleza cuadrática del espacio cartesiano / euclidiano y el teorema del límite central / gaussiano. Verbigracia. las sigmas se suman cuadráticamente como dimensiones ortogonales, que es donde nuestra terminología rotacional / ortogonal ND se origina por analogía con el espacio 2D y 3D.
David MW Powers

@DavidMWPowers Interesante. Estoy pensando en rotaciones desde un punto de vista de álgebra lineal.
isomorphismes

27

Después de la excelente publicación de JD Long en este hilo, busqué un ejemplo simple y el código R necesario para producir el PCA y luego volver a los datos originales. Me dio algo de intuición geométrica de primera mano, y quiero compartir lo que obtuve. El conjunto de datos y el código pueden copiarse directamente y pegarse en R desde Github .

Utilicé un conjunto de datos que encontré en línea en semiconductores aquí , y lo recorté a solo dos dimensiones - "número atómico" y "punto de fusión" - para facilitar el trazado.


Como advertencia, la idea es puramente ilustrativa del proceso computacional: PCA se utiliza para reducir más de dos variables a unos pocos componentes principales derivados, o para identificar colinealidad también en el caso de múltiples características. Por lo tanto, no encontraría mucha aplicación en el caso de dos variables, ni sería necesario calcular los vectores propios de las matrices de correlación como señaló @amoeba.


Además, trunqué las observaciones del 44 al 15 para facilitar la tarea de rastrear puntos individuales. El resultado final fue un marco de datos esqueleto ( dat1):

compounds   atomic.no      melting.point
AIN         10             498.0
AIP         14             625.0
AIAs        23             1011.5
...         ...            ... 

La columna de "compuestos" indica la constitución química del semiconductor y desempeña el papel de nombre de fila.

Esto se puede reproducir de la siguiente manera (listo para copiar y pegar en la consola R):

dat              <- read.csv(url("http://rinterested.github.io/datasets/semiconductors"))
colnames(dat)[2] <- "atomic.no"
dat1             <- subset(dat[1:15,1:3])
row.names(dat1)  <- dat1$compounds
dat1             <- dat1[,-1]

Los datos fueron luego escalados:

X <- apply(dat1, 2, function(x) (x - mean(x)) / sd(x))
# This centers data points around the mean and standardizes by dividing by SD.
# It is the equivalent to `X <- scale(dat1, center = T, scale = T)`  

Los pasos de álgebra lineal siguieron:

C <- cov(X)                                           # Covariance matrix (centered data)

[at_nomelt_pat_no10.296melt_p0.2961]

La función de correlación cor(dat1)proporciona el mismo resultado en los datos no escalados que la función cov(X)en los datos escalados.

lambda        <- eigen(C)$values                      # Eigenvalues
lambda_matrix <- diag(2)*eigen(C)$values              # Eigenvalues matrix

[λPC1λPC21.296422000.7035783]

e_vectors     <- eigen(C)$vectors                     # Eigenvectors

12[PC1PC21111]

[0.7,0.7][0.7,0.7]

e_vectors[,1] = - e_vectors[,1]; colnames(e_vectors) <- c("PC1","PC2")

1.29642170.703578364.8%eigen(C)$values[1]/sum(eigen(C)$values) * 10065%35.2%

ingrese la descripción de la imagen aquí

Incluiremos ambos vectores propios dado el pequeño tamaño de este ejemplo de conjunto de datos de juguetes, entendiendo que excluir uno de los vectores propios daría como resultado una reducción de la dimensionalidad, la idea detrás de PCA.

La matriz de puntuación se determinó como la multiplicación matricial de los datos escalados ( X) por la matriz de vectores propios (o "rotaciones") :

score_matrix <-  X %*% e_vectors    
# Identical to the often found operation: t(t(e_vectors) %*% t(X))

X[0.7,0.7]TPC1[0.7,0.7]TPC2

ingrese la descripción de la imagen aquí

[0.7,0.7]

ingrese la descripción de la imagen aquí

1

> apply(e_vectors, 2, function(x) sum(x^2))
PC1 PC2 
  1   1 

mientras que las ( cargas ) son los vectores propios escalados por los valores propios (a pesar de la terminología confusa en las funciones R incorporadas que se muestran a continuación). En consecuencia, las cargas se pueden calcular como:

> e_vectors          %*% lambda_matrix
          [,1]      [,2]
[1,] 0.9167086  0.497505
[2,] 0.9167086 -0.497505

> prcomp(X)$rotation %*% diag(princomp(covmat = C)$sd^2)
                   [,1]      [,2]
atomic.no     0.9167086  0.497505
melting.point 0.9167086 -0.497505

Es interesante notar que la nube de datos rotados (la gráfica de puntaje) tendrá una varianza a lo largo de cada componente (PC) igual a los valores propios:

> apply(score_matrix, 2, function(x) var(x))
       PC1        PC2 
53829.7896   110.8414 
> lambda
[1] 53829.7896   110.8414

Utilizando las funciones integradas, los resultados se pueden replicar:

# For the SCORE MATRIX:
  prcomp(X)$x
# or...
  princomp(X)$scores # The signs of the PC 1 column will be reversed.

# and for EIGENVECTOR MATRIX:
  prcomp(X)$rotation
# or...
  princomp(X)$loadings

# and for EIGENVALUES:
  prcomp(X)$sdev^2
# or...
  princomp(covmat = C)$sd^2

UΣVTprcomp()

svd_scaled_dat <-svd(scale(dat1))
eigen_vectors <- svd_scaled_dat$v
eigen_values <- (svd_scaled_dat$d/sqrt(nrow(dat1) - 1))^2
scores<-scale(dat1) %*% eigen_vectors

El resultado se muestra a continuación, con primero, las distancias desde los puntos individuales al primer vector propio, y en un segundo gráfico, las distancias ortogonales al segundo vector propio:

ingrese la descripción de la imagen aquí

Si, en cambio, graficamos los valores de la matriz de puntaje (PC1 y PC2), ya no "melting.point" y "atomic.no", sino realmente un cambio de base de las coordenadas de puntos con los vectores propios como base, estas distancias serían conservado, pero naturalmente se volvería perpendicular al eje xy:

ingrese la descripción de la imagen aquí

El truco ahora era recuperar los datos originales . Los puntos se habían transformado mediante una simple multiplicación matricial por los vectores propios. Ahora los datos se volvieron a multiplicar por la inversa de la matriz de vectores propios con un cambio marcado resultante en la ubicación de los puntos de datos. Por ejemplo, observe el cambio en el punto rosado "GaN" en el cuadrante superior izquierdo (círculo negro en el diagrama izquierdo, abajo), volviendo a su posición inicial en el cuadrante inferior izquierdo (círculo negro en el diagrama derecho, abajo).

Ahora finalmente tuvimos los datos originales restaurados en esta matriz "des-rotada":

ingrese la descripción de la imagen aquí

Más allá del cambio de coordenadas de rotación de los datos en PCA, los resultados deben ser interpretados, y este proceso tiende a involucrar a biplot, en el cual los puntos de datos se trazan con respecto a las nuevas coordenadas del vector propio, y las variables originales ahora se superponen como vectores Es interesante observar la equivalencia en la posición de los puntos entre las parcelas en la segunda fila de gráficos de rotación anteriores ("Puntajes con eje xy = vectores propios") (a la izquierda en las parcelas que siguen), y el biplot(a la derecho):

ingrese la descripción de la imagen aquí

La superposición de las variables originales como flechas rojas ofrece un camino hacia la interpretación de PC1un vector en la dirección (o con una correlación positiva) con ambos atomic noy melting point; y PC2como un componente a lo largo de valores crecientes de atomic nopero negativamente correlacionados con melting point, consistentes con los valores de los vectores propios:

PCA$rotation
                    PC1        PC2
atomic.no     0.7071068  0.7071068
melting.point 0.7071068 -0.7071068

Este tutorial interactivo de Victor Powell brinda comentarios inmediatos sobre los cambios en los vectores propios a medida que se modifica la nube de datos.


1
¡+1 por el esfuerzo y en particular por la animación! Pero uno debe tener en cuenta que PCA en la matriz de correlación de dos variables es un caso especial porque todas las matrices de correlación de dos variables tienen vectores propios idénticos : uno de ellos siempre será [0.7 0.7] (0.7 es un 1 / sqrt (2)). Este no es el caso para las matrices de covarianza, o para las matrices de correlación en dimensiones superiores.
ameba

14

Aquí hay un ejemplo de mi propio campo de la neurociencia, de alguien que ha usado mucho la PCA (e intentó explicarlo también a algunas personas).

Cuando estamos grabando desde el cuero cabelludo de una persona, lo hacemos con 64 electrodos. Entonces, en efecto, tenemos 64 números en una lista que representan el voltaje emitido por el cuero cabelludo. Ahora, dado que registramos con precisión de microsegundos, si tenemos un experimento de 1 hora (a menudo son 4 horas), eso nos da 1e6 * 60 ^ 2 == 3,600,000,000 puntos de tiempo en los que se registró un voltaje en cada electrodo, de modo que ahora tenemos tener una matriz de 3,600,000,000 x 64. Dado que una suposición principal de PCA es que sus variables están correlacionadas, es una gran técnica reducir esta cantidad ridícula de datos a una cantidad manejable. Como ya se ha dicho en numerosas ocasiones, los valores propios representan la cantidad de varianza explicada por las variables (columnas). En este caso, un valor propio representa la varianza en el voltaje en un punto particular en el tiempo contribuido por un electrodo particular. Entonces ahora podemos decir: "Oh, bien electrodoxen este momento yes en lo que deberíamos centrarnos para un análisis más profundo porque allí es donde está ocurriendo el mayor cambio ". Espero que esto ayude. ¡Amar esas tramas de regresión!


12

Podría ser una mala persona para responder esto porque soy la abuela proverbial que me ha explicado el concepto y no mucho más, pero aquí va:

Supongamos que tienes una población. Una gran parte de la población está cayendo muerta de ataques al corazón. Estás tratando de descubrir qué causa los ataques al corazón.

Tienes dos datos: altura y peso.

Ahora, está claro que hay ALGUNA relación entre el peso y los ataques cardíacos, pero la correlación no es realmente fuerte. Hay algunas personas pesadas que tienen muchos ataques al corazón, pero otras no.

Ahora, usted hace un PCA, y le dice que el peso dividido por la altura ('masa corporal') es un predictor mucho más probable de ataques cardíacos que el peso o la altura, porque, he aquí, la "realidad" es que es masa corporal que causa los ataques al corazón.

Esencialmente, hace PCA porque está midiendo un montón de cosas y realmente no sabe si esos son realmente los componentes principales o si hay algún componente subyacente más profundo que no midió.

[Por favor, siéntase libre de editar esto si está completamente fuera de la base. Realmente no entiendo el concepto más profundamente que esto].


1
¡Bienvenido al sitio de estadísticas @Joel! Si tiene la oportunidad, también puede contribuir a la discusión sobre nuestro proyecto de análisis de datos StackExchange distribuido propuesto: stats.stackexchange.com/questions/2512/… .
Shane

99
Excelente ejemplo, pero técnicamente PCA no puede encontrar la explicación de la masa corporal ya que solo puede encontrar explicaciones lineales, es decir, sumas ponderadas de las variables originales. Sin embargo, si toma registros de sus variables de entrada, la relación se convierte en una diferencia, y si es la explicación correcta, PCA podrá encontrarla.
David MW Powers

10

Aquí hay uno para la abuela:

En nuestra ciudad hay calles que van hacia el norte y el sur, algunas hacia el este y el oeste, e incluso algunas hacia el noroeste y el sureste, algunas hacia el noreste hasta el suroeste. Un día, un tipo mide todo el tráfico en todas las calles, descubre que la mayor parte del tráfico va en diagonal, de noroeste a sureste, el segundo más grande es perpendicular a este que va de noreste a suroeste y todo lo demás es bastante pequeño. Entonces dibuja un cuadrado grande y pone una línea grande de izquierda a derecha y dice que es el NO al SE, luego dibuja otra línea verticalmente hacia arriba y hacia abajo a través del medio. Él dice que esa es la segunda dirección más concurrida para el tráfico (NE a SW). El resto es pequeño, por lo que puede ignorarse.

La línea izquierda derecha es el primer vector propio y la línea ascendente hacia abajo es el segundo vector propio. El número total de automóviles que van hacia la izquierda y hacia la derecha son el primer valor propio y los que suben y bajan son el segundo valor propio.


1
Esta analogía parece romperse bajo examen. ¿Qué pasa si la dirección de tráfico más grande y la segunda más grande no son ortogonales? ¿Cómo nos ayuda su analogía a entender un PCA en tal caso?
whuber

Supongo que la abuela entiende lo que significa ortogonal? Sí, hay algunos defectos allí, pero es un comienzo. Creo que es genial que haya habido tantas respuestas aquí.
BajaBob

2
Ya sea que "abuela" entienda o no una publicación, debe ser razonablemente clara y correcta. Su analogía no parece cumplir ninguno de esos objetivos. Esto puede deberse a que no entiendo la analogía: no puedo conectarlo a lo que PCA es o hace. Quizás podría aclarar cómo funciona la analogía para que otros lectores no se desconcierten tanto como yo.
whuber

El hecho de que no sean ortogonales significa que necesita ICA o FA, no PCA. Si la abuela estaba mirando Star Trek (sí, ella es de esa generación) cuando muestran la nave discapacitada en ángulo, PCA tenderá a recuperar el plano de referencia relevante para la escala y la vista (el plano galáctico o los ejes de la nave).
David MW Powers

-1. Estoy de acuerdo con @whuber en que esta analogía no funciona. ¿Cuál se supone que son los datos aquí, de qué matriz de covarianza son estos "vectores propios"? No lo entiendo en absoluto.
ameba

10

Esta respuesta da una interpretación intuitiva y no matemática:

El PCA le dará un conjunto de vectores ortogonales dentro de una nube de puntos de alta dimensión. El orden de los vectores está determinado por la información transmitida después de proyectar todos los puntos en los vectores.

En otras palabras: el primer vector componente principal le informará más sobre la nube de puntos después de proyectar todos los puntos en el vector. Esta es una interpretación intuitiva, por supuesto.

Mire este elipsoide (siga el enlace para un modelo 3D) :

ingrese la descripción de la imagen aquí

Si tuviera que elegir un vector que formara un subespacio unidimensional sobre el cual se proyectarán los puntos de los puntos elipsoides. ¿Cuál elegirías porque transmite la mayor cantidad de información sobre el conjunto original en 3 dimensiones?

Supongo que el rojo a lo largo del eje más largo. ¡Y este es en realidad el primer componente principal calculado! ¿Cuál de los siguientes? Elegiría el azul a lo largo del siguiente eje más largo.

Por lo general, desea proyectar un conjunto de puntos desde un espacio de alta dimensión en un plano bidimensional o en un espacio tridimensional .

ingrese la descripción de la imagen aquí


http://www.joyofdata.de/blog/illustration-of-principal-component-analysis-pca/


10

Aunque se dan muchos ejemplos para proporcionar una comprensión intuitiva de la PCA, ese hecho casi puede hacer que sea más difícil de entender desde el principio, al menos lo fue para mí.

"¿Qué fue lo único sobre PCA que todos estos diferentes ejemplos de diferentes disciplinas tienen en común?"

Lo que me ayudó a entender intuitivamente fueron un par de paralelos matemáticos, ya que aparentemente las matemáticas son la parte fácil para ti, aunque esto no ayuda a explicárselo a tu abuela ...

Piense en un problema de regularización, tratando de obtener

||XBY||=0

YY

YYXkBYXBkSVSVT

AA


9

Aquí hay una respuesta matemática: el primer componente principal es la dimensión más larga de los datos. Míralo y pregunta: ¿dónde están los datos más amplios? Ese es el primer componente. El siguiente componente es el perpendicular. Entonces un cigarro de datos tiene una longitud y un ancho. Tiene sentido para cualquier cosa que sea algo oblonga.


66
Desafortunadamente, la exactitud de esta respuesta depende de cómo se interprete la vaga expresión "más larga". Muchas interpretaciones naturales y relevantes, como el diámetro , estarían equivocadas.
whuber

PCA en realidad funciona bastante bien con diferentes tipos de forma natural para medir la dimensión / tamaño. Solo necesita reemplazar la matriz de covarianza con una matriz para medir la "dimensión" en cualquier dirección (la matriz solo debe ser definida positivamente o simétrica). Esto es como QuickSort funciona para diferentes operadores de pedidos, pero obtendrá resultados diferentes para diferentes operadores de pedidos.
James LI

9

La forma en que entiendo los componentes principales es la siguiente: los datos con múltiples variables (altura, peso, edad, temperatura, longitud de onda, porcentaje de supervivencia, etc.) se pueden presentar en tres dimensiones para trazar la relación.

Ahora, si de alguna manera quisiera dar sentido a los "datos 3D", es posible que desee saber qué planos 2D (secciones transversales) de estos datos 3D contienen la mayor cantidad de información para un conjunto dado de variables. Estos planos 2D son los componentes principales, que contienen una proporción de cada variable.

Piense en los componentes principales como variables en sí, con características compuestas de las variables originales (esta nueva variable podría describirse como parte de peso, parte de altura, parte de edad, etc.). Cuando traza un componente principal (X) frente a otro (Y), lo que está haciendo es construir un mapa 2D que puede describir geométricamente las correlaciones entre las variables originales. Ahora la parte útil: dado que cada sujeto (observación) que se compara está asociado con valores para cada variable, los sujetos (observaciones) también se encuentran en algún lugar de este mapa XY. Su ubicación se basa en las contribuciones relativas de cada variable subyacente (es decir, una observación puede verse muy afectada por la edad y la temperatura, mientras que otra puede verse más afectada por la altura y el peso).


8

Daré una respuesta no matemática y una vista más detallada de la motivación a través de las matemáticas en la segunda parte.


No matemático:

La explicación no matemática es que PCA ayuda a obtener datos de alta dimensión al permitirle ver en qué direcciones sus datos tienen la mayor variación. Estas instrucciones son los componentes principales . Una vez que tenga esta información, puede, en algunos casos, decidir usar los componentes principales como las variables significativas en sí mismas, y reducir enormemente la dimensionalidad de sus datos al mantener solo los componentes principales con la mayor variación ( poder explicativo ).

Por ejemplo, suponga que entrega un cuestionario de votación política con 30 preguntas, cada una puede recibir una respuesta de 1 ( totalmente en desacuerdo ) a 5 ( totalmente de acuerdo ). Obtienes toneladas de respuestas y ahora tienes datos de 30 dimensiones y no puedes sacarles cara o cruz. Luego, en la desesperación, piensa ejecutar PCA y descubre que el 90% de su varianza proviene de una dirección, y esa dirección no corresponde a ninguno de sus ejes. Después de una inspección más profunda de los datos, concluye que este nuevo eje híbrido corresponde al espectro político de izquierda a derecha, es decir, espectro demócrata / republicano, y luego ve los aspectos más sutiles de los datos.


Mathy:

A veces es útil alejarse y observar la motivación matemática para arrojar algo de luz sobre el significado.

Hay una familia especial de matrices que se pueden transformar en matrices diagonales simplemente cambiando su eje de coordenadas. Naturalmente, se denominan matrices diagonalizables y, con bastante elegancia, el nuevo eje de coordenadas que se necesita para hacer esto son los vectores propios.

¡Resulta que las matrices de covarianza son simétricas y siempre serán diagonalizables ! En este caso, los vectores propios se denominan componentes principales y cuando escribe la matriz de covarianza en coordenadas de vectores propios, las entradas diagonales (las únicas que quedan) corresponden a la varianza en la dirección de sus vectores propios. Esto nos permite saber qué direcciones tienen la mayor variación. Además, dado que la matriz de covarianza es diagonal en estas coordenadas, ha eliminado hábilmente toda correlación entre sus variables.

Como es común en aplicaciones prácticas, asumimos que nuestras variables están normalmente distribuidas y, por lo tanto, es bastante natural tratar de cambiar nuestras coordenadas para ver la imagen más simple. Al conocer sus componentes principales y sus respectivos valores propios (varianza), podrá reducir la dimensionalidad de sus datos si es necesario y también tendrá un resumen general rápido de dónde radica la variación en sus datos.

Pero al final del día, la raíz de toda esta conveniencia proviene del hecho de que las matrices diagonales son mucho más fáciles de tratar en comparación con sus primos más desordenados y más generales.


2
Gracias por tu contribución. Sin embargo, parece abordar una interpretación innecesariamente limitada de PCA. (1) PCA se ha aplicado fructíferamente a conjuntos de datos altamente no gaussianos. (2) PCA no es un procedimiento paramétrico formal; tal vez sea mejor pensarlo como un espíritu exploratorio. (3) Todas las matrices de covarianza, de cualquier tipo de distribución o datos multivariados, son diagonalizables. Ni la gaussianidad (normalidad) ni la no degeneración son requisitos. (La simetría de la matriz y los componentes reales garantizan la diagonalización .)
whuber

Debo admitir que me da vergüenza haberlo olvidado, pero un buen punto sobre las matrices de covarianza es diagonalizable en general. Voy a editar para reflejar eso. Además, ¿podría explicar el punto (2)? No estoy familiarizado con la diferencia entre procedimientos paramétricos o no paramétricos.
Christian Bueno

7

Veo PCA como una herramienta geométrica. Si le dan un montón de puntos en 3 espacios que están prácticamente todos en línea recta, y desea averiguar la ecuación de esa línea, la obtiene a través de PCA (tome el primer componente). Si tiene un montón de puntos en 3 espacios que son en su mayoría planos, y desea descubrir la ecuación de ese plano, hágalo a través de PCA (tome el vector componente menos significativo y eso debería ser normal para el plano).


7

¿Por qué valores propios / vectores propios?

Al hacer PCA, desea calcular alguna base ortogonal maximizando la varianza proyectada en cada vector base.

Habiendo calculado los vectores básicos anteriores, desea que el siguiente sea:

  • ortogonal a la anterior
  • norma 1
  • maximizando la varianza proyectada, es decir, con la norma de covarianza máxima

Este es un problema de optimización restringido, y los multiplicadores de Lagrange (aquí para la intuición geométrica, vea la página de Wikipedia) le dicen que los gradientes del objetivo (varianza proyectada) y la restricción (norma de la unidad) deben ser "paralelos" en el optimium.

Esto es lo mismo que decir que el siguiente vector base debe ser un vector propio de la matriz de covarianza. La mejor opción en cada paso es elegir el que tenga el mayor valor propio entre los restantes.


55
Definitivamente, ¿ no es una explicación para un laico - vectores de base ortogonales? maximizando la varianza de proyección? problema de optimización restringida? Multiplicador de Lagrange? Estos son términos altamente "jerga". Mostrar un laico que entiende lo que esto significa y te voy a mostrar un matemático / estadístico
probabilityislogic

6

Básicamente, PCA encuentra nuevas variables que son combinaciones lineales de las variables originales, de modo que en el nuevo espacio, los datos tienen menos dimensiones. Piense en un conjunto de datos que consiste en los puntos en 3 dimensiones en la superficie de una placa plana sostenida en ángulo. En los ejes x, y, z originales, necesita 3 dimensiones para representar los datos, pero con la transformación lineal correcta, solo necesita 2.

Básicamente lo que dijo @Joel, pero solo combinaciones lineales de las variables de entrada.


6

Hace un tiempo intenté entender este algoritmo PCA y quería hacer una nota sobre los vectores propios y los valores propios. Ese documento establece que el propósito de los vehículos eléctricos es convertir un modelo del modelo de gran tamaño a un modelo de tamaño muy pequeño.

Por ejemplo, en lugar de construir primero el puente de tamaño completo y luego realizar experimentos y pruebas en él, es posible usar EV para crear un puente de tamaño muy pequeño donde todos los factores / cantidades se reducirán en el mismo margen y además El resultado real de las pruebas y las pruebas relacionadas con el estrés realizadas en él se pueden calcular y ampliar adecuadamente según sea necesario para el modelo original. En cierto modo, los vehículos eléctricos ayudan a crear resúmenes del original .

¡Para mí, esta explicación tenía un profundo significado para lo que estaba tratando de hacer! Espero que te ayude también!


-1. Quizás no aprecié completamente la analogía, pero me parece bastante engañosa. PCA permite (en cierto modo) "convertir" un modelo "grande" en un modelo "pequeño", pero lo hace al reducir la dimensionalidad del conjunto de datos. Pero, ¿cómo es el pequeño puente de menor dimensionalidad que el grande? Ambos son 3D, ¿no es así?
ameba

@amoeba: este extracto está fuera de un papel que leí, estas no son exactamente mis palabras. No he estudiado este tema desde hace mucho tiempo y he perdido el rastro.
Rorschach

6

Imagina que la abuela acaba de tomar sus primeras fotos y películas en la cámara digital que le diste en Navidad, desafortunadamente deja caer su mano derecha mientras presiona el botón para tomar fotos, y también tiembla un poco durante las películas. Se da cuenta de que las personas, los árboles, las cercas, los edificios, las puertas, los muebles, etc. no están verticales, no son verticales, y que el piso, el suelo, el mar y el horizonte no están bien horizontales, y bueno, las películas también son bastante inestables. Ella le pregunta si puede ayudarla a arreglarlos, todas las 3000 fotos de vacaciones y alrededor de 100 videos en casa y en la playa (es australiana), abriendo regalos, caminando por el país. Ella tiene este software de fotos que te permite hacer lo que dice. Le dices que eso llevaría días, y de todos modos no funcionará en los videos, pero usted conoce técnicas llamadas PCA e ICA que podrían ayudar. Explica que su investigación en realidad involucra solo este tipo de rotación de datos en las dimensiones naturales, que estas técnicas encuentran las direcciones más importantes en los datos, la foto en este caso, y giran para que la más importante sea horizontal, la segunda es vertical (e incluso puede continuar para más dimensiones que no podemos imaginar muy bien, aunque el tiempo también es una dimensión en las películas).

-

A un lado técnico. De hecho, probablemente podría obtener su doctorado haciendo esto por ella, y hay un documento importante de Bell y Sejnowski (1997) sobre los componentes independientes de las imágenes correspondientes a los bordes. Para relacionar esto con PCA: ICA usa PCA o SVD como primer paso para reducir la dimensionalidad y las aproximaciones iniciales, pero luego las mejora teniendo en cuenta no solo el error de segundo orden (SSE) como PCA, sino también los errores de alto orden, si es cierto ICA, todas las órdenes superiores, aunque muchos algoritmos se limitan a 3 ° o 4 °. Los componentes de PCA de bajo orden tienden a estar fuertemente influenciados por los horizontales y verticales. El manejo del movimiento de la cámara para las películas también puede hacer uso de PCA / ICA. Tanto para las fotos 2D como para las películas 2½D necesitas un par de trucos de representación para lograr esto.

Otra aplicación que podría explicarle a la abuela son las caras propias: los vectores propios de orden superior pueden aproximarse a las '7 emociones básicas' (la cara promedio para cada una de ellas y la 'rotación escalada' o combinación lineal para hacer ese promedio), pero a menudo encontramos componentes que están relacionados con el sexo y la raza, y algunos pueden distinguir individuos o rasgos individuales (anteojos, barba, etc.). Esto es lo que sucede si tienes pocas fotos de un individuo y muchas emociones / expresiones, pero obtienes un sesgo diferente si tienes muchas caras con expresiones neutrales. El uso de ICA en lugar de PCA realmente no parece ayudar mucho para las emociones básicas, pero Bartlett y Sejnowsiki (1997) mostraron que encontró características útiles para el reconocimiento facial.


1
Aprecio el esfuerzo de comunicarme con ejemplos y por analogía. Sin embargo, el uso de imágenes es desafortunado debido a la alta probabilidad de que la abuela no entienda que su sentido de "girar" tiene poco que ver con la rotación real de los ejes de una imagen , ni es probable que entienda que está usando la "dimensión" "en un sentido abstracto en el que las fotos tienen millones de dimensiones y no solo dos.
whuber

Sí, debe representarlo como una nube de puntos, como con las imágenes en otras respuestas. El preprocesamiento con alguna forma de detección de bordes y / o umbral sería probablemente parte de los "trucos" que mencioné. Pero operar en una foto compleja requiere un doctorado de trucos.
David MW Powers

@whuber ¡De hecho, he usado PCA (bueno SVD) para encontrar estas rotaciones al hacer la calibración de imagen estéreo! Definitivamente es el mismo sentido de rotación.
David MW Powers

2

Creo que todos comienzan a explicar la PCA desde el extremo equivocado: desde vectores propios. Mi respuesta comienza en el lugar correcto: sistema de coordenadas. Los vectores propios, y el problema propio en general, son la herramienta matemática que se utiliza para abordar el problema real en cuestión, que es un sistema de coordenadas incorrecto. Lo explicaré.

Comencemos con una línea. ¿Qué es una línea? Es un objeto unidimensional. Por lo tanto, solo necesita una dimensión para moverse de un punto a otro. En un plano, aunque adjuntas dos coordenadas, cualquier punto de una línea. Esto se debe a que con respecto a una línea misma, el sistema de coordenadas se elige arbitrariamente. El sistema de coordenadas, diría, no refleja la naturaleza unidimensional interna de la línea. Si solo pusiera el origen de mi sistema de coordenadas cartesianas en la línea y lo girara para que su eje x estuviera en la línea, ¡ya no necesitaría el eje y! Todos mis puntos están en un eje, porque una línea es un objeto unidimensional.

Ahí es donde deberían comenzar las explicaciones de PCA. El problema propio es una herramienta que hace la rotación que describí, y el des-significado de las variables pone el origen en la línea. PCA ayuda a revelar dimensiones reales de los datos siempre que las relaciones entre las variables sean lineales .


1

Recuerde que un vector propio es un vector cuya transformación es paralela al mismo vector de entrada. Por lo tanto, un vector propio con un valor propio alto significa que el vector propio tiene un alto grado de 'paralelismo' con los datos, lo que significa que puede representar los datos solo con este vector y esperar un error bajo en la nueva representación. Si elige vectores propios adicionales con valores propios más bajos, podrá representar más detalles de los datos porque representará otras 'paralelismos', que no son tan prominentes como el primero debido a valores propios más bajos.


0

PCA básicamente es una proyección de un espacio de dimensiones superiores en un espacio de dimensiones inferiores mientras se conserva la mayor cantidad de información posible.

Escribí una publicación de blog donde explico PCA a través de la proyección de una tetera 3D ...

ingrese la descripción de la imagen aquí

... en un plano 2D conservando la mayor cantidad de información posible:

ingrese la descripción de la imagen aquí

Los detalles y el código R completo se pueden encontrar en la publicación:
http://blog.ephorie.de/intuition-for-principal-component-analysis-pca


1
A pesar de las imágenes, en la actualidad esto es más un comentario que una respuesta. ¿Podría expandirlo, quizás dando un resumen de la información en el enlace? Se supone que las publicaciones en la red SE pueden ser independientes.
gung

@gung: bastante justo: la esencia es que PCA básicamente es una proyección de un espacio de dimensiones superiores (en este caso, una tetera 3D) en un espacio de dimensiones inferiores (en este caso, un plano 2D) mientras se conserva tanta información como sea posible. posible. Lo cambiará en la respuesta.
vonjd

Eso es ciertamente cierto (y se explica en muchas otras respuestas existentes en este hilo), pero en general debería haber más respuestas publicadas en el sistema SE, y deberían poder sostenerse por sí mismas si, por ejemplo, el enlace se corta.
Gung

1
El ejemplo de la tetera es interesante. Usted dice que PCA es una proyección para reducir el espacio dimensional mientras se preserva tanta "información". Pero ... ¿qué es la información? En el caso de PCA, esto significa mantener la varianza total lo más alta posible. El ejemplo de la tetera es más como afirmar que la información está "más preservada" al usar una proyección en un plano particular, pero esto explica poco cómo PCA hace esto y si también es la "mejor" opción de "información". Por ejemplo, LDA también es una proyección que intenta preservar información, pero no es lo mismo que PCA.
Martijn Weterings

Si su tetera hubiera sido más redonda / circular (menos alta) que PCA habría 'elegido' una intersección diferente para preservar la mayor parte de la "información".
Martijn Weterings

-4

Quizás tarde en estos análisis está la suposición implícita de que los datos del grupo I son diferentes del grupo II y uno está tratando de encontrar qué componente es probable que sea el principal factor que contribuya a la diferencia.

Al realizar un análisis de PCA que da como resultado elipsoides idénticos para 2 conjuntos diferentes, le indica que los dos conjuntos no son diferentes en ninguno de los parámetros que ha medido.


2
Me pregunto si estás pensando en MANOVA. Si ejecutara dos PCA separados, solo mostraría que la estructura de correlación era similar.
gung

2
-1. Esta es una respuesta completamente engañosa, por la razón descrita por @gung. Además, ni siquiera intenta explicar qué es PCA.
ameba
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.