¿Qué es el análisis principal de componentes (PCA)?

Análisis de componentes principales (PCA) es una técnica de reducción de la dimensionalidad lineal que transforma un conjunto de datos con muchas variables correlativas en un conjunto más pequeño de variables no relacionadas llamadas componentes principales. Estos componentes capturan la máxima variabilidad posible en los datos originales, con el primer componente que explica la mayor varianza, el segundo componente el siguiente más, y así sucesivamente. Geométricamente, PCA encuentra un nuevo sistema de coordenadas donde los ejes se alinean con las direcciones de la mayor diferenciación posible

PCA es ampliamente utilizado en machine learning y bioinformática simplificar datos de alta dimensión, reducir el coste computacional y permitir la visualización de patrones complejos. Debido a que es lineal, PCA es rápido, determinista, y proporciona una base matemática clara para entender la estructura de varianza. Es a menudo la primera técnica aplicada al explorar un nuevo conjunto de datos de alta dimensión, sirviendo como base de referencia contra la cual se pueden comparar métodos no lineales como t-SNE o autoencoders.

La idea subyacente data de Karl Pearson en 1901, y la formulación moderna usando eigendecomposition fue popularizada por Harold Hotelling en los años 1930. Hoy, PCA sigue siendo un elemento básico en las estadísticas, procesamiento de señales y ciencia de datos debido a su simplicidad y eficacia. Artículo de Wikipedia en PCA cubre su desarrollo histórico y detalles matemáticos.

Las matemáticas de PCA: una ruptura paso a paso

PCA sigue un procedimiento matemático bien definido que se centra en la eigendecomposición de la matriz de covariancia (o descomposición de valor singular de la matriz de datos). A continuación se muestra una expansión detallada de cada paso, incluyendo la intuición detrás de los cálculos.

1. Normalizar los datos

Debido a que PCA es sensible a la escala de variables, primero debe estandarizar los datos para que cada variable tenga una media de cero y una desviación estándar de uno. Esto asegura que las variables con rangos numéricos más grandes no dominan el análisis. La estandarización se hace normalmente restando el medio y dividiendo por la desviación estándar para cada variable: z = (x - μ) / σ. Sin este paso, una variable medida en miles

Tenga en cuenta que si todas las variables están en la misma escala (por ejemplo, intensidades de píxel de 0 a 255), la estandarización puede ser opcional, pero todavía se recomienda como mejor práctica. En muchas implementaciones de PCA, la función incluye un parámetro a centro (no escala) los datos, por lo que debe solicitar explícitamente escalar cuando sea necesario.

2. Computar la matriz de covariancia

La matriz de covariancia captura las relaciones de pares entre todas las variables originales. Para un conjunto de datos con variables n, la matriz de covariancia es una matriz simétrica n×n donde la entrada (i,j) representa la covariancia entre variable i y variable j. Una covariancia positiva indica que dos variables aumentan juntas, mientras que una covariancia negativa significa que uno aumenta a medida que la otra disminuye.

La matriz de covariancia es central en PCA porque resume las relaciones lineales que PCA descompondrá. Si las variables son completamente incorrelacionadas, PCA no produce una reducción significativa – los componentes principales son sólo los ejes originales en orden de sus varianzas. Pero en datos reales, las variables a menudo están correlacionadas, lo que permite que PCA comprime información.

3. Calcular los Eigenvalues y Eigenvectores

Los valores eigenvectores y los eigenvectores se calculan en la matriz de covariancia. Cada eigenvector apunta en la dirección de un componente principal. El eigenvalue correspondiente cuantifica la cantidad de varianza retenida a lo largo de esa dirección. Eigenvectores con los mayores eigenvalues capturan la mayor varianza. eigendecomposition puede ayudar a visualizar el concepto.

Matemáticamente, resolvemos la ecuación C v = λ v, donde C es la matriz de covariancia, v es un eigenvector, y λ es el eigenvalue correspondiente. Hay tantos pares eigenvalue-eigenvector como hay variables. Al clasificarlos en orden descendente de λ, obtenemos los componentes principales en orden de importancia.

