Analýza hlavních komponent - Principal component analysis

PCA vícerozměrné Gaussovy distribuce se středem na (1,3) se standardní odchylkou 3 ve směru (0,866, 0,5) a 1 v ortogonálním směru. Vektory uvedené jsou vektory z kovarianční matice měřítkem druhou odmocninou odpovídající vlastní hodnotě a posune tak, jejich ocasy jsou střední.

Tyto základní složky z kolekce bodů v reálném prostoru souřadnic jsou sled jednotkových vektorů , kde tý vektor je směr přímky, která nejlépe odpovídá datům, přičemž je kolmá na první vektory. Zde je nejlépe padnoucí čára definována jako čára, která minimalizuje průměrnou čtvercovou vzdálenost od bodů k přímce . Tyto směry představují ortonormální základ, ve kterém jsou různé individuální dimenze dat lineárně nekorelované . Analýza hlavních komponent ( PCA ) je proces výpočtu hlavních komponent a jejich použití k provedení změny na základě dat, někdy s použitím pouze prvních několika hlavních komponent a ostatní ignorování.

PCA se používá při průzkumné analýze dat a při vytváření prediktivních modelů . Běžně se používá pro redukci rozměrů promítnutím každého datového bodu pouze na prvních několik hlavních komponent pro získání dat nižší dimenze při zachování co největší variace dat. První hlavní komponentu lze ekvivalentně definovat jako směr, který maximalizuje rozptyl předpokládaných dat. Tý hlavní složkou může být užíván jako směru kolmém na první hlavní komponenty, které maximalizuje rozptyl předpokládaných dat.

Z obou cílů lze ukázat, že hlavní komponenty jsou vlastní vektory kovarianční matice dat . Hlavní komponenty jsou tedy často počítány vlastní složením matice kovariance dat nebo rozkladem matice dat singulární hodnoty . PCA je nejjednodušší ze skutečných vícerozměrných analýz na bázi vlastních vektorů a úzce souvisí s faktorovou analýzou . Faktorová analýza obvykle zahrnuje více doménově specifických předpokladů o základní struktuře a řeší vlastní vektory mírně odlišné matice. PCA také souvisí s kanonickou korelační analýzou (CCA) . CCA definuje souřadnicové systémy, které optimálně popisují křížovou kovarianci mezi dvěma datovými sadami, zatímco PCA definuje nový ortogonální souřadnicový systém, který optimálně popisuje rozptyl v jedné datové sadě. Robustní a L1-norm byly také navrženy na bázi varianty standardní PCO.

Dějiny

PCA byl vynalezen v roce 1901 Karlem Pearsonem , jako analog věty o hlavní ose v mechanice; později byl nezávisle vyvinut a pojmenován Haroldem Hotellingem ve 30. letech 20. století. V závislosti na oblasti použití se také nazývá diskrétní Karhunen – Loève transformace (KLT) při zpracování signálu , Hotellingova transformace při řízení kvality více proměnných, správný ortogonální rozklad (POD) ve strojírenství, rozklad singulárních hodnot (SVD) X (vynalezeno v poslední čtvrtině 19. století), rozklad vlastních hodnot (EVD) X T X v lineární algebře, faktorová analýza (diskuzi o rozdílech mezi PCA a faktorovou analýzou najdete v kap. 7 Jolliffeho analýzy hlavních komponent ), Eckart – Youngova věta (Harman, 1960), nebo empirické ortogonální funkce (EOF) v meteorologické vědě, empirický rozklad vlastní funkce (Sirovich, 1987), empirická analýza komponent (Lorenz, 1956), kvaziharmonické režimy (Brooks et al., 1988), spektrální rozklad v hluku a vibracích a empirická modální analýza strukturální dynamiky.

Intuice

PCA lze považovat za přizpůsobení p -rozměrného elipsoidu datům, kde každá osa elipsoidu představuje hlavní složku. Pokud je některá osa elipsoidu malá, pak je rozptyl podél této osy také malý.

Abychom našli osy elipsoidu, musíme nejprve odečíst průměr každé proměnné z datové sady, abychom data vycentrovali kolem počátku. Potom vypočítáme kovarianční matici dat a vypočítáme vlastní čísla a odpovídající vlastní vektory této kovarianční matice. Poté musíme každý z ortogonálních vlastních vektorů normalizovat, abychom je proměnili na jednotkové vektory. Jakmile je toto provedeno, každý ze vzájemně ortogonálních, jednotkových vlastních vektorů může být interpretován jako osa elipsoidu přizpůsobeného datům. Tato volba základu transformuje naši kovarianční matici do diagonalizované podoby s diagonálními prvky představujícími rozptyl každé osy. Podíl rozptylu, který každý vlastní vektor představuje, lze vypočítat vydělením vlastní hodnoty odpovídající danému vlastnímu vektoru součtem všech vlastních čísel.

Podrobnosti

PCA je definována jako ortogonální lineární transformace, která transformuje data na nový souřadný systém tak, že největší rozptyl podle nějaké skalární projekce dat spočívá na první souřadnici (nazývané první hlavní složka), druhá největší rozptyl na druhá souřadnice atd.

Uvažujme datové matice , X , s sloupce ručiček nulovou empirické střední hodnoty (vzorek střední hodnoty každého sloupce bylo upraveno na nulu), kde každý z n řad představuje jinou opakování experimentu, a každý z p sloupců dává konkrétní druh funkce (řekněme výsledky z konkrétního senzoru).

Matematicky je transformace je definována souborem velikosti z p rozměrný vektorů závaží nebo koeficientů , které jsou mapovány každý řádek vektor z X do nového vektoru základní složky skóre , daný

takovým způsobem, že jednotlivé proměnné z t považované za souboru dat postupně dědí v maximální možné odchylky od X , přičemž každý koeficient vektoru w omezeny být jednotkový vektor (kde se zpravidla volí tak, aby bylo menší než snížení rozměrnosti).

První komponenta

Aby se maximalizoval rozptyl, musí první vektor hmotnosti w (1) splnit

Ekvivalentně toto psaní v maticové formě dává

Protože w (1) byl definován jako jednotkový vektor, ekvivalentně také splňuje

Množství, které má být maximalizováno, lze rozpoznat jako Rayleighův kvocient . Standardní výsledek pro pozitivní semidefinitovou matici, jako je X T X, je, že maximální možná hodnota kvocientu je největší vlastní číslo matice, ke kterému dochází, když w je odpovídající vlastní vektor .

S nalezeným w (1) lze první hlavní složku datového vektoru x ( i ) zadat jako skóre t 1 ( i ) = x ( i )w (1) v transformovaných souřadnicích nebo jako odpovídající vektor v původních proměnných, { x ( i )w (1) } w (1) .

Další komponenty

K -té složku lze odečtením první K  - 1 základní komponenty z X :

a poté nalezení hmotnostního vektoru, který extrahuje maximální rozptyl z této nové datové matice

Ukazuje se, že to dává zbývající vlastní vektory X T X , přičemž maximální hodnoty pro množství v závorkách jsou dány jejich odpovídajícími vlastními hodnotami. Tak hmotnost vektory jsou vlastní vektory X T X .

