Articulo de referencia

PCA disperso

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...

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 ,incógnita{\displaystyle X}, donde cada uno de lospag{\displaystyle p}Las columnas representan una variable de entrada, y cada una de lasnorte{\displaystyle n}Las filas representan una muestra independiente de la población de datos. Se supone que cada columna deincógnita{\displaystyle X}tiene media cero, de lo contrario se puede restar la media de cada columna a cada elemento deincógnita{\displaystyle X}. DejarΣ=1norte1incógnitaincógnita{\displaystyle \Sigma ={\frac {1}{n-1}}X^{\top }X}sea ​​la matriz de covarianza empírica deincógnita{\displaystyle X}, que tiene dimensiónpag×pag{\displaystyle p\times p}.

Dado un número enterok{\displaystyle k}con1kpag{\displaystyle 1\leq k\leq p}El problema de PCA disperso puede formularse como la maximización de la varianza a lo largo de una dirección representada por el vectorvRpag{\displaystyle v\in \mathbb {R} ^{p}}mientras se restringe su cardinalidad:

máximovTΣvsujeto av2=1v0k.{\displaystyle {\begin{aligned}\max \quad &v^{T}\Sigma v\\{\text{sujeto a}}\quad &\left\Vert v\right\Vert _{2}=1\\&\left\Vert v\right\Vert _{0}\leq k.\end{aligned}}}Ecuación 1

La primera restricción especifica que v es un vector unitario . En la segunda restricción,v0{\displaystyle \left\Vert v\right\Vert _{0}}representa el0{\displaystyle \ell _{0}}pseudonorma 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.

Σ1=Σ(vTΣv)vvT,{\displaystyle \Sigma _ {1}=\Sigma -(v^{T}\Sigma v)vv^{T},}

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. SeaV{\displaystyle V}Sea una matriz simétrica p×p , se puede reescribir el problema de PCA disperso como

máximoTr(ΣV)sujeto aTr(V)=1V0k2Ranortek(V)=1,V0.{\displaystyle {\begin{aligned}\max \quad &Tr(\Sigma V)\\{\text{sujeto a}}\quad &Tr(V)=1\\&\Vert V\Vert _{0}\leq k^{2}\\&Rank(V)=1,V\succeq 0.\end{aligned}}}Ecuación 2

Tr es la traza de la matriz yV0{\displaystyle \Vert V\Vert _ {0}}representa 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 tieneV=vvT{\displaystyle V=vv^{T}}, 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 ].

máximoTr(ΣV)sujeto aTr(V)=1|Vi,i|zi,i{1,...,pag},|Vi,j|12zi,i,j{1,...,pag}:ij,V0,z{0,1}pag,izik{\displaystyle {\begin{aligned}\max \quad &Tr(\Sigma V)\\{\text{subject to}}\quad &Tr(V)=1\\&\vert V_{i,i}\vert \leq z_{i},\forall i\in \{1,...,p\},\vert V_{i,j}\vert \leq {\frac {1}{2}}z_{i},\forall i,j\in \{1,...,p\}:i\neq j,\\&V\succeq 0,z\in \{0,1\}^{p},\sum _{i}z_{i}\leq k\end{aligned}}}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:

máximoTr(ΣV)sujeto aTr(V)=11T|V|1kV0.{\displaystyle {\begin{aligned}\max \quad &Tr(\Sigma V)\\{\text{subject to}}\quad &Tr(V)=1\\&\mathbf {1} ^{T}|V|\mathbf {1} \leq k\\&V\succeq 0.\end{aligned}}}Ecuación 3

En la segunda restricción,1{\displaystyle \mathbf {1} }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 óptimaV{\displaystyle V}Para el problema relajado , la ecuación 3 no tiene garantizado tener rango uno. En ese caso,V{\displaystyle V}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 (pag{\displaystyle p}) comparable con o incluso mucho mayor que el número de muestras (norte{\displaystyle n}). Se ha demostrado que sipag/norte{\displaystyle p/n}Si no converge a cero, el PCA clásico no es consistente . En otras palabras, si dejamosk=pag{\displaystyle k=p}En 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 muestranorte{\displaystyle n\rightarrow \infty }y la solución óptima no converge en la dirección de máxima varianza. Pero el PCA disperso puede mantener la consistencia incluso sipagnorte.{\displaystyle p\gg n.}

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 datosincógnita{\displaystyle X}se 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 datosincógnita{\displaystyle X}se genera a partir de un modelo con picos y fuerza de señalθ{\displaystyle \theta }:

H0:incógnitanorte(0,Ipag),H1:incógnitanorte(0,Ipag+θvvT),{\displaystyle H_{0}:X\sim N(0,I_{p}),\quad H_{1}:X\sim N(0,I_{p}+\theta vv^{T}),}

dóndevRpag{\displaystyle v\in \mathbb {R} ^{p}}tiene solo k coordenadas distintas de cero. El mayor valor propio k -disperso puede discriminar las dos hipótesis si y solo siθ>Θ(kregistro(pag)/norte){\displaystyle \theta >\Theta ({\sqrt {k\log(p)/n}})}.

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θ>Θ(k2registro(pag)/norte){\displaystyle \theta >\Theta ({\sqrt {k^{2}\log(p)/n}})}. El adicionalk{\displaystyle {\sqrt {k}}}El 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

  1. 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. 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 ].
  2. 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 .  
  3. 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.
  4. 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 . 
  5. 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 .  
  6. 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 .
  7. 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 . 
  8. 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.
  9. 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 . 
  10. 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. 
  11. 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 . 
  12. 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.
  13. 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 .
  14. 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 .
  15. 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 . 
  16. https://cran.r-project.org/web/packages/amanpg/index.html
  17. https://cran.r-project.org/web/packages/elasticnet/index.html
  18. https://cran.r-project.org/web/packages/epca/index.html
  19. https://cran.r-project.org/web/packages/nsprcomp/index.html
  20. http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.SparsePCA.html