En la práctica, algoritmos numéricos como el algoritmo QR o la descomposición de valor singular (SVD) componen estas cantidades de manera eficiente. De hecho, muchas bibliotecas implementan PCA a través de SVD de la matriz de datos centrada, que es numéricamente más estable que descomponer directamente la matriz de covariancia. Para detalles sobre el enfoque SVD, vea la documentación de PCA de la hoja de cálculo, que menciona el uso de rutinas LAPACK.

4. Seleccione los componentes principales

Se clasifican los eigenvectores disminuyendo el eigenvalue y se eligen los componentes de k superior. El número k se selecciona a menudo en función de un umbral de varianza explicado acumulativo (por ejemplo, 95%). trama de ciervos puede ayudarle a visualizar la caída de los valores eigenvalues para decidir dónde cortar. El "arco" – donde la curva plana – indica que los componentes adicionales contribuyen poco a la varianza extra. Otro método es retener todos los componentes con valores eigen mayores de 1 (regla de Kaiser), pero esto es heurístico y funciona mejor para las matrices de correlación.

Para fines de visualización, k es normalmente 2 o 3 por lo que los datos pueden ser trazados en 2D o 3D. Para su uso como paso previo en el aprendizaje automático, puede elegir k que preserve el 90-99% de la varianza. La validación cruzada también puede guiar la selección de componentes: puede probar varios valores k y evaluar el rendimiento de modelo de corriente baja.

5. Transformar los datos

Los datos originales se proyectan sobre el nuevo subespacio definido por los eigenvectores seleccionados. El resultado es una matriz reducida donde cada fila está representada ahora por componentes principales k en lugar de las variables n originales. Estos datos transformados conserva la máxima diferencia posible para la dimensionalidad elegida. La proyección es simplemente el producto de puntos de la matriz de datos original (estandarizada) con la matriz de eigenvectores seleccionados.

Después de la transformación, las nuevas variables (compuestos principales) son ortogonales y tienen varianza decreciente. Tenga en cuenta que son combinaciones lineales de las variables originales, por lo que sus valores pueden ser negativos o positivos. La transformación es invertible (si todos los componentes se mantienen), pero cuando se despliegan los componentes, se pierde información. Sin embargo, los componentes caídos son aquellos con menor varianza, por lo que el error de reconstrucción se minimiza en los sentidos.

Aplicaciones de PCA en el mundo real

Compresión de imagen y reconocimiento

En la visión de la computadora, PCA se utiliza para comprimir imágenes faciales (eigenfas) representandolas con un pequeño conjunto de componentes principales. Esto acelera los sistemas de reconocimiento conservando las características esenciales. La misma técnica se aplica a las imágenes satelitales y los escaneos médicos. Por ejemplo, en el análisis de RM, PCA puede reducir la dimensionalidad de los datos volumétricos 3D, permitiendo un procesamiento y almacenamiento más rápidos sin sacrificar la calidad de diagnóstico.

Genómica y Bioinformática

Los conjuntos de datos genómicos modernos suelen contener miles de genes a través de sólo cientos de muestras. PCA reduce la dimensionalidad a los ejes dominantes de la variación genética, ayudando a los investigadores a visualizar la estructura de población, identificar los outliers y detectar subtipos de enfermedades. Un enfoque común es ejecutar PCA en datos genotipos, luego trazar los dos primeros componentes para revelar los grupos correspondientes a poblaciones ancestrales.

Análisis de la financiación y el riesgo

Los gestores de cartera utilizan PCA para identificar factores comunes que impulsan los rendimientos de activos. Al reducir cientos de precios de stock a un puñado de componentes (mercado, sector, etc.), pueden reducir el riesgo y asignar capital de manera más eficiente. PCA también ayuda en el análisis de renta fija descomponiendo los movimientos de curvas de rendimiento en componentes de nivel, pendiente y curvatura, que son los primeros tres componentes principales de rendimiento de bonos.