The K tý hlavní složkou vektoru dat x ( i ) může být tedy vzhledem k tomu, jako skóre t k ( i ) = x ( i )W ( k ) v transformovaných souřadnicích, nebo jako odpovídající vektoru v prostoru původní proměnné, { x ( i )w ( K ) } W ( k ) , kde w ( k ) je k tý vlastní vektor X, T X .

Úplný rozklad hlavních složek X lze tedy zadat jako

kde W je co by í -by- p matice závaží, jejichž sloupce jsou vlastní vektory X T X . Transpozice W se někdy nazývá bělící nebo sférická transformace . Sloupce W vynásobené druhou odmocninou odpovídajících vlastních čísel, tj. Vlastní vektory zvětšené o odchylky, se v PCA nebo ve faktorové analýze nazývají zatížení .

Kovarianty

X T X samo o sobě může být rozpoznán jako proporcionální k empirickému vzorku kovarianční matice datového souboru X T .

Ukázková kovarianční Q mezi dvěma různými hlavními komponentami v datové sadě je dána vztahem:

kde byla k přechodu z řádku 2 na řádek 3 použita vlastní hodnota w ( k ), ale vlastní vektory w ( j ) a w ( k ) odpovídající vlastním číslům symetrické matice jsou ortogonální (pokud jsou vlastní čísla odlišná), nebo lze ortogonalizovat (pokud vektory náhodou sdílejí stejnou opakovanou hodnotu). Součin v konečném řádku je tedy nulový; neexistuje žádná kovarianční ukázka mezi různými hlavními komponentami nad datovou sadou.

Další způsob, jak charakterizovat transformaci hlavních složek, je proto transformace na souřadnice, které diagonalizují empirickou matici kovarianční vzorky.

V maticové formě lze zapsat empirickou kovarianční matici pro původní proměnné

Empirická kovarianční matice mezi hlavními složkami se stává

kde Λ je diagonální matice vlastních hodnot lambda ( K ) z X T X . λ ( k ) se rovná součtu čtverců v datové sadě přidružené ke každé složce k , tj. λ ( k ) = Σ i t k 2 ( i ) = Σ i ( x ( i )w ( k ) ) 2 .

Redukce rozměrů

Transformace T = X W mapuje datový vektor x ( i ) z původního prostoru p proměnných do nového prostoru p proměnných, které jsou v datové sadě nekorelované. Není však nutné zachovat všechny hlavní součásti. Ponecháním pouze prvních hlavních komponent L vyrobených použitím pouze prvních vlastních vektorů L dojde ke zkrácené transformaci

kde matice T L má nyní n řádků, ale pouze L sloupců. Jinými slovy, PCA se učí lineární transformaci, kde sloupce matice p × L tvoří ortogonální základ pro L znaky (složky reprezentace t ), které jsou v dekorelaci. Tato konstrukce matice ze všech transformovaných datových matic s pouze L sloupci maximalizuje rozptyl v původních datech, která byla zachována, a zároveň minimalizuje celkovou chybu čtvercové rekonstrukce nebo .

Scatterplot analýzy hlavních komponent Y-STR haplotypů vypočtený z hodnot počtu opakování pro 37 Y-chromozomálních markerů STR od 354 jedinců.
PCA úspěšně nalezla lineární kombinace různých markerů, které oddělují různé shluky odpovídající různým liniím genetického původu Y chromozomálních jedinců.

Taková redukce rozměrů může být velmi užitečným krokem pro vizualizaci a zpracování vysoce dimenzionálních datových sad, při zachování co největšího množství odchylek v datové sadě. Například výběrem L  = 2 a ponecháním pouze prvních dvou hlavních komponent se vyhledá dvourozměrná rovina prostřednictvím vysokodimenzionální datové sady, ve které jsou data nejvíce rozložena, takže pokud data obsahují klastry, mohou být také tyto nejrozšířenější, a proto je nejviditelnější vykreslit v dvojrozměrném diagramu; vzhledem k tomu, že pokud jsou náhodně vybrány dva směry dat (nebo dvě z původních proměnných), klastry mohou být od sebe mnohem méně rozloženy a ve skutečnosti může být mnohem pravděpodobnější, že se navzájem podstatně překrývají, což je nerozezná.

Podobně v regresní analýze platí , že čím větší je počet vysvětlujících proměnných povolený, tím větší je šance na přeplnění modelu a vyvození závěrů, které nelze zobecnit na jiné datové sady. Jedním z přístupů, zvláště když existují silné korelace mezi různými možnými vysvětlujícími proměnnými, je redukovat je na několik hlavních komponent a poté spustit regresi proti nim, metodu nazývanou regrese hlavních komponent .

Snížení rozměrů může být také vhodné, pokud jsou proměnné v datové sadě hlučné. Pokud každý sloupec datové sady obsahuje nezávisle identicky distribuovaný gaussovský šum, pak sloupce T budou také obsahovat podobně identicky distribuovaný gaussovský šum (takové rozdělení je invariantní pod účinky matice W , kterou lze považovat za vysoce dimenzionální otáčení souřadnic). Nicméně, když je více z celkového rozptylu soustředěno v prvních několika hlavních složkách ve srovnání se stejným rozptylem šumu, proporcionální účinek šumu je menší-prvních několik komponent dosahuje vyššího poměru signálu k šumu . PCA tak může mít účinek soustředění velké části signálu do prvních několika hlavních komponent, které mohou být užitečně zachyceny redukcí rozměrů; zatímco v pozdějších hlavních složkách může převládat hluk, a tak se zlikvidují bez velkých ztrát. Pokud datová sada není příliš velká, lze význam hlavních komponent otestovat pomocí parametrického bootstrapu , jako pomůcky při určování počtu hlavních komponent, které se mají zachovat.

Rozklad singulárních hodnot

Transformace hlavních složek může být také spojena s další faktorizací matice, rozkladem singulárních hodnot (SVD) X ,

Zde Σ je n -by- p obdélníková diagonální matice kladných čísel σ ( k ) , nazývaná singulární hodnoty X ; U je matice n -by- n , jejíž sloupce jsou ortogonální jednotkové vektory délky n, které se nazývají levé singulární vektory X ; a W je co by í -by- p jejíž sloupce jsou ortogonální jednotkové vektory s délkou p a nazývá pravé singulární vektory X .

Z hlediska této faktorizace lze zapsat matici X T X

kde je čtvercová diagonální matice se singulárními hodnotami X a přebytečnými nulami odříznutá, která splňuje . Srovnání s vlastní vektorovou faktorizací X T X ukazuje, že pravé singulární vektory W z X jsou ekvivalentní vlastním vektorům X T X , zatímco singulární hodnoty σ ( k ) z se rovnají druhé odmocnině vlastních hodnot λ ( k ) z X T X .

Pomocí dekompozice singulárních hodnot lze zapsat matici skóre T

takže každý sloupec T je dán jedním z levých singulárních vektorů X vynásobených odpovídající singulární hodnotou. Tato forma je také polární rozklad z T .

Existují účinné algoritmy pro výpočet SVD X, aniž by bylo nutné vytvářet matici X T X , takže výpočet SVD je nyní standardním způsobem výpočtu analýzy hlavních komponent z datové matice, pokud není vyžadována jen hrstka komponent.

