¿Cuál es un ejemplo numérico para el algoritmo de análisis de componentes principales (PCA)?

(Entrada del tutorial tomada de: Algobeans | Analytics made Intuitive – no math! )

El problema

Imagine que es un nutricionista que intenta explorar el contenido nutricional de los alimentos. ¿Cuál es la mejor manera de diferenciar los alimentos? ¿Por contenido de vitaminas? Niveles de proteínas? O tal vez una combinación de ambos?

Conocer las variables que mejor diferencian sus artículos tiene varios usos:

1. Visualización . El uso de las variables correctas para trazar elementos dará más información.

2. Descubriendo los racimos . Con buenas visualizaciones, se podrían identificar categorías o grupos ocultos. Entre los alimentos, por ejemplo, podemos identificar categorías amplias como carne y verduras, así como subcategorías como tipos de verduras.

La pregunta es, ¿cómo derivamos las variables que mejor diferencian los ítems?

Definición

El Análisis de componentes principales (PCA) es una técnica que encuentra variables subyacentes (conocidas como componentes principales ) que diferencian mejor sus puntos de datos. Los componentes principales son dimensiones a lo largo de las cuales sus puntos de datos están más dispersos:

Un componente principal puede expresarse mediante una o más variables existentes. Por ejemplo, podemos usar una sola variable, la vitamina C , para diferenciar los alimentos. Debido a que la vitamina C está presente en las verduras pero ausente en la carne, la gráfica resultante (abajo, a la izquierda) diferenciará las verduras de la carne, pero los artículos de carne se agruparán.

Para distribuir los productos cárnicos, podemos usar el contenido de grasa además de los niveles de vitamina C, ya que la grasa está presente en la carne pero ausente en las verduras. Sin embargo, los niveles de grasa y vitamina C se miden en diferentes unidades. Entonces, para combinar las dos variables, primero tenemos que normalizarlas , lo que significa cambiarlas a una escala estándar uniforme, lo que nos permitiría calcular una nueva variable: vitamina C menos grasa . La combinación de las dos variables ayuda a distribuir tanto los vegetales como los productos cárnicos.

La extensión puede mejorarse aún más agregando fibra, de la cual los artículos vegetales tienen niveles variables. Esta nueva variable – ( vitamina C + fibra) menos grasa – logra la mejor difusión de datos hasta el momento.

Mientras que en esta demostración intentamos derivar los componentes principales mediante prueba y error, PCA lo hace mediante cálculo sistemático.

Una ilustración

Usando datos del Departamento de Agricultura de los Estados Unidos, analizamos el contenido nutricional de una muestra aleatoria de alimentos. Se analizaron cuatro variables nutricionales: vitamina C, fibra, grasa y proteína. Para una comparación justa, los alimentos fueron crudos y medidos en 100 g.

Entre los alimentos, la presencia de ciertos nutrientes parece estar correlacionada. Esto se ilustra en el diagrama de barras a continuación con 4 elementos de ejemplo:

Específicamente, los niveles de grasa y proteína parecen moverse en la misma dirección entre sí, y en la dirección opuesta a los niveles de fibra y vitamina C. Para confirmar nuestra hipótesis, podemos verificar las correlaciones (tutorial: análisis de correlación) entre las variables de nutrición. Como se esperaba, hay grandes correlaciones positivas entre los niveles de grasa y proteína ( r = -0.56), así como entre los niveles de fibra y vitamina C ( r = 0.57).

Por lo tanto, en lugar de analizar las 4 variables de nutrición, podemos combinar variables altamente correlacionadas, dejando solo 2 dimensiones a considerar. Esta es la misma estrategia utilizada en PCA: examina las correlaciones entre las variables para reducir el número de dimensiones en el conjunto de datos. Es por eso que PCA se llama una técnica de reducción de dimensiones .

La aplicación de PCA a este conjunto de datos de alimentos da como resultado los siguientes componentes principales:

Los números representan los pesos utilizados en la combinación de variables para derivar componentes principales. Por ejemplo, para obtener el valor del componente principal superior (PC1) para un artículo alimenticio en particular, sumamos la cantidad de fibra y vitamina C que contiene, con un poco más de énfasis en la fibra, y luego de eso restamos la cantidad de grasa y Proteína que contiene, con proteína negada en mayor medida.

Observamos que el componente principal superior (PC1) resume nuestros hallazgos hasta ahora: ha emparejado la grasa con la proteína y la fibra con la vitamina C. También tiene en cuenta la relación inversa entre los pares. Por lo tanto, PC1 probablemente sirve para diferenciar la carne de las verduras. El segundo componente principal (PC2) es una combinación de dos variables nutricionales no relacionadas: la grasa y la vitamina C. Sirve para diferenciar aún más las subcategorías dentro de la carne (usando grasa) y las verduras (usando vitamina C).

