Nuri Data Science – Plataforma de Ejercicios de Ciencia de Datos, SQL, Python y Machine Learning
PCA y Reduccion Dimensional
PCA lineal, Kernel PCA y t-SNE — proyeccion de alta dimension a 2D en tiempo real
Dimensiones (D)
4
Clusters (K)
3
Separacion clusters
3.0
% Ruido extra-dim
30%
N puntos
120
Los datos se generan con estructura en 2D incrustada en D dimensiones. PCA deberia recuperar esa estructura en PC1 y PC2.
Proyeccion PCA — PC1 vs PC2 (coloreado por cluster original)
PC1+PC2 = —%
—
Var PC1
—
Var PC2
—
Acum PC1+PC2
—
Dims para 90%
Grafica de sedimentacion (Scree Plot)
Cargas (Loadings) PC1 y PC2 por variable
📚 ¿Que estas viendo?
PCA (Analisis de Componentes Principales) encuentra las direcciones de maxima varianza en los datos y proyecta
cada punto sobre esas direcciones. La primera componente (PC1) captura la mayor varianza posible;
la segunda (PC2) captura la mayor varianza restante y es perpendicular a PC1.
El scatter muestra cada punto proyectado sobre PC1 (eje X) y PC2 (eje Y), coloreado por su cluster original. Si los clusters se ven separados en 2D, PCA logro capturar la estructura relevante aunque los datos originales vivan en D dimensiones. La grafica de sedimentacion (Scree Plot) muestra cuanta varianza explica cada componente — busca el "codo" para elegir cuantos componentes conservar. Los loadings muestran como contribuye cada variable original a PC1 y PC2 — variables con loading alto son las mas "importantes" para esa componente.
El scatter muestra cada punto proyectado sobre PC1 (eje X) y PC2 (eje Y), coloreado por su cluster original. Si los clusters se ven separados en 2D, PCA logro capturar la estructura relevante aunque los datos originales vivan en D dimensiones. La grafica de sedimentacion (Scree Plot) muestra cuanta varianza explica cada componente — busca el "codo" para elegir cuantos componentes conservar. Los loadings muestran como contribuye cada variable original a PC1 y PC2 — variables con loading alto son las mas "importantes" para esa componente.
⚠ Limitaciones de PCA Lineal
Solo captura varianza lineal
PCA maximiza la varianza lineal. Si la estructura relevante de los datos es no lineal (circulos concentricos, espirales, variedades curvas) PCA no puede capturarla y mezcla las clases en el espacio reducido.
Sensible a la escala
PCA usa distancias euclidianas. Si las variables tienen diferentes escalas (salario en miles vs edad en decenas), las de mayor varianza dominan las componentes. Siempre estandarizar (StandardScaler) antes de aplicar PCA.
Componentes dificiles de interpretar
Las componentes principales son combinaciones lineales de todas las variables originales. A menudo no tienen interpretacion semantica directa — "PC1 es 0.4*x1 + 0.3*x2 - 0.5*x3..." no dice mucho al dominio.
No maximiza separacion de clases
PCA maximiza varianza global, no separacion entre clases. Una componente puede tener alta varianza pero mezclar las clases. LDA (Analisis Discriminante Lineal) maximiza explicitamente la separacion entre grupos.
Perdida de informacion irreversible
Al proyectar de D a K dimensiones (K menor de D) se pierde la varianza de las componentes descartadas. Esta perdida es irreversible — no se pueden recuperar los datos originales exactamente desde la proyeccion.
El Scree Plot puede ser ambiguo
El "codo" en la grafica de sedimentacion no siempre es obvio — puede haber multiples codos o una caida gradual. Se usan criterios alternativos como varianza acumulada mayor al 90% o el test de Anderson-Rubin.
Supone distribucion Gaussiana
PCA es optimo bajo suposicion de normalidad multivariada. Con distribuciones multimodales o con colas pesadas, las componentes principales pueden no capturar la estructura mas relevante de los datos.
Loadings no implican causalidad
Un loading alto de una variable en PC1 solo indica covariacion, no que esa variable cause la varianza. En datos observacionales, variables confundidoras pueden tener loadings altos sin ser causalmente relevantes.