Stejně jako u vlastního rozkladu lze zkrácenou n × L matici skóre T L získat zvážením pouze prvních L největších singulárních hodnot a jejich singulárních vektorů:

Zkrácení matice M nebo T pomocí zkráceného rozkladu singulárních hodnot tímto způsobem vytvoří zkrácenou matici, která je nejbližší možnou maticí hodnosti L k původní matici, ve smyslu rozdílu mezi dvěma, které mají nejmenší možnou Frobeniusovu normu , výsledek známý jako Eckartova – Youngova věta [1936].

Další úvahy

Vzhledem k množině bodů v euklidovském prostoru odpovídá první hlavní složka přímce, která prochází vícerozměrným průměrem a minimalizuje součet druhých mocnin vzdáleností bodů od přímky. Druhá hlavní složka odpovídá stejnému konceptu poté, co byla od bodů odečtena veškerá korelace s první hlavní složkou. Singulární hodnoty (v å ) jsou čtvercové kořeny vlastní čísla matice X T X . Každé vlastní číslo je úměrné části „rozptylu“ (přesněji součtu čtvercových vzdáleností bodů od jejich vícerozměrného průměru), která je spojena s každým vlastním vektorem. Součet všech vlastních čísel se rovná součtu čtvercových vzdáleností bodů od jejich vícerozměrného průměru. PCA v podstatě otáčí sadu bodů kolem jejich průměru, aby se vyrovnal s hlavními součástmi. To přesune co největší část rozptylu (pomocí ortogonální transformace) do prvních několika dimenzí. Hodnoty ve zbývajících dimenzích proto bývají malé a mohou být vynechány s minimální ztrátou informací (viz níže ). PCA se často používá tímto způsobem ke snížení rozměrů . PCA má rozdíl v tom, že je optimální ortogonální transformací pro udržení podprostoru, který má největší „rozptyl“ (jak je definováno výše). Tato výhoda však přichází za cenu větších výpočetních požadavků, pokud je porovnáme například s diskrétní kosinovou transformací , a je- li to relevantní, s diskrétní kosinovou transformací , a zejména s DCT-II, která je jednoduše známá jako „DCT“. Nelineární techniky snižování rozměrů bývají výpočetně náročnější než PCA.

PCA je citlivý na škálování proměnných. Pokud máme jen dvě proměnné a mají stejný rozptyl vzorku a jsou pozitivně korelovány, pak PCA bude znamenat rotaci o 45 ° a „váhy“ (jsou to kosiny rotace) pro tyto dvě proměnné vzhledem k principu složka bude stejná. Pokud ale vynásobíme všechny hodnoty první proměnné 100, pak bude první hlavní složka téměř stejná jako tato proměnná, s malým příspěvkem od druhé proměnné, zatímco druhá složka bude téměř zarovnána s druhou původní proměnnou. To znamená, že kdykoli mají různé proměnné různé jednotky (jako je teplota a hmotnost), je PCA poněkud libovolnou analytickou metodou. (Různých výsledků by bylo dosaženo, kdybychom například použili Fahrenheita, nikoli Celsia.) Pearsonův původní článek měl název „Na přímkách a rovinách nejblíže odpovídajících systémům bodů v prostoru“ - „ve vesmíru“ znamená fyzický euklidovský prostor, kde takové obavy existují nevzniknout. Jedním ze způsobů, jak učinit PCA méně libovolnou, je použít proměnné škálované tak, aby měly jednotkový rozptyl, standardizací dat, a proto použít autokorelační matici namísto autovarianční matice jako základ pro PCA. Tím se však stlačí (nebo rozšíří) kolísání ve všech dimenzích prostoru signálu na variaci jednotky.

Průměrné odčítání (aka „střední centrování“) je nezbytné pro provádění klasické PCA, aby se zajistilo, že první hlavní komponenta popisuje směr maximální rozptylu. Pokud není provedeno průměrné odečtení, první hlavní složka může místo toho odpovídat více či méně průměru dat. Pro nalezení základu, který minimalizuje střední kvadratickou chybu aproximace dat, je zapotřebí průměr nula .

Vycentrování průměru není nutné, pokud provádíte analýzu hlavních komponent na korelační matici, protože data jsou již po výpočtu korelací vycentrována. Korelace jsou odvozeny z křížového součinu dvou standardních skóre (Z-skóre) nebo statistických momentů (odtud název: Pearson Product-Moment Correlation ). Viz také článek od Kromrey & Foster-Johnson (1998) na téma „Střední vycentrování v moderované regresi: Mnoho povyku pro nic“.

PCA je populární primární technika v rozpoznávání vzorů . Není však optimalizován pro tříditelnost. Bylo však použito ke kvantifikaci vzdálenosti mezi dvěma nebo více třídami výpočtem těžiště pro každou třídu v prostoru hlavních komponent a hlášením euklidovské vzdálenosti mezi těžištěm dvou nebo více tříd. Lineární diskriminační analýza je alternativou, která je optimalizována pro třídu oddělitelnosti.

Tabulka symbolů a zkratek

Symbol Význam Rozměry Indexy
datová matice, skládající se ze sady všech datových vektorů, jeden vektor na řádek
počet řádkových vektorů v datové sadě skalární
počet prvků v každém řádkovém vektoru (dimenzi) skalární
počet dimenzí v rozměrově zmenšeném podprostoru, skalární
vektor empirických průměrů , jeden průměr pro každý sloupec j datové matice
vektor empirických standardních odchylek , jedna standardní odchylka pro každý sloupec j datové matice
vektor všech 1
odchylky od průměru každého sloupce j datové matice
z-skóre , vypočítané pomocí průměru a standardní odchylky pro každý řádek m datové matice
kovarianční matice
korelační matice
matrice se skládá z množiny všech vektorů z C , jeden vlastní vektor v každém sloupci
diagonální matice se skládá z množiny všech čísel z C podél jeho hlavní úhlopříčky , a 0 pro všechny ostatní prvky
matice základních vektorů, jeden vektor na sloupec, kde každý základní vektor je jedním z vlastních vektorů C a kde vektory ve W jsou podmnožinou vektorů ve V
matrice se skládá z n řádek vektorů, kde každý vektor je průmět, odpovídající vektoru dat z matice X na základě základních vektorů obsažených ve sloupcích matice W .

Vlastnosti a omezení PCA

Vlastnosti

Některé vlastnosti PCA zahrnují:

Vlastnost 1 : Pro jakékoli celé čísloq, 1 ≤qpzvažte ortogonálnílineární transformaci
kde je vektor q -prvku a je ( q × p ) matice, a nechť je matice rozptylu - kovarianční pro . Potom je stopa , označená , maximalizována převzetím , kde se skládá z prvních q sloupců transpozice .
Vlastnost 2 : Zvažte znovuortonormální transformaci
s a definovány jako dříve. Potom je minimalizováno převzetím kde se skládá z posledních q sloupců .