El uso de los 2 principales componentes principales para trazar productos alimenticios resulta en la mejor distribución de datos hasta el momento:

Los artículos de carne (azul) tienen valores bajos de PC1 y, por lo tanto, se concentran a la izquierda de la parcela, en el lado opuesto de los artículos vegetales (naranja). Entre las carnes, los artículos de mariscos (azul oscuro) tienen un contenido de grasa más bajo, por lo que tienen valores de PC2 más bajos y están en la parte inferior de la parcela. Varios artículos vegetarianos no frondosos (naranja oscuro), que tienen un menor contenido de vitamina C, también tienen valores más bajos de PC2 y aparecen en la parte inferior.

Elección del número de componentes . Como los componentes principales se derivan de las variables existentes, la información disponible para diferenciar los puntos de datos está limitada por la cantidad de variables con las que comienza. Por lo tanto, el PCA anterior sobre los alimentos solo generó 4 componentes principales, correspondientes al número original de variables en el conjunto de datos.

Los componentes principales también están ordenados por su efectividad para diferenciar los puntos de datos, y el primer componente principal lo hace en el mayor grado. Para mantener los resultados simples y generalizables, solo se seleccionan los primeros componentes principales para su visualización y posterior análisis. El número de componentes principales a considerar está determinado por algo llamado diagrama de pantalla :

Un gráfico de pantalla muestra la efectividad decreciente de los componentes principales posteriores en la diferenciación de los puntos de datos. Una regla de oro es usar el número de componentes principales correspondientes a la ubicación de un pliegue. En la gráfica anterior, el pliegue se encuentra en el segundo componente. Esto significa que aunque tener tres o más componentes principales diferenciaría mejor los puntos de datos, esta información adicional puede no justificar la complejidad resultante de la solución. Como podemos ver en el diagrama de pantalla, los 2 principales componentes principales ya representan aproximadamente el 70% de la difusión de datos. El uso de menos componentes principales para explicar mejor la muestra de datos actual garantiza que los mismos componentes se puedan generalizar a otra muestra de datos.

Limitaciones

Maximizando la propagación . La suposición principal de PCA es que las dimensiones que revelan la mayor extensión entre los puntos de datos son las más útiles. Sin embargo, esto puede no ser cierto. Un ejemplo de contador popular es la tarea de contar panqueques dispuestos en una pila, con la masa del panqueque representando puntos de datos:

Para contar el número de panqueques, un panqueque se diferencia del siguiente a lo largo del eje vertical (es decir, la altura de la pila). Sin embargo, si la pila es corta, PCA identificaría erróneamente un eje horizontal (es decir, el diámetro de los panqueques) como un componente principal útil para nuestra tarea, ya que sería la dimensión a lo largo de la cual hay una mayor extensión.

Interpretación de componentes . Si podemos interpretar los componentes principales de la pila de panqueques, con etiquetas inteligibles como “altura de la pila” o “diámetro de panqueques”, podríamos seleccionar los componentes principales correctos para el análisis. Sin embargo, esto no suele ser el caso. Las interpretaciones de los componentes generados deben inferirse, y a veces podemos tener dificultades para explicar la combinación de variables en un componente principal.

No obstante, tener conocimientos previos de dominio podría ayudar. En nuestro ejemplo con alimentos, el conocimiento previo de las principales categorías de alimentos nos ayuda a comprender por qué las variables nutricionales se combinan de la forma en que se forman los componentes principales.

Componentes Ortogonales . Una desventaja importante de PCA es que los componentes principales que genera no deben solaparse en el espacio, también conocidos como componentes ortogonales . Esto significa que los componentes siempre se colocan a 90 grados entre sí. Sin embargo, esta suposición es restrictiva ya que las dimensiones informativas pueden no ser necesariamente ortogonales entre sí:

Para resolver esto, podemos usar una técnica alternativa llamada Análisis de componentes independientes (ICA).

ICA permite que sus componentes se superpongan en el espacio , por lo que no es necesario que sean ortogonales. En cambio, ICA prohíbe que sus componentes se superpongan en la información que contienen, con el objetivo de reducir la información mutua compartida entre los componentes. Por lo tanto, los componentes de ICA son independientes , y cada componente revela información única sobre el conjunto de datos.

Hasta ahora, la información ha sido representada por el grado de difusión de datos, con dimensiones a lo largo de las cuales los datos están más dispersos y son más informativos. Esto puede no ser siempre cierto, como se ve en el ejemplo de panqueque. Sin embargo, ICA puede superar esto teniendo en cuenta otras fuentes de información además de la difusión de datos.

Por lo tanto, ICA puede ser una técnica de respaldo para usar si sospechamos que los componentes deben derivarse en base a información más allá de la difusión de datos, o que los componentes pueden no ser ortogonales.

Conclusión