Segmentación de clientes en Marketing

Los marketers aplican PCA a datos de encuestas o transacciones para descubrir segmentos latentes. Las dimensiones reducidas hacen que algoritmos de agrupación como k-medios más eficaces, lo que conduce a campañas adaptadas a distintos grupos de clientes. Además, PCA puede denoizar respuestas de encuestas, eliminando variaciones aleatorias que podrían ocultar segmentos verdaderos. Al combinarse con el análisis de factores, PCA revela actitudes subyacentes que impulsan el comportamiento de compra.

Procesamiento de lenguaje natural (NLP)

En el análisis de texto, PCA reduce la dimensionalidad de matrices de frecuencias de plazo (por ejemplo, TF-IDF). Esto no sólo acelera el modelado de temas sino que también elimina el ruido centrándose en las direcciones semánticas que explican la mayor variabilidad de los documentos. Aunque técnicas como Análisis Semántico Latente (LSA) utilizan SVD Truncated (que es equivalente a PCA en una matriz de cálculoscópicadas para el texto de texto

Sensor de datos y detección de anomalías

PCA también se aplica a datos de sensores multivariados, como lecturas de maquinaria industrial o estaciones de monitoreo ambiental. Al proyectar datos sobre los componentes principales, los ingenieros pueden detectar anomalías cuando el error de proyección (distancia al subespacial PCA) supera un umbral. Este método se conoce como detección de fallas basada en PCA y es ampliamente utilizado en el control de procesos.

Ventajas de PCA

  • Reducción de ruido: Al descartar componentes de baja variación, PCA filtra el ruido y mejora la relación señal-noise en el modelado de abajostream. Esto es especialmente útil para modelos lineales como el análisis discriminante lineal o la regresión logística.
  • Eficiencia computacional: Trabajar con menos características reduce el tiempo de entrenamiento y el uso de memoria para algoritmos como regresión logística o máquinas vectoriales de soporte. También acelera la visualización y exploración de datos.
  • Visualización: Los datos de alta dimensión pueden proyectarse a 2D o 3D para simples tramas de dispersión que revelan racimos, outliers o tendencias. Esto hace de PCA una herramienta valiosa para el análisis de datos exploratorios.
  • Manejo de multicollinearidad: PCA produce componentes no relacionados, eliminando problemas derivados de características redundantes en modelos de regresión. Este coeficiente de estabilizar calcula en regresión lineal y evita los problemas de inversión de matriz asociados con la multicollinearidad perfecta.
  • Compresión de la función: PCA puede sustituir docenas de variables correlativas por un puñado de componentes sin pérdida sustancial de información. Esto es útil para el almacenamiento y para la privacidad, ya que los componentes no revelan directamente valores variables originales.
  • Determinista y reproducible: A diferencia de los métodos estocásticos (por ejemplo, t-SNE, autoencoders), PCA da el mismo resultado cada vez para un conjunto de datos y número de componentes dados, lo que lo hace adecuado para tuberías de producción y experimentos científicos.

Limitaciones de PCA

  • Suposición lineal: PCA sólo captura relaciones lineales. No revela estructuras no lineales que técnicas más avanzadas como t-SNE, UMAP o autoencoders pueden descubrir. Si los datos se encuentran en un manifold no lineal, PCA puede proyectar puntos de diferentes regiones de pliegue sobre uno al otro, perdiendo una estructura importante.
  • Pérdida de interpretabilidad: Los componentes principales son combinaciones lineales de variables originales, que hacen difícil etiquetar o explicar a los actores empresariales. Cada componente es un constructo matemático, no una cantidad real. Por ejemplo, el primer PC de retornos de acciones podría ser una mezcla de factores de mercado, industria y impulso, lo que dificulta la asignación de una sola interpretación económica.
  • Sensibilidad a escalar: Sin una adecuada estandarización, los resultados de PCA pueden ser engañosos, ya que las variables con mayores magnitudes dominarán el primer componente. Siempre estandarizar a menos que tenga una razón fuerte para no hacerlo.
  • Pérdida de información: Los componentes de desechamiento descartan inevitablemente alguna varianza. Si la varianza descartada contiene señal importante (por ejemplo, eventos raros, efectos sutiles), el conjunto de datos reducido puede ser menos útil para ciertas aplicaciones. Para la clasificación, los componentes de baja variabilidad podrían ser los que clases separadas.
  • Influencia más clara: Algunos puntos de datos extremos pueden esquivar fuertemente los eigenvectores, causando que la transformación PCA sea erróneamente la estructura principal de los datos. Los estribos pueden crear componentes espurios o rotar los ejes verdaderos. Las variantes PCA (por ejemplo, ROBPCA) robustas pueden mitigar esto pero son menos comunes.
  • No es adecuado para datos de espacias muy dimensionales: Cuando el número de características supera considerablemente el número de muestras (el ajuste de “p ⁇ n”), la matriz de covariancia muestral está mal condicionada o deficiente de rango. En tales casos, PCA en la matriz de covariancia puede producir componentes no fiables. Métodos alternativos como SVD Truncado o PCA regularizado son más apropiados.

Consideraciones prácticas al utilizar PCA

Elegir el número de componentes

Un enfoque común es trazar la relación de varianza explicada acumulativa con el número de componentes y seleccionar el k más pequeño que alcanza un umbral como el 90% o el 95%. Otro método es buscar un "arco" en la trama del tornillo donde los eigenvalues se nivelan. Para la visualización, k=2 o k=3 es típico. Para uso como preprocesamiento, puede utilizar la validación del kreduction: entrenar un modelo en el PC

Cuándo evitar PCA

No aplique PCA ciegamente. Si su objetivo es la selección de características (picking a subset of original variables) en lugar de la extracción de características, PCA no es adecuado – use métodos como eliminación de características recursivas o Lasso. Además, si los datos ya son de baja dimensión o si las variables tienen unidades significativas que desea conservar, PCA puede hacer más daño que bien. Por ejemplo, en un estudio clínico donde cada variable es una prueba de laboratorio con un significado claro, sustituyendo los resultados.

PCA vs. Otras técnicas de reducción de la dimensión

PCA es lineal y por lo tanto rápido y reproducible. t-SNE y UMAP son no lineales y a menudo producen mejores visualizaciones de racimo, pero son estocásticas y no adecuadas para el preprocesamiento de modelos lineales. Para datos de espacias muy de alta dimensión (por ejemplo, texto), SVD truncado (también conocido como LSA) es más eficiente computacionalmente que PCA. Análisis de factores es similar a PCA pero modela los datos como derivados de factores latentes más ruido, lo que lo hace más interpretable pero computacionalmente más pesado. Autoencoders (redes neuronales) pueden aprender transformaciones no lineales pero requieren más datos y sintonización. En la práctica, PCA es un excelente punto de partida: aplicarlo primero, y si los resultados son insatisfactorios, pasar a métodos más complejos.

Aplicación de PCA en la práctica

La mayoría de las bibliotecas científicas computadoras incluyen una implementación de PCA. En Python, proporciona una interfaz limpia: se ajusta al modelo en sus datos, luego se transforma. La biblioteca maneja centrado (pero no escalar por defecto, por lo que debe estandarizar por separado utilizando ). En R, las funciones y de la varia siempre son comunes.

Conclusión

El análisis principal de componentes sigue siendo una de las técnicas de reducción de dimensionalidad más utilizadas en la ciencia de datos. Proporciona una manera rápida e interpretable (en un sentido matemático) para comprimir datos, eliminar ruido y revelar patrones ocultos. Sin embargo, no es una solución universal: su naturaleza lineal y la pérdida de la interpretabilidad requieren una cuidadosa consideración antes de la aplicación.