El análisis de componentes principales dispersos (SPCA o PCA disperso) es una técnica utilizada en el análisis estadístico y, en particular, en el análisis de conjuntos de datos multivariados . Extiende el método clásico de análisis de componentes principales (PCA) para la reducción de la dimensionalidad de los datos mediante la introducción de estructuras dispersas en las variables de entrada.
Una desventaja particular del PCA convencional es que los componentes principales suelen ser combinaciones lineales de todas las variables de entrada. El SPCA supera esta desventaja al encontrar componentes que son combinaciones lineales de solo unas pocas variables de entrada (SPC). Esto significa que algunos de los coeficientes de las combinaciones lineales que definen los SPC, llamados cargas [ nota 1 ], son iguales a cero. El número de cargas distintas de cero se denomina cardinalidad del SPC.
Formulación matemática
Consideremos una matriz de datos ,, donde cada uno de losLas columnas representan una variable de entrada, y cada una de lasLas filas representan una muestra independiente de la población de datos. Se supone que cada columna detiene media cero, de lo contrario se puede restar la media de cada columna a cada elemento de. Dejarsea la matriz de covarianza empírica de, que tiene dimensión.
Dado un número enteroconEl problema de PCA disperso puede formularse como la maximización de la varianza a lo largo de una dirección representada por el vectormientras se restringe su cardinalidad:
- Ecuación 1
La primera restricción especifica que v es un vector unitario . En la segunda restricción,representa elpseudonorma de v , que se define como el número de sus componentes no nulas. Por lo tanto, la segunda restricción especifica que el número de componentes no nulas en v es menor o igual que k , que suele ser un entero mucho menor que la dimensión p . El valor óptimo de la ecuación 1 se conoce como el mayor autovalor disperso k .
Si se toma k=p , el problema se reduce al PCA ordinario , y el valor óptimo se convierte en el mayor valor propio de la matriz de covarianza Σ .
Después de encontrar la solución óptima v , se desinfla Σ para obtener una nueva matriz.
y repetir este proceso para obtener más componentes principales. Sin embargo, a diferencia del PCA, el PCA disperso no puede garantizar que los diferentes componentes principales sean ortogonales . Para lograr la ortogonalidad, se deben imponer restricciones adicionales.
La siguiente definición equivalente está en forma matricial. SeaSea una matriz simétrica p×p , se puede reescribir el problema de PCA disperso como
- Ecuación 2
Tr es la traza de la matriz yrepresenta los elementos no nulos en la matriz V. La última línea especifica que V tiene rango de matriz uno y es semidefinida positiva . La última línea significa que uno tiene, por lo tanto , la ecuación 2 es equivalente a la ecuación 1 .
Además, la restricción de rango en esta formulación es realmente redundante y, por lo tanto, el PCA disperso se puede expresar como el siguiente programa semidefinido de enteros mixtos [ 1 ].
- Ecuación 3
Debido a la restricción de cardinalidad, el problema de maximización es difícil de resolver exactamente, especialmente cuando la dimensión p es alta. De hecho, el problema PCA disperso en la ecuación 1 es NP-difícil en sentido fuerte. [ 2 ]
Consideraciones computacionales
Como la mayoría de los problemas dispersos, la selección de variables en SPCA es un problema NP-difícil no convexo computacionalmente intratable, [ 3 ] por lo tanto, a menudo se emplean algoritmos subóptimos voraces para encontrar soluciones.
Cabe señalar también que SPCA introduce hiperparámetros que cuantifican en qué medida se penalizan los valores de parámetros grandes. [ 4 ] Estos podrían requerir ajustes para lograr un rendimiento satisfactorio, lo que aumentaría el costo computacional total.
Algoritmos para SPCA
Se han propuesto varios enfoques alternativos (de la ecuación 1 ), incluyendo:
- un marco de regresión, [ 5 ]
- un marco de descomposición de matriz penalizada , [ 6 ]
- un marco de relajación convexa/programación semidefinida, [ 7 ]
- un marco de método de potencia generalizado [ 8 ]
- un marco de maximización alternada [ 9 ]
- búsqueda voraz hacia adelante y hacia atrás y métodos exactos que utilizan técnicas de ramificación y acotación, [ 10 ]
- un enfoque de ramificación y acotación certificablemente óptimo [ 11 ]
- Marco de formulación bayesiana. [ 12 ]
- Un enfoque de ramificación y corte semidefinido de enteros mixtos certificablemente óptimo [ 1 ]
Los desarrollos metodológicos y teóricos del PCA disperso, así como sus aplicaciones en estudios científicos, se revisan recientemente en un artículo de revisión. [ 13 ]
Notas sobre la relajación de la programación semidefinida
Se ha propuesto que el PCA disperso puede aproximarse mediante programación semidefinida (SDP). [ 7 ] Si se elimina la restricción de rango y se relaja la restricción de cardinalidad mediante una restricción convexa de norma 1 , se obtiene una relajación de programación semidefinida, que puede resolverse eficientemente en tiempo polinomial:
- Ecuación 3
En la segunda restricción,es un vector de unos de p×1 , y |V| es la matriz cuyos elementos son los valores absolutos de los elementos de V.
La solución óptimaPara el problema relajado , la ecuación 3 no tiene garantizado tener rango uno. En ese caso,puede truncarse para conservar únicamente el vector propio dominante.
Aunque el programa semidefinido no se escala más allá de n=300 covariables, se ha demostrado que una relajación de cono de segundo orden de la relajación semidefinida es casi igual de precisa y resuelve con éxito problemas con n=1000 de covariables [ 14 ].
Aplicaciones
Análisis de datos financieros
Supongamos que se aplica el análisis de componentes principales (PCA) convencional a un conjunto de datos donde cada variable de entrada representa un activo diferente; este análisis puede generar componentes principales que son una combinación ponderada de todos los activos. En cambio, el PCA disperso produciría componentes principales que son una combinación ponderada de solo unos pocos activos de entrada, lo que facilita su interpretación. Además, si se utiliza una estrategia de negociación basada en estos componentes principales, un menor número de activos implica menores costos de transacción.
Biología
Consideremos un conjunto de datos donde cada variable de entrada corresponde a un gen específico. El análisis de componentes principales disperso (Sparse PCA) puede generar un componente principal que involucre solo unos pocos genes, lo que permite a los investigadores centrarse en estos genes específicos para un análisis más profundo.
Pruebas de hipótesis de alta dimensión
Los conjuntos de datos contemporáneos a menudo tienen el número de variables de entrada () comparable con o incluso mucho mayor que el número de muestras (). Se ha demostrado que siSi no converge a cero, el PCA clásico no es consistente . En otras palabras, si dejamosEn la ecuación 1 , entonces el valor óptimo no converge al mayor valor propio de la población de datos cuando el tamaño de la muestray la solución óptima no converge en la dirección de máxima varianza. Pero el PCA disperso puede mantener la consistencia incluso si
El valor propio más grande k -disperso (el valor óptimo de la ecuación 1 ) se puede utilizar para discriminar un modelo isométrico, donde cada dirección tiene la misma varianza, de un modelo de covarianza con picos en un entorno de alta dimensión. [ 15 ] Considere una prueba de hipótesis donde la hipótesis nula especifica que los datosse generan a partir de una distribución normal multivariada con media 0 y covarianza igual a una matriz identidad , y la hipótesis alternativa especifica que los datosse genera a partir de un modelo con picos y fuerza de señal:
dóndetiene solo k coordenadas distintas de cero. El mayor valor propio k -disperso puede discriminar las dos hipótesis si y solo si.
Dado que el cálculo del valor propio k -disperso es NP-difícil, se puede aproximar mediante el valor óptimo de la relajación de programación semidefinida ( Ec. 3 ). En ese caso, podemos discriminar las dos hipótesis si. El adicionalEl término no puede mejorarse mediante ningún otro algoritmo de tiempo polinomial si se cumple la conjetura de la camarilla plantada .
Software/código fuente
- amanpg - Paquete R para PCA disperso utilizando el método de gradiente proximal de variedad alternante [ 16 ]
- elasticnet – Paquete de R para estimación dispersa y PCA dispersa usando Elastic-Nets [ 17 ]
- epca – Paquete de R para análisis exploratorio de componentes principales para conjuntos de datos a gran escala, incluyendo análisis de componentes principales dispersos y aproximación de matrices dispersas. [ 18 ]
- nsprcomp - Paquete de R para PCA disperso y/o no negativo basado en iteraciones de potencia umbralizadas [ 19 ]
- scikit-learn – Biblioteca de Python para aprendizaje automático que contiene PCA disperso y otras técnicas en el módulo de descomposición. [ 20 ]
Notas
- ↑ El término «cargas» se utiliza de forma inapropiada para estos vectores, que deberían llamarse coeficientes. Esta denominación proviene del término «cargas», utilizado en el análisis factorial para diseñar los valores que generan la matriz de covarianza común. Dado que en el PCA estándar las cargas son iguales a los coeficientes, se ha utilizado el término «cargas» para referirse a estos últimos. Esto resulta bastante desafortunado, ya que en el SPCA los coeficientes no son iguales a las cargas.
Referencias
- 1 2 Dimitris Bertsimas; Ryan Cory-Wright; Jean Pauphilet (2020). "Resolución de PCA disperso a gran escala para alcanzar una optimalidad (casi) certificable". arXiv : 2005.05195 [ math.OC ].
- ↑ Andreas M. Tillmann; Marc E. Pfetsch (2013). "La complejidad computacional de la propiedad de isometría restringida, la propiedad de espacio nulo y conceptos relacionados en detección comprimida". IEEE Transactions on Information Theory . 60 (2): 1248 – 1259. arXiv : 1205.2081 . CiteSeerX 10.1.1.760.2559 . doi : 10.1109/TIT.2013.2290112 . S2CID 2788088 .
- ↑ Moghaddam, Baback; Weiss, Yair; Avidan, Shai (2007-09-07). Schölkopf, Bernhard; Platt, John; Hofmann, Thomas (eds.). Advances in Neural Information Processing Systems 19: Proceedings of the 2006 Conference . The MIT Press. pp. 915–922 . doi : 10.7551/mitpress/7503.001.0001 . ISBN 978-0-262-25691-9.
- ↑ Zou, Hui; Trevor, Hastie; Tibshirani, Robert (1 de junio de 2006). "Análisis de componentes principales dispersos" . Journal of Computational and Graphical Statistics . 15 (2): 265– 286. doi : 10.1198/106186006X113430 . ISSN 1061-8600 .
- ↑ Hui Zou; Trevor Hastie; Robert Tibshirani (2006). "Análisis de componentes principales dispersos" (PDF) . Journal of Computational and Graphical Statistics . 15 (2): 262– 286. CiteSeerX 10.1.1.62.580 . doi : 10.1198/106186006x113430 . S2CID 5730904 .
- ↑ Fan Chen; Karl Rohe (2021). "Una nueva base para el análisis de componentes principales dispersos" . Journal of Computational and Graphical Statistics . 33 (2): 421– 434. arXiv : 2007.00596 . doi : 10.1080/10618600.2023.2256502 .
- 1 2 Alexandre d'Aspremont; Laurent El Ghaoui; Michael I. Jordan; Gert RG Lanckriet (2007). "Una formulación directa para PCA dispersa usando programación semidefinida" (PDF) . SIAM Review . 49 (3): 434– 448. arXiv : cs/0406021 . doi : 10.1137/050645506 . S2CID 5490061 .
- ↑ Michel Journee; Yurii Nesterov; Peter Richtarik; Rodolphe Sepulchre (2010). "Método de potencia generalizado para el análisis de componentes principales dispersos" (PDF) . Journal of Machine Learning Research . 11 : 517–553 . arXiv : 0811.4724 . Bibcode : 2008arXiv0811.4724J . CORE Discussion Paper 2008/70.
- ↑ Peter Richtarik; Majid Jahani; S. Damla Ahipasaoglu; Martin Takac (2021). "Alternating Maximization: Unifying Framework for 8 Sparse PCA Formulations and Efficient Parallel Codes" . Optimization and Engineering . 22 (3): 1493– 1519. arXiv : 1212.4137 . doi : 10.1007/s11081-020-09562-3 . S2CID 2549610 .
- ↑ Baback Moghaddam; Yair Weiss; Shai Avidan (2005). "Límites espectrales para PCA dispersa: algoritmos exactos y voraces" (PDF) . Avances en sistemas de procesamiento de información neuronal . Vol. 18. MIT Press.
- ↑ Lauren Berk; Dimitris Bertsimas (2019). "Análisis de componentes principales dispersos certificablemente óptimo". Mathematical Programming Computation . 11 (3). Springer: 381– 420. doi : 10.1007/s12532-018-0153-6 . hdl : 1721.1/131566 . S2CID 126998398 .
- ↑ Yue Guan; Jennifer Dy (2009). "Análisis de componentes principales probabilístico disperso" (PDF) . Actas del taller y conferencia de la revista Journal of Machine Learning Research . 5 : 185.
- ↑ Hui Zou; Lingzhou Xue (2018). "Una visión general selectiva del análisis de componentes principales dispersos" . Actas del IEEE . 106 (8): 1311– 1320. doi : 10.1109/jproc.2018.2846588 .
- ↑ Dimitris Bertsimas; Ryan Cory-Wright (2020). "Sobre descomposiciones poliédricas y de cono de segundo orden de problemas de optimización semidefinidos" . Operations Research Letters . 48 (1). Elsevier: 78–85 . arXiv : 1910.03143 . doi : 10.1016/j.orl.2019.12.003 .
- ↑ Quentin Berthet; Philippe Rigollet (2013). "Detección óptima de componentes principales dispersos en alta dimensión". Annals of Statistics . 41 (1): 1780– 1815. arXiv : 1202.5070 . doi : 10.1214/13-aos1127 . S2CID 7162068 .
- ↑https://cran.r-project.org/web/packages/amanpg/index.html
- ↑https://cran.r-project.org/web/packages/elasticnet/index.html
- ↑https://cran.r-project.org/web/packages/epca/index.html
- ↑https://cran.r-project.org/web/packages/nsprcomp/index.html
- ↑http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.SparsePCA.html
- Reducción de dimensiones
- algoritmos de aprendizaje automático