Statistickým důsledkem této vlastnosti je, že několik posledních počítačů není jednoduše nestrukturovaných zbytků po odebrání důležitých počítačů. Protože tyto poslední počítače mají odchylky co nejmenší, jsou užitečné samy o sobě. Mohou pomoci odhalit netušené téměř konstantní lineární vztahy mezi prvky x a mohou být také užitečné při regresi , při výběru podmnožiny proměnných z x a při odlehlé detekci.

Vlastnost 3 : (Spektrální rozklad Σ )

Než se podíváme na jeho použití, nejprve se podíváme na diagonální prvky,

Potom možná hlavní statistickou implikací výsledku je, že nejenom že můžeme rozložit kombinované rozptyly všech prvků x na klesající příspěvky v důsledku každého PC, ale také můžeme rozložit celou kovarianční matici na příspěvky z každého PC. Ačkoli ne přísně klesá, prvky budou mít tendenci se zmenší, jak se zvyšuje, jak je nonincreasing ke zvýšení , zatímco prvky mají tendenci zůstat zhruba stejné velikosti, protože normalizace omezení: .

Omezení

Jak je uvedeno výše, výsledky PCA závisí na škálování proměnných. To lze vyléčit škálováním každé funkce podle její standardní odchylky, takže člověk skončí s bezrozměrnými funkcemi s jednotnou odchylkou.

Použitelnost PCA, jak je popsána výše, je omezena určitými (tichými) předpoklady učiněnými při jejím odvození. Zejména může PCA zachytit lineární korelace mezi prvky, ale selže, když je tento předpoklad porušen (viz obrázek 6a v odkazu). V některých případech mohou transformace souřadnic obnovit předpoklad linearity a poté lze použít PCA (viz PCA jádra ).

Dalším omezením je proces odstraňování průměrů před sestavením kovarianční matice pro PCA. V oblastech, jako je astronomie, jsou všechny signály nezáporné a proces odstraňování průměrů způsobí, že průměr některých astrofyzikálních expozic bude nulový, což následně vytvoří nefyzické negativní toky, a je třeba provést dopředné modelování, aby se obnovila skutečná velikost signálů. Jako alternativní metoda je záporná maticová faktorizace zaměřující se pouze na nezáporné prvky v matricích, což je vhodné pro astrofyzikální pozorování. Více viz Vztah mezi PCA a non-negativní maticovou faktorizací .

PCA je nevýhodou, pokud data nebyla před aplikací PCA standardizována. PCA transformuje původní data na data, která jsou relevantní pro hlavní složky těchto dat, což znamená, že nové datové proměnné nelze interpretovat stejným způsobem, jakým byly původní. Jsou to lineární interpretace původních proměnných. Pokud není PCA prováděna správně, existuje vysoká pravděpodobnost ztráty informací.

PCA spoléhá na lineární model. Pokud má datová sada v sobě skrytý nelineární vzorec, pak může PCA ve skutečnosti řídit analýzu v úplně opačném směru postupu. Výzkumníci z Kansaské státní univerzity zjistili, že chyba vzorkování v jejich experimentech ovlivnila předpojatost výsledků PCA. "Pokud je počet subjektů nebo bloků menší než 30 a/nebo se výzkumník zajímá o PC nad rámec prvního, může být lepší nejprve opravit sériovou korelaci, než se provede PCA". Vědci ze státu Kansas také zjistili, že PCA by mohlo být „vážně zkreslené, pokud není správně zpracována autokorelační struktura dat“.

PCA a teorie informací

Redukce rozměrů obecně ztrácí informace. Redukce rozměrů založená na PCA má tendenci minimalizovat tuto ztrátu informací za určitých modelů signálu a šumu.

Za předpokladu, že

to znamená, že datový vektor je součtem požadovaného signálu nesoucího informace a šumového signálu, který může ukázat, že PCA může být optimální z hlediska redukce rozměrů, z hlediska teoretické informace.

Linsker zejména ukázal, že pokud je gaussovský a je to gaussovský šum s kovarianční maticí úměrnou matici identity, PCA maximalizuje vzájemné informace mezi požadovanou informací a výstupem se sníženou dimenzí .

Pokud je šum stále gaussovský a má kovarianční matici úměrnou matici identity (to znamená, že složky vektoru jsou iid ), ale signál nesoucí informace je ne-gaussovský (což je běžný scénář), PCA alespoň minimalizuje horní hranici ztráty informací , která je definována jako

Optimálnost PCA je také zachována, pokud je šum iid a alespoň více gaussovských (z hlediska divergence Kullback – Leibler ) než signál nesoucí informace . Obecně platí, že i když výše uvedený model signálu platí, PCA ztrácí svoji informačně-teoretickou optimálnost, jakmile se šum stane závislým.

Výpočet PCA pomocí kovarianční metody

Následuje podrobný popis PCA pomocí kovarianční metody (viz také zde ) na rozdíl od korelační metody.

Cílem je přeměnit dané sady dat X kóty p na alternativní datové sady Y menšího rozměru L . Ekvivalentně hledáme matici Y , kde Y je Karhunen – Loèveova transformace (KLT) matice X :

Uspořádejte datovou sadu

Předpokládejme, že máte údaje, které obsahují sadu pozorování p proměnných, a chcete snížit data tak, aby každá poznámka může být popsán pouze L proměnných, L < p . Předpokládejme dále, že data jsou uspořádána jako sada n datových vektorů, přičemž každý představuje jediné seskupené pozorování p proměnných.

  • Zapište jako řádkové vektory, každý s p prvky.
  • Umístěte řádkové vektory do jediné matice X rozměrů n × p .
Vypočítejte empirický průměr
  • Najděte empirický průměr v každém sloupci j = 1, ...,  s .
  • Vypočtené průměrné hodnoty vložte do empirického středního vektoru u rozměrů p × 1.
Vypočítejte odchylky od průměru

Střední odčítání je nedílnou součástí řešení k nalezení základního základního komponentu, který minimalizuje střední kvadratickou chybu aproximace dat. Proto postupujeme tak, že data vycentrujeme následovně:

  • Odečte empirickou střední vektor z každého řádku datové matice X .
  • Skladujte střední odečtení dat v n x p matice B .
    kde h je sloupcový vektor n × 1 všech 1 s:

V některých aplikacích může být každá proměnná (sloupec B ) také škálována tak, aby měla rozptyl rovný 1 (viz Z-skóre ). Tento krok ovlivňuje vypočítané hlavní složky, ale činí je nezávislými na jednotkách použitých k měření různých proměnných.

Najděte kovarianční matici
  • Najděte empirickou kovarianční matici C p × p z matice B :
    kde je operátor
    transpozice konjugátu . Pokud B sestává výhradně z reálných čísel, což je případ mnoha aplikací, „konjugovaná transpozice“ je stejná jako pravidelná transpozice .
  • Důvodem použití n - 1 namísto n pro výpočet kovariance je Besselova korekce .