PCA es una técnica clásica para derivar variables subyacentes, reduciendo el número de dimensiones que debemos considerar en un conjunto de datos. En nuestro ejemplo anterior, pudimos visualizar el conjunto de datos de alimentos en un gráfico bidimensional, aunque originalmente tenía 4 variables. Sin embargo, PCA hace varias suposiciones, como confiar en la difusión de datos y la ortogonalidad para derivar componentes. Por otro lado, ICA no está sujeto a estos supuestos. Por lo tanto, en caso de duda, uno podría considerar ejecutar un ICA para verificar y complementar los resultados de un PCA.

Para más tutoriales legos, visite: Algobeans | La analítica se hizo intuitiva, ¡no las matemáticas!

¿Qué es un componente principal?

Un componente principal es algo en el conjunto de datos que sabe cuál puede comprender la mayor parte del conjunto de datos.

Si alguien le pide que describa una clase de 30 niñas y 30 niños usando una sola declaración, diría algo como “esta es una clase de 60 estudiantes”, si se le dan 2 declaraciones, puede decir algo como “Esta es una clase de 60 estudiantes 30 de esos estudiantes son niñas y el resto son niños “. Si se le da un grado más de libertad, (es decir) una característica más que puede usar agregará algo como “40 de ellos permanecen en los dormitorios, mientras que el resto viaja”. ¿Ves cómo las declaraciones se amplían a medida que aumenta el grado de libertad? Ese es el problema con nuestros conjuntos de datos hoy. Hay demasiadas características, demasiadas direcciones en las que se extiende la representación de datos, que estamos desperdiciando un tiempo de cálculo precioso buscando en direcciones que son infructuosas. Esto se llama la maldición de la dimensionalidad. [1]

El escenario anterior contenía tres declaraciones:

  1. Esta es una clase de 60 estudiantes.
  2. 30 de esos estudiantes son niñas y el resto son niños.
  3. 40 de ellos se quedan en los dormitorios, mientras que el resto viaja.

Cuando se le dan tres afirmaciones como esta, probablemente sea fácil decir qué afirmación es importante y qué afirmación no lo es cuando hay contexto disponible. Pero desafortunadamente no tenemos ese lujo todo el tiempo. Tiene que sumergirse en el conjunto de datos y encontrar cuál es la declaración más importante, o encontrar las declaraciones importantes [matemáticas] X [/ matemáticas] más importantes de las declaraciones [matemáticas] N [/ matemáticas] dadas. Esto se puede lograr mediante el análisis de componentes principales o PCA.

Cuando se realiza PCA en un conjunto de datos, la métrica más utilizada que se estudia es la varianza de los datos presentes en el conjunto de datos. En pocas palabras, la regla general es que la dirección en la que los datos varían mucho es una dirección importante.

¿Cómo / por qué es útil?

Imagina que estás buscando a alguien en el aula que describimos anteriormente. “La persona que está buscando es una niña”, es un buen filtro, pero el 50% de la clase se ajusta a la descripción. Todavía tienes que buscar mucho. “La persona que estás buscando tiene el pelo largo”, es una mejor descripción ya que algunas chicas pueden tener el pelo corto. “La persona que está buscando mide 6 pies de altura es un indicador aún mejor, ya que existe la posibilidad de que solo un puñado de niñas coincida con esa altura. Aquí ‘ altura ‘ es el componente principal ya que esa característica tiene la mayor variación.

Identificar esta característica más importante es PCA. Se realiza mediante el uso de valores de varianza de cada característica presente en nuestro conjunto de datos. Construye una matriz de covarianza [matemática] \ Sigma [/ matemática] en la que [matemática] \ Sigma_ {i, j} [/ matemática] es la covarianza entre la característica [matemática] i [/ matemática] y la característica [matemática] j [/ matemáticas].

Cuando eigen descomponer la matriz de covarianza … whoa whoa espera.

Entonces, cuando tenga una matriz, tendrá valores Eigen y vectores Eigen. Cuando encuentre los valores propios y los alinee en orden descendente, obtendrá un orden de características desde la característica importante hasta la menos importante. La característica correspondiente al valor propio más alto es el primer componente principal, y así sucesivamente.

¡Más cosas para leer!

[1] ¿Cuál es la maldición de la dimensionalidad?
Respuesta del usuario de Quora a ¿Por qué importan los valores propios? ¿Cuáles son sus aplicaciones en el mundo real? (5to punto especialmente)

Editar:

No he respondido la pregunta en su totalidad, ya que no incluí un ejemplo numérico, que no es lo mejor de la OMI y respondí la pregunta original antes de que se modificara a lo que se lee actualmente.

Eche un vistazo aquí en este blog Análisis de componentes principales (PCA) Parte – 1, creo que el autor hizo un gran trabajo al explicar PCA en profundidad,

Realmente dije qué demonios es PCA y por qué y cómo se usa en el aprendizaje automático, no solo cómo implementar un revestimiento.