Schaarse PCA
Schaarse principale componentanalyse (schaarse PCA) is een gespecialiseerde techniek die wordt gebruikt in statistische analyse en in het bijzonder bij de analyse van multivariate gegevenssets.Het breidt de klassieke methode van Hoofdcomponentanalyse (PCA) voor de vermindering van de dimensionaliteit van gegevens door het introduceren van sparsity -structuren in de invoervariabelen.
Een bijzonder nadeel van gewone PCA is dat de belangrijkste componenten meestal lineaire combinaties zijn van alle invoervariabelen.Sparse PCA overwint dit nadeel door lineaire combinaties te vinden die slechts enkele invoervariabelen bevatten.
Hedendaagse datasets hebben vaak het aantal invoervariabelen () vergelijkbaar met of zelfs veel groter dan het aantal monsters ().Het is aangetoond dat als convergeert niet naar nul, de klassieke PCA is dat niet consequent.Maar schaarse PCA kan consistentie behouden, zelfs als [1]
Wiskundige formulering
Overweeg een gegevens Matrix, , waar elk van de kolommen vertegenwoordigen een invoervariabele, en elk van de Rijen vertegenwoordigt een onafhankelijke steekproef van de gegevenspopulatie.Men neemt elke kolom van heeft gemiddelde nul, anders kan men kolomgewijs gemiddelde aftrekken van elk element van . Laten Wees het empirisch covariantiematrix van , die dimensie heeft . Gegeven een geheel getal met , het schaarse PCA -probleem kan worden geformuleerd als het maximaliseren van de variantie langs een richting die wordt weergegeven door vector Terwijl hij zijn kardinaliteit beperkt:
- Eq. 1
De eerste beperking geeft dat aan v is een eenheidsvector.In de tweede beperking, vertegenwoordigt de pseudo-norm van v, die wordt gedefinieerd als het aantal niet-nulcomponenten.Dus de tweede beperking geeft aan dat het aantal niet-nulcomponenten in v is kleiner dan of gelijk aan k, wat meestal een geheel getal is dat veel kleiner is dan dimensie p.De optimale waarde van Eq. 1 staat bekend als de k-Sparse grootste eigenwaarde.
Als men neemt K = P, het probleem vermindert tot het gewone PCA, en de optimale waarde wordt de grootste eigenwaarde van covariantiematrix Σ.
Na het vinden van de optimale oplossing v, laat één leeglopen Σ Om een nieuwe matrix te verkrijgen
en dit proces herhalen om verdere hoofdcomponenten te verkrijgen.In tegenstelling tot PCA kan schaarse PCA echter niet garanderen dat verschillende hoofdcomponenten dat zijn orthogonaal.Om orthogonaliteit te bereiken, moeten extra beperkingen worden afgedwongen.
De volgende equivalente definitie is in matrixvorm.Laten wees een P × P symmetrische matrix, men kan het schaarse PCA -probleem herschrijven als
- Eq. 2
TR is de matrixspoor, en vertegenwoordigt de niet-nul elementen in matrix V.De laatste regel geeft dat aan V heeft matrixrang een en is Positieve semidefiniet.De laatste regel betekent dat men heeft , dus Eq. 2 is gelijk aan Eq. 1.
Bovendien is de rangbeperking in deze formulering eigenlijk overbodig en daarom kan schaarse PCA worden gegoten als het volgende gemengd-integer semidefinietprogramma[2]
- Eq. 3
Vanwege de kardinaliteitsbeperking is het maximalisatieprobleem moeilijk op te lossen, vooral wanneer de dimensie p is hoog.In feite, het schaarse PCA -probleem in Eq. 1 is Np-hard In de sterke zin.[3]
Algoritmen voor schaarse PCA
Verschillende alternatieve benaderingen (van Eq. 1) zijn voorgesteld, inclusief
- een regressiekader,[4]
- Een geklamde matrixontledingskader,[5]
- Een convexe ontspanning/semidefiniet programmeerkader,[6]
- Een gegeneraliseerd kader voor de krachtmethode[7]
- een afwisselend maximalisatiekader[8]
- Voorwaarts-achterwaartse hebzuchtige zoekopdracht en exacte methoden met behulp van branch-and-bound-technieken,[9]
- Een certificeerbaar optimale tak-en-gebonden aanpak[10]
- Bayesiaans formuleringskader.[11]
- Een certificeerbaar optimale semidefiniet tak-en-gesneden benadering van gemengd-integer [2]
De methodologische en theoretische ontwikkelingen van schaarse PCA en de toepassingen ervan in wetenschappelijke studies worden onlangs beoordeeld in een onderzoekspaper.[12]
Opmerkingen over ontspanning van semidefiniet programmeren
Er is voorgesteld dat schaarse PCA kan worden benaderd door semidefinietprogrammering (SDP).[6] Als men de rangbeperking laat vallen en de kardinaliteitsbeperking ontspant door een 1-norm convex Beperking, men krijgt een semidefinietprogrammeerrelaxing, die efficiënt kan worden opgelost in polynoomtijd:
- Eq. 3
In de tweede beperking, is een P × 1 vector van degenen, en | V | is de matrix waarvan de elementen de absolute waarden zijn van de elementen van V.
De optimale oplossing naar het ontspannen probleem Eq. 3 is niet gegarandeerd rang één.In dat geval, kan worden afgekapt om alleen de dominante eigenvector te behouden.
Hoewel het Semidefinite-programma niet verder schaalt dan n = 300 covariaten, is aangetoond dat een tweede-orde kegelrelaxatie van de semidefiniet-ontspanning bijna net zo strak is en met succes problemen oplost met n = 1000s van covariaten [13]
Toepassingen
Financiële gegevensanalyse
Stel dat gewone PCA wordt toegepast op een dataset waarbij elke invoervariabele een ander actief vertegenwoordigt, deze kan hoofdcomponenten genereren die gewogen combinatie van alle activa zijn.Spaarse PCA zou daarentegen hoofdcomponenten produceren die een gewogen combinatie van slechts enkele invoeractiva zijn, dus men kan de betekenis ervan gemakkelijk interpreteren.Bovendien, als men een handelsstrategie gebruikt op basis van deze hoofdcomponenten, impliceren minder activa minder transactiekosten.
Biologie
Overweeg een gegevensset waarbij elke invoervariabele overeenkomt met een specifiek gen.Sparse PCA kan een hoofdcomponent produceren die slechts enkele genen omvat, zodat onderzoekers zich kunnen concentreren op deze specifieke genen voor verdere analyse.
Hoogdimensionale hypothese-testen
Hedendaagse datasets hebben vaak het aantal invoervariabelen () vergelijkbaar met of zelfs veel groter dan het aantal monsters ().Het is aangetoond dat als convergeert niet naar nul, de klassieke PCA is dat niet consequent.Met andere woorden, als we het laten in Eq. 1, dan convergeert de optimale waarde niet naar de grootste eigenwaarde van gegevenspopulatie wanneer de steekproefomvang , en de optimale oplossing convergeert niet naar de richting van maximale variantie.Maar schaarse PCA kan consistentie behouden, zelfs als [1]
De k-Sparse grootste eigenwaarde (de optimale waarde van Eq. 1) kan worden gebruikt om een isometrisch model te onderscheiden, waarbij elke richting dezelfde variantie heeft, van een puntig covariantiemodel in een hoge dimensionale setting.[14] Overweeg een hypothesetest waarbij de nulhypothese dat gegevens aangeeft worden gegenereerd uit een multivariate normale verdeling met gemiddelde 0 en covariantie gelijk aan een identiteitsmatrix, en de alternatieve hypothese geeft aan dat gegevens wordt gegenereerd uit een puntig model met signaalsterkte :
waar heeft alleen k niet-nul coördinaten.De grootste k-sparse eigenwaarde kan de twee hypothese discrimineren als en alleen als .
Sinds computing k-Sparse eigenwaarde is NP-Hard, men kan het benaderen door de optimale waarde van semidefinietprogrammeringsontspanning (Eq. 3).Als dat geval, kunnen we de twee hypothesen discrimineren als .De aanvullende term kan niet worden verbeterd door een ander polynomiaal tijdsalgoritme als de geplant kliek vermoeden houdt vast.
Software/broncode
- AMANPG - R -pakket voor schaarse PCA met behulp van de alternerende verdeelstuk proximale gradiëntmethode [15]
- Elasticnet-R-pakket voor schaarse schatting en schaarse PCA met behulp van elastische netten [16]
- NSPRCOMP - R -pakket voor schaarse en/of niet -negatieve PCA op basis van drempelwaarde -iteraties[17]
- Scikit-Learn - Python -bibliotheek voor machine learning die schaarse PCA en andere technieken in de ontledingsmodule bevat.[18]
Referenties
- ^ a b Iain M Johnstone;Arthur Yu Lu (2009). "Over consistentie en sparsity voor principale componentenanalyse in hoge dimensies". Journal of the American Statistical Association. 104 (486): 682–693. doen:10.1198/jasa.2009.0121. PMC 2898454. Pmid 20617121.
- ^ a b Dimitris Bertsimas;Ryan Cory-Wright;Jean Pauphilet (2020)."Het oplossen van grootschalige schaarse PCA tot certificeerbare (nabije) optimaliteit". arxiv:2005.05195.
{{}}
: Cite Journal vereist|journal=
(helpen) - ^ Andreas M. Tillmann;Marc E. Pfetsch (2013)."De computationele complexiteit van de eigenschap met beperkte isometrie, de eigenschap Nullspace en gerelateerde concepten in gecomprimeerde detectie". IEEE -transacties over informatietheorie. 60 (2): 1248–1259. arxiv:1205.2081. Citeseerx 10.1.1.760.2559. doen:10.1109/tit.2013.2290112. S2CID 2788088.
- ^ Hui Zou;Trevor Hastie;Robert Tibshirani (2006). "Sparse Principal Component Analysis" (PDF). Journal of Computational and Graphical Statistics. 15 (2): 262–286. Citeseerx 10.1.1.62.580. doen:10.1198/106186006X113430. S2CID 5730904.
- ^ Fan Chen;Karl Rohe (2021). "Een nieuwe basis voor schaarse principale componentanalyse". arxiv:2007.00596. doen:10.48550/arxiv.2007.00596.
{{}}
: Cite Journal vereist|journal=
(helpen) - ^ a b Alexandre d'Aspremont;Laurent El Ghaoui;Michael I. Jordan;Gert R. G. Lanckriet (2007). "Een directe formulering voor schaarse PCA met behulp van semidefinietprogrammering" (PDF). Siam Review. 49 (3): 434–448. arxiv:CS/0406021. doen:10.1137/050645506. S2CID 5490061.
- ^ Michel Journee;Yurii Nesterov;Peter Richtarik;Rodolphe Sepulcher (2010). "Gegeneraliseerde vermogensmethode voor schaarse principale componentanalyse" (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). "Afwisselende maximalisatie: verenigend raamwerk voor 8 schaarse PCA -formuleringen en efficiënte parallelle codes". Optimalisatie en engineering. 22 (3): 1493–1519. arxiv:1212.4137. doen:10.1007/S11081-020-09562-3. S2CID 2549610.
- ^ Baback Moghaddam;Yair Weiss;Shai Avidan (2005). "Spectrale grenzen voor schaarse PCA: exacte en hebzuchtige algoritmen" (PDF). Vooruitgang in neurale informatieverwerkingssystemen. Vol. 18. MIT Press.
- ^ Lauren Berk;Dimitris Bertsimas (2019)."Certificeerbaar optimale schaarse principale componentanalyse". Wiskundige programmeerberekening. Springer. 11 (3): 381–420. doen:10.1007/S12532-018-0153-6. HDL:1721.1/131566. S2CID 126998398.
- ^ Yue Guan; Jennifer Dy (2009). "Schaarse probabilistische principale componentanalyse" (PDF). Journal of Machine Learning Research Workshop en Conference Proceedings. 5: 185.
- ^ Hui Zou; Lingzhou Xue (2018). "Een selectief overzicht van schaarse principale componentanalyse". Proceedings van de IEEE. 106 (8): 1311–1320. doen:10.1109/jproc.2018.2846588.
- ^ Dimitris Bertsimas;Ryan Cory-Wright (2020). "Over polyedrale en tweede-orde kegelbeschuldigingen van semidefiniet-optimalisatieproblemen". Operations Research Letters. Elsevier. 48 (1): 78–85. arxiv:1910.03143. doen:10.1016/j.orl.2019.12.003.
- ^ Quentin Berthet;Philippe Rigollet (2013)."Optimale detectie van schaarse hoofdcomponenten in hoge dimensie". Annals of Statistics. 41 (1): 1780–1815. arxiv:1202.5070. doen:10.1214/13-AOS1127. S2CID 7162068.
- ^ [1] https://cran.r-project.org/web/packages/amanpg/index.html
- ^ [2] https://cran.r-project.org/web/packages/elasticnet/elasticnet.pdf
- ^ [3] https://cran.r-project.org/package=nsprom
- ^ [4] http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.sparsepca.html