Najděte vlastní vektory a vlastní čísla kovarianční matice
  • Vypočtěte matice V z vektorů , které diagonalizes kovarianční matice C :
    kde D je diagonální matice z čísel z C . Tento krok bude obvykle zahrnovat použití počítačového algoritmu pro výpočet vlastních vektorů a vlastních čísel . Tyto algoritmy jsou snadno dostupné jako dílčí komponenty většiny systémů maticové algebry , jako jsou SAS , R , MATLAB , Mathematica , SciPy , IDL ( Interactive Data Language ) nebo GNU Octave a také OpenCV .
  • Matice D bude mít formu diagonální matice p × p , kde
    je j. vlastní číslo kovarianční matice C , a
  • Matice V , i rozměr p x p , obsahuje p sloupcové vektory, každý o délce P , které představují p vlastní vektory kovarianční matice C .
  • Vlastní čísla a vlastní vektory jsou uspořádány a spárovány. J th eigenvalue odpovídá j -tého eigenvector.
  • Matice V označuje matici pravých vlastních vektorů (na rozdíl od levých vlastních vektorů). Matice pravých vlastních vektorů obecně nemusí být (konjugovanou) transpozicí matice levých vlastních vektorů.
Změňte uspořádání vlastních vektorů a vlastních hodnot
  • Seřaďte sloupce matice vlastních vektorů V a matice D vlastních čísel D podle klesající vlastní hodnoty.
  • Ujistěte se, že udržujete správná párování mezi sloupci v každé matici.
Vypočítejte kumulativní energetický obsah pro každý vlastní vektor
  • Vlastní čísla představují distribuci energie zdrojových dat mezi každý z vlastních vektorů, kde vlastní vektory tvoří základ pro data. Kumulativní energetický obsah g pro j. Vlastní vektor je součet energetického obsahu napříč všemi vlastními hodnotami od 1 do j :
Vyberte podmnožinu vlastních vektorů jako základní vektory
  • Uložte první L sloupce V jako matici p × L W :
    kde
  • Použití vektoru g jako vodítko při výběru vhodné hodnoty L . Cílem je vybrat hodnotu L co nejmenší a zároveň dosáhnout přiměřeně vysoké hodnoty g na procentuálním základě. Můžete například chtít zvolit L tak, aby kumulativní energie g byla nad určitou prahovou hodnotou, například 90 procent. V tomto případě zvolte nejmenší hodnotu L tak, že
Promítněte data na nový základ
  • Promítnuté datové body jsou řádky matice

To znamená, že první sloupec je projekcí datových bodů na první hlavní komponentu, druhý sloupec je projekcí na druhou hlavní komponentu atd.

Odvození PCA pomocí kovarianční metody

Nechť X je d -rozměrný náhodný vektor vyjádřený jako sloupcový vektor. Bez ztráty obecnosti předpokládejme, že X má nulový průměr.

Chceme najít si d × d ortonormální transformační matice P tak, že PX má diagonální kovarianční matice (to znamená, PX je náhodný vektor se všemi jeho různých složek pairwise nekorelované).

Rychlý výpočet za předpokladu, že byly jednotkové výnosy:

Platí tedy jen tehdy, pokud by byly diagonalizovatelné pomocí .

To je velmi konstruktivní, protože cov ( X ) je zaručeně nezáporná určitá matice a je tedy zaručeno, že bude diagonalizovatelná nějakou unitární maticí.

Výpočet bez kovariancí

V praktických implementacích, zejména u vysokodimenzionálních dat (velké p ), se naivní metoda kovariance používá jen zřídka, protože není efektivní kvůli vysokým výpočetním a paměťovým nákladům na explicitní určení kovarianční matice. Přístup bez kovariancí se vyhýbá operacím np 2 explicitního výpočtu a ukládání kovarianční matice X T X , místo toho využívá jednu z metod bez matice , například na základě funkce vyhodnocující produkt X T (X r) za cenu operací 2 np .

Iterační výpočet

Jeden způsob, jak efektivně vypočítat první hlavní komponentu, je ukázán v následujícím pseudokódu pro datovou matici X s nulovým průměrem, aniž by kdy byla vypočítána její kovarianční matice.

r = a random vector of length p
r = r / norm(r)
do c times:
      s = 0 (a vector of length p)
      for each row x in X
            s = s + (xr) x
      λ = rTs // λ is the eigenvalue
      error = |λ ⋅ rs|
      r = s / norm(s)
      exit if error < tolerance
return λ, r

Tento algoritmus iterace výkonu jednoduše vypočítá vektor X T (X r) , normalizuje a umístí výsledek zpět do r . Vlastní číslo je aproximován r T (X T X) r , která je kvocient Rayleigh na jednotkový vektor r pro kovarianční matice X T X . Pokud je největší singulární hodnota dobře oddělena od další největší, vektor r se přiblíží k první hlavní složce X v počtu iterací c , což je vzhledem k p malé , za celkovou cenu 2 cnp . Energie iterace konvergence se může urychlit, aniž by znatelně obětování malé náklady na iteraci pomocí pokročilejších matrice bez metod , jako je například lanczos algoritmus nebo místně optimální blok Preconditioned Conjugate Gradient ( LOBPCG metoda).

Následné hlavní komponenty lze vypočítat po jedné pomocí deflace nebo současně jako blok. V předchozím přístupu nepřesnosti v již vypočítaných přibližných hlavních složkách aditivně ovlivňují přesnost následně vypočítaných hlavních složek, čímž se zvyšuje chyba při každém novém výpočtu. Tento druhý přístup ve způsobu výkonu bloku nahrazuje jeden-vektory r a to s blokových vektory, matice R a S . Každý sloupec R aproximuje jednu z hlavních hlavních komponent, zatímco všechny sloupce jsou iterovány současně. Hlavním výpočtem je hodnocení produktu X T (XR) . Implementováno například v LOBPCG , efektivní blokování eliminuje akumulaci chyb, umožňuje používat funkce produktu BLAS matice-matice na vysoké úrovni a obvykle vede k rychlejší konvergenci ve srovnání s technikou jednoho vektoru jeden po druhém.

Metoda NIPALS

Nelineární iterativní parciální nejmenší čtverce (NIPALS) je varianta klasické výkonové iterace s deflací matice odečtením implementovanou pro výpočet prvních několika komponent v analýze hlavní komponenty nebo parciálních nejmenších čtverců . U velmi vysoce dimenzionálních datových souborů, jako jsou ty generované ve vědách *omics (například genomika , metabolomika ), je obvykle nutné vypočítat pouze prvních několik počítačů. Tyto nelineární iterační partial least square (NIPALS) algoritmus aktualizace iterativní aproximace předních skóre a zatížení t 1 a R 1 T ze strany napájecího iteraci násobí na každé iteraci X na levé straně a na pravé straně, která je, výpočet kovarianční matice je zabráněno, stejně jako v provedení matrice bez výkonových iterací až X T X , vztaženo na funkci vyhodnocovacího produkt X T (X r) = ((X r) T X) T .

