MA012 Statistika II 11. Analýza hlavních komponent (PCA) Ondřej Pokora (pokora@math.muni.cz) Ustav matematiky a statistiky, Přírodovědecká fakulta, Masarykova univerzita, Brno (podzim 2015) Ondřej Pokora, PřF MU (2015) MA012 Statistika 11-11. Analýza hlavních komponent (PCA) 1/20 Analýza hlavních komponent Analýza hlavních komponent (Principal component analysis, PCA) je statistická metoda pro snížení dimenze (počtu) proměnných, které bývají často korelované. Připomeňme např. velmi častý problém multikolinearity ve vícenásobné lineární regresi. PCA využívá ortogonalizace báze vektorového prostoru původních náhodných veličin. Nové bázové náhodné veličiny, nazývané hlavní komponenty, jsou nekorelované. Současně je volba nové báze optimální v tom, že pro vysvětlení zadaného podíly celkové variability dat stačí uvažovat nižší počet hlavních komponent, než byl počet (dimenze) původních náhodných veličin. Jednotlivé hlavní komponenty jsou postupně hledány tak, aby vysvětlily co největší část celkové variability dat pomocí co nejžšího počtu nových náhodnách veličin. Nevýhou PCA může být nemožnost interpretace hlavních komponent, např. z důvodu nekompatibility použitých jednotek. V praxi toto často řešíme uvažováním bezrozměrných veličin. MA012 Statistika 11-11. Analýza hlavních komponent (PCA) 2/20 m Pozorování ve standardní bázi Data n pozorování A: veličin máme v matici X rozměru n x k, n > k. Můžeme to chápat jako n pozorování v fc-rozměrném prostoru. Uvažujeme-li standardní bázi jednotkových vektorů v Rfc, jednotlivé řádky matice X jsou souřadnice jednotlivých pozorování v této standardní bázi, která je ortonormální. Předpokládejme nyní, že máme obecnou ortonormální bázi i, /=j 0, iŕj Vytvořme matici U tak, že tyto bázové vektory umístíme do sloupců. Taková matice Uje potom ortogonální, tzn. platí UrU = Ik, U 1 = u'. Pro každé xGEfc pak platí x = a\U\ + • • • + flfcMfc = Ua, a = M1 x, kde a = (a\,... ,%)7 jsou souřadnice x v bázi sloupců matice U. Ondřej Pokora, PřF MU (2015) MA012 Statistika II - 11. Analýza hlavních komponent (PCA) 3/20 Volba optimální báze Bázi u\,...chceme zvolit tak, aby pro xGRfc platilo kde x* je lineární kombinací pouze prvních r < k bázových vektorů, x* = a\U\ + • • • + arur = lí*a*, s redukovanou maticí U* tvořenou prvními r sloupci matice U. Máme tedy x* = lí*a* = Iľ^lí*)'*, neboť a* = (II*)'*. p Aproximace x* je tedy projekcím do podprostoru generovaného sloupci redukované matice li*, a to pomocí projekční matice P. Dopustíme se přitom chyby £ = x — x = ar+iur+i + • • • + d^Ufo. Ondřej Pokora, PřF MU (2015) MA012 Statistika II - 11. Analýza hlavních komponent (PCA) 4/20 Různé volby bází (a) Original Basis (b) Optimal Basis s/20 m Analýza hlavních komponent Od začátku: chceme nalézt první vektor u optimální ortonormální báze, pomocí něhož dokážeme x aproximovat pomocí x* nejlépe z pohledu vysvětleného rozptylu. Dále předpokládáme, že data v matici X jsou centrována; v opačném případě je centrujeme, tzn. od každého sloupce odečteme jeho průměr. Projekce z-tého pozorování x/, do směru bázového vektoru u je tvaru Xj - CljU f X - i/* * * / lít m Rozptyl projektovaných pozorování x\, ...,*:* je rovný j n \ n 1 n au = - E(a; - n )2 = - YLali = - E(^)2 = 1=1 1=1 i=i 1 n f 1 n \ ni=i \ni=i / kde E je kovarianční matice (k x k) centrovaných veličin. Ondřej Pokora, PřF MU (2015) MA012 Statistika II - 11. Analýza hlavních komponent (PCA) 6/20 Volba optimálního směru Obrázky: Zaki & Meira: Data mining and analysis, 2014. Ondřej Pokora, PřF MU (2015) MA012 Statistika II - 11. Analýza hlavních komponent (PCA) 7/20 a Analýza hlavních komponent Optimální vektor u, ufu = 1, hledáme tak, abychom maximalizovali rozptyl cŕ* pozorování projektovaných do směru u. Řešíme tedy úlohu na vázaný extrém cr^ = uHu —>► max, za podmínky u u = 1. Použijeme Lagrangeovu metodu. Lagrangeova funkce L s Lagrangeovým multiplikátorem A je L (u) ufĽu — k(u'u — 1), pro niž nalezneme pomocí stacionárního bodu = 0 řešení zadané vztahem Ľu ku. To znamená, že A je vlastní číslo kovarianční matice E a i/ je jemu odpovídající vlastní vektor. Přitom hledaný rozptyl je rovný cr\ = A. Má-li být cr^ maximální, je třeba vzít za A největší vlastní číslo kovariační matice E a za u jemu odpovídající vlastní vektor, který označujeme jako první hlavní komponentu u\. Ondřej Pokora, PřF MU (2015) MA012 Statistika II - 11. Analýza hlavních komponent (PCA) 8/20 Analýza hlavních komponent Na uvedeném principu je založena metoda hlavních komponent. Postupně hledáme vektory ortonormální báze, které s co nejmenším dimenzí generovaného podprostoru vysvětlují co nejvíce variability dat. Ve druhém kroku tedy hledáme druhou hlavní komponentu u2l u'2U2 1, u[u2 0, tak, aby se maximalizovala variabilita v datech projektovaných do podprostoru generovaného vektory u\ a u2- MA012 Statistika 11-11. Analýza hlavních komponent (PCA) 9/20 m Analýza hlavních komponent Kovarianční matice E datové matice X rozměru n x k je symetrická a pozitivně semidefinitní čtvercová matice řádu k, tzn. její vlastní čísla jsou vždy nezáporná, a počet kladných vlastních čísel odpovídá hodnosti matice L. Uspořádejme tato vlastní čísla do nerostoucí posloupnosti Ai > • • • > Afc a označme k nim příslušející vlastní vektory u\,...,Uk. Věta 1 Platí L = ITAlť, kde sloupce matice U jsou vlastní vektory a A = diag(Ai,..., A^). Celková variabilita dat v matici X je rovna EA; = TrL. MA012 Statistika 11-11. Analýza hlavních komponent (PCA) 10/20 Variabilita v různých bázích Algoritmus PCA I Pro datovou matici Y typu n x k spočítame výběrové průměry pro každou veličinu (tj. sloupcové průměry) j n (\ n 1 n 1=1 \ i=i i=i Vytvoříme matici cetrovaných veličin rozměru n x k, x = (i,...,i)y, složenou z n řádků Označíme E kovariační matici matice X, 1 n L COVX = - XyX-. i=i MA012 Statistika 11-11. Analýza hlavních komponent (PCA) Algoritmus PC A II Spočítáme vlastní čísla kovarianční matice E, seřadíme je do nerostoucí posloupnosti a odpovídající vlastní vektory uspořádáme (ve stejném pořadí) do sloupců matice U, Ai > • • • > Afc, U = [u\ | • • • | Mfc). Nalezneme vhodnou dimenzi r < k, např. s podmínkou na minimální hodnotu podílu rozptylu 55=1A/ pro stanovenou hodnotu oc G (0; 1), často se uvádí oc = 0,8. Vytvoříme matici redukované báze hlavních komponent Ur tak, že z matice li vezmeme pouze prvních r sloupců. Datová matice v bázi hlavních komponent A je rozměru n x r a je tvořena řádky a-, kde MA012 Statistika 11-11. Analýza hlavních komponent (PCA) Příklad V R je klasická PCA naprogramována ve funkci prcomp, která pro hledání vlastních čísel a vektorů využívá klasický spektrální rozklad kovarianční matice L = li A li7. V praxi se však obvykle používá tzv. singular value decomposition (SVD) datové matice X = LA1?7, která je výpočetně výhodnější. V R tento postup využívá funkce princomp. Pro grafické reprezetace výsledků PCA pak používáme mj. screeplot a biplot. Příklad 1 V souboru ukazatele, csv je 16 vybraných ekonomických a finančních ukazatelů 29 evropských zemí z roku 2007, které publikoval EUROSTAT v roce 2009. Proveďte analýzu hlavních komponent a identifikujte hlavní komponenty ukazatelů. MA012 Statistika 11-11. Analýza hlavních komponent (PCA) 14/20 (VDd) juauodiuc»! ipiu/\e|i| ez^euy XX - II e^is^eis ČXOVI/M (SIOZ) íl l/M did 'BJO>|Od fajpuo UJej§0|3JO>] •xxxxxxxxxxxxxxk x' x IXIXIXIX M x xx x# xix x x x xxxixixixxixixix ix x x x xx x x xxxx ixwxixx xxx «x XXXXXffli xH»fe(»xx x □nn x x x XX □n □n x^xx xx xxxx xh« x xx »Kx xx xx#x xxH xi _□ □OK x xx 90!JS9AU| 90B|JU| poHPOJd LUBZPOJd Hda 9UBQ Mnia 90UB||a IUJBJSO 90UBUIJ poipqo !AJ0!Uq9ABJc IsÁLunjd !AJS|9p9W9; düHlsny dQH 00 CD Ö Ö C\J Ö CM Ö 90!JS9AU| 90B|JU| poHPOJd LUBZPOJd Hda 9uea Mnia 90UB||a IUJBJSO 90UBUIJ poipqo !AJ0!Uq9ABJS IsÁLunjd !AJS|9p9LU9Z düHlsny dQH xxxxxxxxxxxxxx»# xxxxxxxxxxxxxx' XXXXXXXX0XX xxxxxxxxxxx xxxxxxxx^x x xxxxxxxx ••xx x«xx xx xxxx xi»ixixixixxixixwxwmxxx xIx»ImI»I«x (□□□□□□lJSulH □[xxxxx] □[xxxxx] □[xxxxxx1 xxxxxxx xxxxxxx xxxxxxx xxxxxxx x*xxxxx xxxxxxx •••Mfe•Kgxxx ^xxxxxxxxxxx©xxx EXIIIIIII3 □ Q_ Q I Q- > ~ ■£ CO TJ =5 CD oc E CD CO E o .9 -Ľ CD O co o B sz CO CO co CD o co ■r O m CD co Q I Q_ Q E co N "O o "O 0 1 "O o CD O co CD O CO CD > C u CD O _c "u 1_ 03 CL E bb _o (L) o Scree plot CD -i LO - CO "st — CD O 03 C\J - o —1 -I— CO LO Cl Q. Q. CL Q. E E E E E o o o o o O O O O O Tzv. sutovy graf _II_II_IIZZI 1=11=] = CON-OOCDOt-CVJCO EEEEQ-Q-g-Q-ooooEEEE OOOQOOOO O O O O MA012 Statistika 11-11. Analyza hlavnfch komponent (PCA) o o _Q cd CÖ > CT) O 00 O O CD CD LO o Graf podílu vysvětlené variability Ondřej Pokora, PřF MU (2015) MA012 Statistika 11-11. Analýza hlavních komponent (PCA) 18/20 CD O o C\J o o o C\J o I -4 _L_ -2 0 j_ 2 j_ 4 _I_ Norsko 6 i Průmysl Slovensko Česko stHDP Bilance □HOB ^ ProdHod am ita Kypr Fran le mm™ Madarsko -r h CD -0.2 0.0 0.2 0.4 0.6 Tzv. biplot Ondřej Pokora, PřF MU (2015) Comp.1 MA012 Statistika 11-11. Analýza hlavních komponent (PCA) 19/20 cm H o H I I -0.5 J_ 0.0 _I_ Průmysl 0.5 _L_ Norsko RustHÖlpvensko U6SK0 Stavebni( stPBf Bilance Jebtedels bulharsko Madarsko -4 -2 T 0 T 2 4 Tzv. biplot (v jiné škále) Ondřej Pokora, PřF MU (2015) Comp.1 MA012 Statistika 11-11. Analýza hlavních komponent (PCA)