Deflace matice odečtením se provádí odečtením vnějšího produktu, t 1 r 1 T od X, přičemž se opustí deflovaná zbytková matice použitá pro výpočet následných úvodních PC. U velkých datových matic nebo matic, které mají vysoký stupeň kolinearity sloupců, trpí NIPALS ztrátou ortogonality počítačů kvůli chybám zaokrouhlování přesnosti stroje, které se hromadí v každé iteraci a deflaci matice odečtením. Gram-Schmidt algoritmus re-ortogonalizační se aplikuje na obě skóre a zatížení na každém kroku iterace k odstranění tohoto ztrátě ortogonality. Spoléhání se NIPALS na multiplikacích s jedním vektorem nemůže využívat výhody vysokoúrovňového BLAS a vede k pomalé konvergenci pro klastrované vedoucí singulární hodnoty-oba tyto nedostatky jsou vyřešeny sofistikovanějšími řešeními bloků bez matice, jako je například lokálně optimální blokový předkondicionovaný konjugovaný gradient ( LOBPCG ).

Online/sekvenční odhad

V situaci „online“ nebo „streamování“, kdy data přicházejí kus po kousku, místo aby byla uložena v jedné dávce, je užitečné provést odhad projekce PCA, který lze postupně aktualizovat. To lze provést efektivně, ale vyžaduje různé algoritmy.

PCA a kvalitativní proměnné

V PCA je běžné, že chceme jako doplňkové prvky zavést kvalitativní proměnné. Na rostlinách bylo například změřeno mnoho kvantitativních proměnných. U těchto rostlin jsou k dispozici některé kvalitativní proměnné, například druhy, ke kterým rostlina patří. Tato data byla podrobena PCA pro kvantitativní proměnné. Při analýze výsledků je přirozené propojit hlavní složky s kvalitativně proměnnými druhy . K tomu se vytvoří následující výsledky.

  • Identifikace různých druhů na faktoriálních rovinách, například pomocí různých barev.
  • Reprezentace na faktoriálních rovinách těžiště rostlin patřících ke stejnému druhu.
  • Pro každé těžiště a každou osu p-hodnota pro posouzení významu rozdílu mezi těžištěm a původem.

Tyto výsledky se nazývají zavedení kvalitativní proměnné jako doplňkového prvku . Tento postup je podrobně popsán v dokumentech Husson, Lê & Pagès 2009 a Pagès 2013. Jen málo softwaru nabízí tuto možnost „automaticky“. To je případ společnosti SPAD, která historicky po práci Ludovica Lebarta byla první, kdo tuto možnost navrhl, a balíčku R FactoMineR .

Aplikace

Kvantitativní finance

V kvantitativním financí , analýza hlavních komponent může být přímo aplikován na řízení rizika z úrokových derivátových portfolií. Obchodování s více swapovými nástroji, které jsou obvykle funkcí 30–500 jiných tržně kótovatelných swapových nástrojů, se snaží omezit na obvykle 3 nebo 4 hlavní složky, které představují cestu úrokových sazeb na makro bázi. Přeměna rizik na reprezentovaná jako na faktorová zatížení (nebo multiplikátory) poskytuje hodnocení a porozumění nad rámec toho, co je k dispozici, pro prosté kolektivní prohlížení rizik u jednotlivých 30–500 segmentů.

PCA byla rovněž použita na portfolia akcií podobným způsobem, a to jak na riziko portfolia, tak na výnosnost rizika . Jednou z aplikací je snížení rizika portfolia, kde jsou alokační strategie aplikovány na „hlavní portfolia“ místo na podkladové akcie. Druhým je zvýšení návratnosti portfolia pomocí hlavních komponent pro výběr akcií s potenciálem růstu.

Neurověda

V neurovědě se používá varianta analýzy hlavních složek k identifikaci specifických vlastností podnětu, které zvyšují pravděpodobnost neuronu generovat akční potenciál . Tato technika je známá jako špičková kovarianční analýza . V typické aplikaci experimentátor představuje proces bílého šumu jako podnět (obvykle buď jako senzorický vstup testovaného subjektu, nebo jako proud vstřikovaný přímo do neuronu) a zaznamenává sled akčních potenciálů neboli hrotů produkovaných neuron jako výsledek. Pravděpodobně některé rysy podnětu způsobí, že neuron bude pravděpodobně vyšší. Za účelem získání těchto funkcí, experimentátor vypočítá kovarianční matice na spike spouštěné souboru , množina všech podnětů (definovaný a diskretizováno nad konečným časovém okně, obvykle v řádu 100 ms), který bezprostředně předchází bodec. Vlastní vektory rozdílu mezi kovarianční maticí spouštěnou hrotem a kovarianční maticí předchozího souboru stimulů (soubor všech podnětů definovaných ve stejném časovém okně stejné délky) pak udávají směry v prostoru podnětů, podél nichž se rozptyl soubor spouštěný hrotem se nejvíce lišil od předchozího souboru stimulů. Konkrétně vlastní vektory s největšími pozitivními vlastními hodnotami odpovídají směrům, ve kterých rozptyl souboru spouštěného hroty vykazoval největší pozitivní změnu ve srovnání s rozptylem předchozího. Protože se jednalo o směry, ve kterých měnění podnětů vedlo ke špičce, jsou často dobrou aproximací hledaných relevantních podnětových znaků.

V neurovědě se PCA používá také k rozpoznání identity neuronu podle tvaru jeho akčního potenciálu. Třídění špiček je důležitý postup, protože techniky extracelulárního záznamu často zachycují signály z více než jednoho neuronu. Při třídění špiček nejprve použijeme PCA ke snížení dimenzionality prostoru průběhů vln akčního potenciálu a poté provedeme klastrovací analýzu, abychom spojili konkrétní akční potenciály s jednotlivými neurony.

PCA jako technika redukce dimenzí je zvláště vhodná k detekci koordinovaných aktivit velkých neuronálních souborů. Byl použit při určování kolektivních proměnných, tj. Parametrů řádu , během fázových přechodů v mozku.

Vztah k jiným metodám

Korespondenční analýza

Korespondenční analýza (CA) byla vyvinuta Jean-Paulem Benzécri a je koncepčně podobná PCA, ale upravuje měřítko dat (které by neměly být záporné), takže řádky a sloupce jsou zpracovávány ekvivalentně. Tradičně se používá pro kontingenční tabulky . CA rozkládá statistiku chí-kvadrát přidruženou k této tabulce na ortogonální faktory. Protože CA je popisná technika, lze ji použít na tabulky, pro které je statistika chí-kvadrát vhodná nebo ne. K dispozici je několik variant CA včetně analýzy detrendované korespondence a kanonické analýzy korespondence . Jedním zvláštním rozšířením je analýza vícenásobné korespondence , kterou lze považovat za protějšek analýzy hlavních komponent pro kategorická data.

Faktorová analýza

Analýza hlavních komponent vytváří proměnné, které jsou lineární kombinací původních proměnných. Nové proměnné mají tu vlastnost, že všechny proměnné jsou ortogonální. Transformace PCA může být užitečná jako krok před zpracováním před klastrováním. PCA je přístup zaměřený na rozptyl, který se snaží reprodukovat celkový rozptyl proměnných, ve kterém komponenty odrážejí běžný i jedinečný rozptyl proměnné. PCA je obecně upřednostňována pro účely redukce dat (tj. Překlad variabilního prostoru do optimálního faktorového prostoru), ale ne tehdy, je -li cílem detekovat latentní konstrukci nebo faktory.

Faktorová analýza je podobná analýze hlavních komponent, přičemž faktorová analýza také zahrnuje lineární kombinace proměnných. Na rozdíl od PCA je faktorová analýza přístupem zaměřeným na korelaci, který se snaží reprodukovat vzájemné korelace mezi proměnnými, ve kterém faktory „představují společný rozptyl proměnných, s výjimkou jedinečného rozptylu“. Pokud jde o korelační matici, to odpovídá zaměření na vysvětlení výrazů mimo úhlopříčku (tj. Sdílená rozptyl), zatímco PCA se zaměřuje na vysvětlení pojmů, které sedí na úhlopříčce. Jako vedlejší výsledek však při pokusu o reprodukci on-diagonálních výrazů má PCA také tendenci relativně dobře odpovídat off-diagonálním korelacím. Výsledky dané pomocí PCA a faktorové analýzy jsou ve většině situací velmi podobné, ale není tomu tak vždy a existují určité problémy, kde se výsledky výrazně liší. Faktorová analýza se obecně používá, když je účelem výzkumu detekce datové struktury (tj. Latentních konstruktů nebo faktorů) nebo kauzální modelování . Pokud je faktorový model nesprávně formulován nebo nejsou splněny předpoklady, pak faktorová analýza poskytne chybné výsledky.

K -znamená shlukování

Bylo tvrzeno, že uvolněné řešení shlukování k -prostředků , specifikované klastrovými indikátory, je dáno hlavními komponentami a podprostor PCA překlenutý hlavními směry je identický s podprostorem těžiště klastru. Nicméně, že PCA je užitečnou relaxací k -znamená shlukování nebylo novým výsledkem, a je snadné odhalit protipříklady k tvrzení, že podprostor těžiště klastru je překlenut hlavními směry.

Nezáporná maticová faktorizace

Grafy frakční zbytkové variance (FRV) pro PCA a NMF; pro PCA jsou teoretické hodnoty příspěvkem ze zbytkových vlastních čísel. Pro srovnání, křivky FRV pro PCA dosahují ploché plošiny, kde není efektivně zachycen žádný signál; zatímco křivky NMF FRV kontinuálně klesají, což naznačuje lepší schopnost zachytit signál. Křivky FRV pro NMF také konvergují k vyšším úrovním než PCA, což indikuje méně vhodnou vlastnost NMF.

Nezáporná maticová faktorizace (NMF) je metoda redukce rozměru, kde se používají pouze nezáporné prvky v matricích, což je tedy slibná metoda v astronomii v tom smyslu, že astrofyzikální signály nejsou záporné. Složky PCA jsou navzájem ortogonální, zatímco komponenty NMF jsou všechny nezáporné, a proto konstruují neortogonální základ.

V PCA je příspěvek každé složky hodnocen na základě velikosti odpovídající vlastní hodnoty, která je ekvivalentní frakční reziduální variaci (FRV) při analýze empirických dat. U NMF jsou jeho komponenty seřazeny pouze na základě empirických křivek FRV. Grafy reziduálních frakčních vlastních čísel, tj. Jako funkce počtu složek vzhledem k celkovému počtu komponent, pro PCA má rovinnou plošinu, kde nejsou zachycena žádná data k odstranění kvazistatického šumu, pak křivky rychle klesly jako indikace přesahující a zachycuje náhodný šum. Křivky FRV pro NMF se kontinuálně snižují, když jsou složky NMF konstruovány postupně , což indikuje kontinuální zachycování kvazistatického šumu; pak konvergují k vyšším úrovním než PCA, což naznačuje méně přiléhavou vlastnost NMF.

Ikonografie korelací

Je často obtížné interpretovat hlavní složky, pokud data obsahují mnoho proměnných různého původu nebo když jsou některé proměnné kvalitativní. To vede uživatele PCA k delikátní eliminaci několika proměnných. Pokud pozorování nebo proměnné mají nadměrný dopad na směr os, měly by být odstraněny a poté promítnuty jako doplňkové prvky. Kromě toho je nutné vyhnout se interpretaci blízkosti mezi body v blízkosti středu faktoriální roviny.

Ikonografie korelací - geochemie mořských aerosolů

Ikonografie korelací , naopak, což není projekce na systému os, nemá tyto nevýhody. Můžeme tedy ponechat všechny proměnné.

Princip diagramu spočívá v podtržení „pozoruhodných“ korelací korelační matice plnou čarou (pozitivní korelace) nebo tečkovanou čarou (negativní korelace).

Silná korelace není „pozoruhodná“, pokud není přímá, ale je způsobena účinkem třetí proměnné. Naopak slabé korelace mohou být „pozoruhodné“. Pokud například proměnná Y závisí na několika nezávislých proměnných, korelace Y s každou z nich jsou slabé a přesto „pozoruhodné“.

Zobecnění

Řídké PCA

Zvláštní nevýhodou PCA je, že hlavní komponenty jsou obvykle lineární kombinace všech vstupních proměnných. Řídká PCA tuto nevýhodu překonává nalezením lineárních kombinací, které obsahují jen několik vstupních proměnných. Rozšiřuje klasickou metodu analýzy hlavních komponent (PCA) pro snížení dimenzionality dat přidáním omezení sparsity na vstupní proměnné. Bylo navrženo několik přístupů, včetně

  • regresní rámec,
  • konvexní relaxační/semidefinitní programovací rámec,
  • zobecněný rámec metody výkonu
  • alternativní rámec maximalizace
  • chamtivé vyhledávání vpřed a vzad a přesné metody využívající techniky větví a vazeb,
  • Bayesovský formulační rámec.

Metodický a teoretický vývoj Sparse PCA a jeho aplikace ve vědeckých studiích byly nedávno přezkoumány v přehledové práci.

Nelineární PCA

Lineární PCA oproti nelineárních hlavních varietách pro vizualizaci z rakoviny prsu microarray dat: a) Konfigurace uzlů a 2D hlavní povrch v 3D PCA lineárního potrubí. Datová sada je zakřivená a nelze ji adekvátně mapovat na 2D hlavní rovině; b) Distribuce ve vnitřních 2D nelineárních hlavních souřadnicích povrchu (ELMap2D) spolu s odhadem hustoty bodů; c) Totéž jako b), ale pro lineární 2D PCA potrubí (PCA2D). „Bazální“ podtyp rakoviny prsu je pomocí ELMap2D zobrazen adekvátněji a některé funkce distribuce jsou ve srovnání s PCA2D lépe vyřešeny. Hlavní rozdělovače jsou vyráběny algoritmem elastických map . Data jsou k dispozici pro veřejnou soutěž. Software je k dispozici pro nekomerční nekomerční použití zdarma.

Většina moderních metod pro nelineární redukci rozměrů nachází své teoretické a algoritmické kořeny v PCA nebo K-means. Pearsonova původní myšlenka byla vzít přímku (nebo rovinu), která bude „nejvhodnější“ pro sadu datových bodů. Trevor Hastie rozšířil tento koncept tím, že navrhl hlavní křivky jako přirozené rozšíření pro geometrickou interpretaci PCA, které výslovně sestrojuje potrubí pro aproximaci dat následované promítnutím bodů na něj, jak je znázorněno na obr. Viz také algoritmus elastické mapy a základní geodetická analýza . Další populární generalizací je jádro PCA , které odpovídá PCA prováděnému v prostoru Hilbert reprodukujícího jádra spojeného s pozitivním určitým jádrem.

V multilineárním subprostorovém učení je PCA zobecněna na multilineární PCA (MPCA), která extrahuje funkce přímo z reprezentací tenzoru. MPCA je řešeno prováděním PCA v každém režimu tenzoru iterativně. MPCA byl aplikován na rozpoznávání tváří, rozpoznávání chůze atd. MPCA je dále rozšířen na nekorelované MPCA, non-negativní MPCA a robustní MPCA.

Analýzu hlavní složky N -way lze provádět s modely, jako je Tuckerův rozklad , PARAFAC , analýza více faktorů, souběžná analýza, STATIS a DISTATIS.

Robustní PCA

Zatímco PCA najde matematicky optimální metodu (jako při minimalizaci čtvercové chyby), je stále citlivá na odlehlé hodnoty v datech, které produkují velké chyby, čemuž se metoda v první řadě snaží vyhnout. Je proto běžnou praxí odstraňovat odlehlé hodnoty před výpočtem PCA. V některých kontextech však lze odlehlé hodnoty obtížně identifikovat. Například v algoritmech dolování dat, jako je korelační klastrování , není přiřazení bodů klastrům a odlehlým hodnotám předem známé. Nedávno navrhovaná generalizace PCA založená na váženém PCA zvyšuje robustnost přiřazením různých hmotností datovým objektům na základě jejich odhadované relevance.

Byly také navrženy varianty PCA odolné vůči extrémním hodnotám, založené na formulacích s normou L1 ( L1-PCA ).

Robustní analýza hlavních komponent (RPCA) prostřednictvím dekompozice v nízkořadých a řídkých matricích je modifikací PCA, která funguje dobře s ohledem na hrubě poškozená pozorování.

Podobné techniky

Analýza nezávislých komponent

Analýza nezávislých komponent (ICA) je zaměřena na podobné problémy jako analýza hlavních komponent, ale nachází spíše aditivně oddělitelné složky než postupné aproximace.

Analýza síťových komponent

Vzhledem k matici se ji pokusí rozložit na dvě matice, takže . Klíčovým rozdílem od technik, jako jsou PCA a ICA, je to, že některé položky jsou omezeny na 0. Zde se nazývá regulační vrstva. I když obecně takový rozklad může mít více řešení, dokazují, že pokud jsou splněny následující podmínky:

  1. má plnou sloupcovou hodnost
  2. Každý sloupec musí mít alespoň nuly, kde je počet sloupců (nebo alternativně počet řádků ). Toto kritérium je odůvodněno tím, že pokud je uzel odstraněn z regulační vrstvy společně se všemi výstupními uzly, které jsou k němu připojeny, musí být výsledek stále charakterizován maticí konektivity s úplným pořadím sloupců.
  3. musí mít celou řadu.

pak je rozklad jedinečný až do vynásobení skalárem.

Analýza komponent diskriminační analýzy

Diskriminační analýza hlavních složek (DAPC) je vícerozměrná metoda používaná k identifikaci a popisu klastrů geneticky příbuzných jedinců. Genetická variace je rozdělena do dvou složek: variace mezi skupinami a uvnitř skupin a maximalizuje první z nich. Lineární diskriminátory jsou lineární kombinace alel, které nejlépe oddělují shluky. Alely, které nejvíce přispívají k této diskriminaci, jsou tedy ty, které se mezi skupinami nejvíce výrazně liší. Příspěvky alel do skupin identifikovaných DAPC mohou umožnit identifikaci oblastí genomu, které vedou ke genetické divergenci mezi skupinami V DAPC se data nejprve transformují pomocí analýzy hlavních komponent (PCA) a následně se klastry identifikují pomocí diskriminační analýzy (DA).

DAPC lze realizovat na R pomocí balíčku Adegenet. (více informací: https://adegenet.r-forge.r-project.org/ )

Software/zdrojový kód

  • ALGLIB - knihovna C ++ a C#, která implementuje PCA a zkrácenou PCA
  • Analytica -Integrovaná funkce EigenDecomp počítá hlavní komponenty.
  • ELKI -zahrnuje PCA pro projekci, včetně robustních variant PCA, a také klastrovací algoritmy založené na PCA .
  • Gretl - analýzu hlavních komponent lze provést buď pomocí pcapříkazu, nebo pomocí princomp()funkce.
  • Julia - Podporuje PCA s pcafunkcí v balíčku MultivariateStats
  • KNIME - Software pro aranžování uzlů na bázi javy pro analýzu, v tomto uzly zvané PCA, PCA výpočet, PCA aplikace, PCA inverze to usnadňují.
  • Mathematica - Implementuje analýzu hlavních komponent pomocí příkazu PrincipalComponents pomocí kovarianční i korelační metody.
  • MathPHP - knihovna matematiky PHP s podporou PCA.
  • MATLAB Statistics Toolbox-Funkce princompa pca(R2012b) udávají hlavní komponenty, zatímco funkce pcaresudává zbytky a rekonstruovanou matici pro aproximaci PCA s nízkým hodnocením.
  • Matplotlib - knihovna Pythonu má v modulu .mlab balíček PCA.
  • mlpack - Poskytuje implementaci analýzy hlavních komponent v C ++ .
  • Knihovna NAG - Analýza hlavních komponent je implementována g03aarutinou (k dispozici v obou verzích knihovny Fortran).
  • NMath - proprietární numerická knihovna obsahující PCA pro .NET Framework .
  • GNU Octave - Bezplatné softwarové výpočetní prostředí většinou kompatibilní s MATLAB, funkce princompposkytuje hlavní komponentu.
  • OpenCV
  • Oracle Database 12c - implementováno DBMS_DATA_MINING.SVDS_SCORING_MODEzadáním hodnoty nastaveníSVDS_SCORING_PCA
  • Orange (software) - Integruje PCA do vizuálního programovacího prostředí. PCA zobrazuje scree plot (stupeň vysvětlené odchylky), kde si uživatel může interaktivně vybrat počet hlavních komponent.
  • Původ - Obsahuje PCA ve své verzi Pro.
  • Qlucore - komerční software pro analýzu vícerozměrných dat s okamžitou odpovědí pomocí PCA.
  • R - bezplatný statistický balíček, funkce princompa prcomplze jej použít pro analýzu hlavních komponent; prcomppoužívá rozklad v singulárních hodnotách, který obecně dává lepší numerickou přesnost. Některé balíčky, které implementují PCA v oblasti výzkumu, zahrnují, ale nejsou omezeny na: ade4, vegan, ExPosition, dimRed, a FactoMineR.
  • SAS - proprietární software; například viz
  • Scikit-learn -knihovna Pythonu pro strojové učení, která obsahuje PCA, pravděpodobnostní PCA, jádro PCA, řídké PCA a další techniky v dekompozičním modulu.
  • Weka - knihovna Java pro strojové učení, která obsahuje moduly pro výpočet hlavních komponent.

Viz také

Reference

Další čtení

externí odkazy