sloupce
Analýza hlavních komponent - PCA
řadky
Jiří Militky Analýza experimentálních dat IV Červeně označené slide jsou jen pro doplnění informací a nezkouší se.
Metoda PCA
Cílem analýzy hlavních komponent je především zjednodušení popisu skupiny vzájemně lineárně závislých, tedy korelovaných znaků. Techniku lze popsat jako metodu lineární transformace původních znaků na nové, nekorelované proměnné, nazvané hlavní komponenty. Každá hlavní komponenta představuje lineární kombinací původních znaků. Základní charakteristikou každé hlavní komponenty je její míra variability tj. rozptyl. Hlavní komponenty jsou seřazeny dle důležitosti tj. dle klesajícího rozptylu, od největšího k nejmenšímu
1
2
Využití PCA
Redukce počtu znaků bez velké ztráty informace, Testy vícerozměrné normality. Průzkumová analýza vícerozměrných dat. Snížení rozměrnosti pro konstrukci ukazatelů jako lineárních kombinací původních znaků. Míra jakosti - první hlavní komponenta (pokud původní znaky charakterizují její složky). Zobrazení vícerozměrných dat - projekce do roviny Jsou zachovány vzdálenosti a úhly mezi jednotlivými objekty. Regrese s využitím hlavních komponent umožňuje odstranění problémů s multikolinearitou a přebytečným počtem vysvětlujících proměnných.
Podstata PCA Základním cílem PCA je transformace původních znaků xi, j = 1, ..., m, do menšího počtu latentních proměnných yj (hlavních komponent). Tyto latentní proměnné mají vhodnější vlastnosti: je jich výrazně méně, vystihují téměř celou proměnlivost původních znaků jsou vzájemně nekorelované. Jde o lineární kombinace původních proměnných: první hlavní komponenta y1 popisuje největší část rozptylu původních dat, druhá hlavní komponenta y2 popisuje největší část rozptylu neobsaženého v y1 . Je kolmá na první třetí hlavní komponenta y3 popisuje největší část rozptylu neobsaženého v y1 a y2. Je kolmá na první i druhou hlavní komponentu atd. ……
Zadání PCA var. 3
var. 2
var. 1
Centrování var. 3
var. 3 průměr
var. 2
var. 1
var. 2
var. 1
Elementární úvod I Jak nahradit n-tici m-rozměrných dat {x1,.., xn} jedním vektorem x0 ? Kritérium pro x0 může být kvadratická odchylka
J= 0 (x0 )
n
∑ || x k =1
− x k || . 2
0
Z nulity první derivace dle x0 vyjde jako optimální vektor průměrů
1 n x0 = m = ∑ xk n k=1 To je „nula-rozměrná“ náhrada dat. Jedno- rozměrná náhrada dat je projekce dat na přímku procházející bodem průměru dat a vystihující maximum variability
Elementární úvod II Označme jednotkový vektor ve směru této přímky jako e. Rovnice přímky je pak
x = m + ae
Pro nalezení optimálních
ak
J1 (a1 ,..., an , e= )
je třeba minimalizovat funkci n
2 m a e x || + − || ∑ k k k =1
Z podmínky ∂ J1 / ∂ ak = ak 0 je =
e (x k − m) T
Řešení metodou nejmenších čtverců je: projekce the vektoru xk na přímku ve směru e, která prochází bodem „průměru dat“. dimense přímky je rovna 1
První PC var. 3 PC1 (t1p’1)
var. 2
ti1 (i)
var. 1
Skóre hodnota (ti1) pro bod (i) je vzdálenost projekce tohoto bodu na první hlavní komponentu od počátku. PC1 je první latentní proměnná v novém souřadnicovém systému.
Elementární úvod II Po dosazení za ak do J1 n
n
2 || || 2 ( ) || || a − a − + − e e x m x m ∑ k ∑ k k ∑ k
= J1 (e) =
n
2
2
T
k 1= k 1
n
n
k 1 =
n
n
n
2 a − a + − = − − + − x m e x m x m 2 || || [ ( )] || || ∑ k ∑ k ∑ k ∑ k ∑ k 2
2
2
= k 1 = k 1= k 1
= k 1
n
2
T
= k 1
n
= −∑ e (x k − m)(x k − m) e + ∑ ||x k − m ||2 T
T
k 1= k 1 n
= −e Se + ∑ ||x k − m ||
2
T
k =1
n
S = ∑ (x k − m)(x k − m)T . k =1
Rozptylová matice S je (n-1) násobek výběrové kovarianční matice
Elementární úvod III T
Vektor e minimalizující J1 tedy maximalizuje e Se s omezením || e || = 1. Nechť λ je Lagrangeův multiplikátor
e Se − λe e ∂u / ∂= e 2Se − 2λe
Differenciace = u
T
T
podle e:
Z nulity této derivace vyjde, že e je vlastní vektor matice S , protože
Se = λ e
eT Se = λ
dimense roviny je rovna 2
Druhá PC var. 3 PC1
PC2
ti1
ti2 (i)
Druhá hlavní komponenta (PC2) je kolmá na první hlavní komponentu
Skóre hodnota (ti2) pro bod (i) je vzdálenost projekce tohoto var. 2 bodu na druhou hlavní komponentu od počátku.
var. 1
Zátěže var. 2
Zátěže (p) vyjadřují vliv původních znaků na hlavní komponenty PC (podobnost směrů). Jsou vyjádřeny jako kosíny úhlů mezi původními znaky a jednotlivými hlavními komponentami. PC1
θ2 (i)
ti1
θ1
p = cos θ ∑ pi2 = 1 var. 1
Elementární úvod IV
PC1
Var X2
PC2
Data
Rozšíření na d’ rozměrnou projekci: d'
x= m + ∑ a ei i
i =1
d ≤m
kde
i J d ' =∑ m + ∑ ak ei − x k = k 1= i 1 n
Kriteriální podmínka:
Var X1
'
d'
2
je minimalizována, pokud jsou vektory e1 , e 2 ,..., ed' vlastními vektory matice S odpovídající maximálním vlastním číslům. i T a = e Hlavní komponenty jsou k i (x k - m) Transformace do hlavních komponent se nazývá také Karhunen-Loeveova nebo Hotellingova transformace
Chyba aproximace Pokud je d ' < m vzniká zanedbáním nevýznamných členů chyba: n
Jd' = ∑
2
m
∑
k =1 =i d ' +1
=
m
∑
=i d ' +1
=
aki ei
n
eTi ∑ (x k − m)(x k − m)T ei k =1
m
m
= e Se ∑ ∑λ
T i i ' i= d +1
i i= d +1 '
Jde o součet nejmenších vlastních čísel
PCA jako maximalizační úloha Hledání směrů “maximální proměnlivosti”:
Projekce dat do vhodných směrů
Pu ( xi − x ) =
(( x − x ) u )u T
i
První hlavní komponenta I
Lineární kombinace vstupních znaků, která má největší rozptyl m
y1 =
T = ∑ v1j xCj v1 x C j=1
kde sloupcový vektor původních znaků xC obsahuje původní znaky v odchylkách od středních hodnot (centrované hodnoty).
x C = ( x1 - µ1 , x 2 - µ 2 , ... , x m - µ m ) T 1
Rozptyl:
T 1
T 1
T
T
D (y1) = D ( v x C) = E [( v x C) ( v x C) ] = T T E ( v x C x C ) v1 = v1 C v1 T 1
Vektor koeficientů je v1 a C je kovarianční matice.
První hlavní komponenta II Požaduje se maximalizace rozptylu D(y1) při omezení na velikosti v1. tj. v1T v1 = 1. Maximalizuje se funkce m
T T = C ( G1 v1 v1 l1 v1 v1 - 1) =
m
∑∑v i=1
m
1i
Cij v1j - l1 ( ∑v1i2 - 1)
j=1
i=1
kde l1 je Lagrangeův multiplikátor. Pro vektor v1 maximalizující G1 pak platí podmínka ∂ G1
∂v1
= 2 C v1 - 2 l1v1 = [C - l1E ] v1 = 0
Protože v1 je nenulové, má platit, že (C - l1 E) musí být singulární, což znamená, že det (C - l v ) = 0 1 1
Tento determinant je obecně vzhledem k proměnné l1 polynomem m-tého stupně s kořeny λ1 = > λ2 => ... λm.
První hlavní komponenta III Po úpravě vyjde:
[C - l1E ] v1 = 0,
v1T [C - l1E ] v1 = 0
tedy v1TCv1 = l1v1T v1 = l1 = D(y1 ) Rozptyl první hlavní komponenty je tedy roven l1 a bude maximální při volbě l1 = λ1, tj. největšímu kořenu polynomu
det (C - l1v1 ) = 0 Vektor v1 je pak normalizované řešení pro
T 1
v v1 = 1
Ze spektrálního rozkladu matice C ve tvaru v C v1 = λ1 plyne, že v1 je vlastní vektor, odpovídající vlastnímu číslu λ1. T 1
Obecně platí, že vlastní vektor y odpovídající největšímu vlastnímu číslu pozitivně semidefinitní symetrické matice A je řešením optimalizační úlohy
max y T Ay při y = 1
První PC
PC1= y1 objasňuje maximum variability původních dat
Celkový průměr
Druhá hlavní komponenta m
y2 =
∑ v2j x Cj = v 2 xC T
Druhá hlavní komponenta j =1 je lineární kombinace vstupních znaků, kolmá na první hlavní T komponentu: tj. v1 v 2 = 0 T D( ) = y V Maximalizuje rozptyl 2 C V2 2 T T = 1 a v1 v 2 = 0 za těchto omezujících podmínek v 2 v 2 Funkce, která se má maximalizovat má tvar T T T = C l ( 1) 2l G2 v2 v2 2 v2 v2 c1 v 2 C v1
Poslední člen vznikl z podmínky ortogonality hlavních komponent l2 a 2lC1 jsou Lagrangeovy multiplikátory. Derivací podle V2 pak rezultuje po úpravách det(C - l2 E) = 0. Tedy l2 = λ2 je druhé nejvyšší vlastní číslo a v2 je odpovídající vlastní vektor.
Druhá PC
PC2 = y2 obsahuje maximum variability nezahrnuté v y1. y1 je ortogonální k y2
Celkový průměr
Obecná hlavní V je (m x m) ortogonální matice komponenta Λ je (m xm) diagonální matice D(y j) = v Tj C v j
V j-tém kroku je třeba maximalizovat rozptyl T det(C při omezující podmínce v j v j = 1 T a celkem j-1 podmínkách ortogonality vi v j = 0
l j E) v j = 0
E( v T jx c x cT v i ) = λ i v Tj v i = 0 pro i = 1, ... , j - 1 Podobně jako u předchozích hlavních komponent je lj = λj (roven nejvyššímu zbylému kořenu) a vj je odpovídající vlastní vektor. Řešení s využitím metody Lagrangeových multiplikátorů vede ke zjištění, že vektor vj je vlastní vektor kovarianční matice C, kterému odpovídá j-té největší vlastní číslo λj. Využívá se tedy známého rozkladu C = VΛ VT
y.. PC , V.. faktorové zátěže
Variabilita
y = V xc
Rozptyl D(yj) = λj je roven j-tému vlastnímu číslu. Celkový rozptyl m všech hlavních komponent je roven
tr C =
∑λ
j
i=1
kde tr (.) označuje stopu matice. Podíl variability, objasněný j-tou hlavní komponentou yj je pak λj Pj= m ∑λj i=1
Kovariance mezi j-tou hlavní komponentou a vektorem znaků xC jsou rovny
cov (x C,y j ) = cov (x C, v Tj x C ) = E (xC x TC ) v j = C v j = λ j v j
Korelace Pro korelační koeficient r(xC, yj) platí, že
r(x C , y j ) =
λ j v ji σxi
λj
=
λ j v ji σxi
Je zřejmé, že pokud se místo centrovaných znaků xC použijí standardizované znaky nazývané také normované či normalizované znaky a označované x1 - µ x 2 - µ xm - µ 1 2 , ,... , xN = σx2 σ x1
vyjde korelační koeficient roven
cov (x N, y j ) = r(x N , y j ) = v*ji
m
σxm
λ
* j
Vji* a λj* odpovídají rozkladu korelační matice R. Náhrada kovarianční matice C maticí korelační R zjednodušuje interpretaci a odstraňuje závislost na jednotkách měření.
Varianty PCA
PCA a vybočující body
Vztahy mezi dvěma proměnnými lineární regrese
hlavní komponenty
nelineární regrese
hlavní křivky
Postup PCA pro ordinaci 1 2 3 4 5
C1 C2 C3 C4 C5 C6
Ordinace: vhodná 2D projekce vícerozměrných dat Podobnosti Korelace korelace
6×6
2
Průmět dat do nových os (vlastní vektory)
Výpočet vlastních vektorů s největšími vlastními čísly: •Lineární kombinace •Ortogonalita
Dva znaky I
Dva znaky x1 a x2 s kovarianční maticí C a korelační maticí R
σ 12 C12 1 r C= R = C 2 r 1 12 σ 2 PCA pro korelační maticí Podmínka pro výpočet vlastních čísel
1 - l det (R - l E ) = det r 2
Po úpravě (1 - l)2 - r = 0. 2
2
l - 2l + 1- r = 0
r =0 1- l
Dva znaky II
Řešení kvadratické rovnice
[ l = λ = 0.5 [ 2 -
2 2 * 1 l + r =0 l
2
] )]= 1 − r
l1 = λ 1 = 0.5 2 + 4 - 4 ( 1 - r ) = 1 + r 2
4 - 4 (1 - r Vlastní vektory jsou řešením homogenní soustavy rovnic 2
2
2
(R - λ i E ) v i = 0 , i = 1, 2
Dva znaky III
Normalizovaný vlastní vektor v1* má tvar
r 2 + ( - 1) λ1 2 r = * = v1 λ1 - 1 2 2 r + ( 1 ) λ 1 2 -1/2
Normalizovaný vlastní vektor v2* má tvar
1 -r 2 2 2 + (1 r 1 ) r * v2 = 2 -1/2 2 r + (1 - r - 1) (1 - r - 1) 2 1 2
=
1 2 1 2
Dva znaky IV
První PC
1 (z 1 + z 2 ) y1 = 2 z1 = ( x1 - E( x1 )) / D( x1 )
Druhá PC
1 (z 2 - z 1 ) y2 = 2 z2 = ( x2 - E( x2 )) / D( x2 )
Aplikace normalizovaných znaků vede k nezávislosti PC na korelaci v původních datech. Dochází k pootočení systému souřadnic na úhly 45o. cos α = 1/ 2
Definice skórů
Prvky vlastních vektorů představují směrové kosíny nového souřadnicového systému hlavních komponent vzhledem k souřadnicovému systému původních znaků. Pro rozlišení mezi transformovanými znaky a transformovanými objekty se používá označení hlavní komponenty pro transformované znaky a skóry hlavních komponent (komponentní skóry) pro transformované objekty. Jsou-li k dispozici hodnoty m znaků pro nějaký i-tý objekt xi = (xi1, ..., xim)T a známe-li vektor středních hodnot μ = (μ1, ..., μm)T a vlastní vektory vj, j = 1, ..., m, je možné určit složky komponentních skórů objektů ti = (t1i, ..., tmi)T ze vztahu
t i = v (xi - μ ) T i
Výpočet skórů I Pro dvojrozměrný případ x1 a x2 využijme normovaných znaků z1 a z2 pro výpočet komponentních skórů pro objekty O1 = (1, 1)T, O2 = (0, 1)T, O3 = (1, 0)T, O4 = (0.5, 1)T.
1 -1 a μ = 0 jsou komponentní skóry V = ( v1 v 2) = z 1 1
1 1 1 t1= V O1= -1 1 2 T
1 1 1 t2 = 2 -1 1
1 = 1
2 = 1 1 1 1 = 1/ 2 t3 -1 1 0 2 0 -1/ 2
0 1/ 2 3/(2 2) 1 1 0.5 1 = = t4 = 1 2 -1 1 1 1/(2 2) 1/ 2
Výpočet skórů II
t2 t4
0.7
t1
0.7 t3
Komponentními skóry objektů se také často označují hlavní osy. V 1 1 ( z 2 - z1 ) ( z1 + z 2 ) , y 2 = y1 = případě n objektů tvoří 2 2 a jednotlivé komponentní za z1 a z2 souřadnic objektů O1, ..., O4. skóry t řádky matice i Například pro objekt O4 je T Ke stejným výsledkům vede dosazení do vztahů pro hlavní komponenty
1 3 (0.5 + 1) = y14 = t14 = 2 2 2
1 1 (1 - 0.5) = y 24 = t 24 = 2 2 2
t1 T = ..... tT n
matice komponentních skórů
Populační PCA
Vektor znaků xc = (x1 - μ1, ..., xm - μm)T je tvořen m-ticí náhodných proměnných s vícerozměrným normálním rozdělením N(0, C). Pro definici vektoru populačních hlavních komponent lze použít obecné definice y= T
W xC
Váhová matice W rozměru (m xm) souvisí s různými normalizačními podmínkami, týkajícími se rozptylu hlavních komponent a je ve tvaru
W=V M V (m x m) obsahuje ve sloupcích vlastní vektory matice C a M je diagonální matice řádu m
Normalizace
Pro všechny normalizace má vektor hlavních komponent vícerozměrné normální rozdělení N(0, WCT C WC), lišící se kovarianční maticí D(y).
I. Standardní normalizační podmínka D(yI) = Λk vede k volbě M = E, tj. jednotkové matici a WI = V. Tato volba M zajišťuje, aby zůstala zachována Eukleidovská vzdálenost, protože yITyI = xCTxC. Navíc platí, že E(yI) = 0. II. Jednotková normalizační podmínka D(yII) = E (tj. rozptyly hlavních komponent jsou jednotkové) vede k volbě M = Λ-1/2 a W = V Λ-1/2 . Tato volba normalizace zajišťuje zachování T Mahalanobisovy vzdálenosti, protože T -1
y II y II = xC C x C
III. Je možné také použít normalizační podmínku typu D(yIII) = Λ2, pro kterou je M = Λ1/2 a tedy W = VΛ1/2. Pro tento T T případ platí, že y y =x C III
III
C
xC
Aproximace PCA Místo matice V se použije matice Vk rozměru (m x k), obsahující ve sloupcích pouze k vlastních vektorů a místo matice Λ se použije Λk. Po extrakci k hlavních komponent z kovarianční matice C zbývá ještě reziduální (zbytková) kovarianční matice T = C V Λ V CR k k K
Obecně platí, že
T
y = (V k M k ) x C
Vzhledem k ortogonalitě sloupců matice Vk resp. diagonalitě matice Mk je pak T T -1 -1 xˆ C = V k M k y = V k M k M k V k x C = V k V k x C Vektor xˆ C vlastně odpovídá predikci z lineárního regresního modelu.
Lineární regrese I x = μ + f(V ) + ε
Optimální rekonstrukce
ε je možno chápat jako chybu rekonstrukce. Je zřejmé, že f(V ) = V k V Tk x . Za předpokladu, že ε má normální rozdělení s kovarianční maticí D(ε) = σ2 Em a nulovým vektorem středních hodnot E(ε) = 0, lze pro odhad matice V použít kritérium MNČ 2
S(V ) = E x - f(V ) = E x C - V k y I T k
2
=
T
E [(x C - V k V x C) (x C - V k V Tk x C)] kritérium MNČ: tr(.) je stopa matice T k
S(V ) = tr (C) - tr (V C V k )
tr (V Tk C V k ) = tr (D(y I)) k
= tr (D(xˆ C)) =
∑λ i=1
i
Lineární regrese II Minimalizace střední chyby rekonstrukce vektoru xC vede k požadavku maximalizace rozptylů hlavních komponent, resp. maximalizaci rozptylů predikce. Na úlohu PCA lze tedy nahlížet jako na problém maximalizace rozptylů hlavních komponent (klasický přístup) nebo minimalizace vzdáleností mezi x a lineárním regresním modelem (lineární regrese). Podmínka minimální vzdálenosti se také týká minimalizace délek projekcí x na hlavní komponenty y (minimalizace Eukleidovských vzdáleností). Podmínka, že D(ε) = σ2 Em (tzv. izotropní případ) implikuje, že T 2 C = + E V V σ kovarianční matice C má tvar k k
Lineární regrese III Pro kovarianční matici D(ε) = E(ε εT) = Cε vede úloha rekonstrukce xˆ C k minimalizaci vážených nejmenších čtverců T
-1 ε
S(V ) = E [(x C - xˆ C) C (x C - xˆ C)]
To je běžné ve faktorové analýze. Má-li náhodný vektor xC normální rozdělení, tj. xc~ N(0, C) je i podmíněné rozdělení p(x*/ yII) normální ve tvaru
p (x C
y II ) = (2 π σ )
2 -m/ 2
1 T exp - 2 (x C - V k y II) (x C - V k y II) 2σ
Rozdělení vektoru hlavních komponent je také normální yII ~ N(0, E). Tyto pravděpodobnostní úvahy naznačují, že odhady získané metodou nejmenších čtverců resp. vážených nejmenších čtverců jsou zároveň maximálně věrohodné odhady (pravděpodobnostní PCA).
Lineární regrese III Vektor reziduí Matice
e = x C - xˆ C = x C - V k V Tk x C = x C (E - V k V Tk ) (E - V k V Tk )
je idempotentní, protože odpovídá projekci vektoru xc do prostoru, který je ortogonálním doplňkem podprostoru k hlavních komponent. Projekční matice do podprostoru k hlavních komponent je pak T = H k V k V k takže xˆ C = H k x C Pro reziduální součet čtverců platí
RSC = (x C - xˆ C) T (x C - xˆ C) = x CT (E - V k V Tk ) x C
Pokud se pracuje s výběrovou matici XC je RSC (při náhradě vektoru xC i-tým řádkem matice XC) reziduální součet čtverců pouze pro i-tý objekt.
Lineární regrese IV Kromě RSC je možné použít jako míru neadekvátnosti popisu dat pomocí prvních k hlavních komponent součet čtverců posledních (m k) hlavních komponent. Tedy pro případ jednotkové normalizační podmínky D(yII) = Ek je mírou neadekvátnosti rovna
NE =
m
k
2 T −1 2 = y x C x − y ∑ IIi C C ∑ IIi
i= k +1
i= 1
Lze ukázat, že míra NE má χ2(m-k) rozdělení s m-k stupni volnosti. Platí pro populační hlavní komponenty, kdy jsou složky vektoru xC náhodné veličiny a jsou známy jak střední hodnoty μj, j = 1, ..., m, tak i kovarianční matice C.
Výběrová PCA
Chování náhodného vektoru se posuzuje na základě výběru velikosti n tj. matice X (n x m), obsahující pro n objektů hodnoty m znaků. Tato situace je běžná také při nepravděpodobnostním přístupu, kdy objekty netvoří náhodný výběr. V obou případech se pak pracuje s průměry x j , j = 1, ..., m, a výběrovou kovarianční maticí S. Vlastní vektory a vlastní čísla z rozkladu S = VΛVT jsou odhady. Výhodou je, že při náhradě xc ve výše uvedených vztazích i-tým řádkem matic X (tj. i-tým objektem) a převedení na sloupcový vektor, je možné snadno určit skóry hlavních komponent a další charakteristiky pro každý objekt zvlášť. Je možné také určit skóry hlavních komponent pro výběrový průměr a provést jeho rekonstrukci z menšího počtu hlavních komponent.
PC a řízení jakosti I Značnou výhodou je využití výpočtu skórů hlavních komponent pro jednotlivé objekty při řízení jakosti s využitím Hotellingových vzdáleností. Pro i-tý objekt je vzdálenost od střední hodnoty (tj. požadovaného stavu) rovna T 2 = y T y i
II,i
II,i
kde yII,i je i-tý vektor prvních k hlavních komponent pro i-tý objekt. Zobecněná Mahalanobisova vzdálenost výběru od střední hodnoty n je pak 2 2
d0 = ∑T i
χ2
i=1
Tato veličina má nk rozdělení s n k stupni volnosti. Pro výběrový průměr x jsou hlavní komponenty y = Tx P
W
PC a řízení jakosti II n
Jde o lineární transformaci, takže y P = ∑y i Vzdálenost
T P
/n
i=1
2 dP = n y yP
je pak zobecněnou vzdáleností mezi výběrovým průměrem a populační střední hodnotou. Tato veličina má χ2k rozdělení s k stupni volnosti. Míra variability výběru kolem výběrového průměru je pak dv2 = d02 - dP2 a má χ2(n-1)k rozdělení s (n - 1)k stupni volnosti. Rozdělení vzdáleností d2 je založeno na předpokladu normality a náhodného výběru. Vzdálenosti dv2 a dP2 jsou vícerozměrné analogie pro regulační diagramy x a s2.
Scores plot
Acute 3
Chronic
2
PC 2
Redukované skóry
4
1 0 -1 -2 -3 -6
-4
-2
0
2
4
6
PC 1
T = Xc V Skóry (n x m) = (n x m)*(m x m) Hodnoty PC pro všechny objekty T Rekonstrukce dat – snížení rozměrnosti X c = T V Snížení počtu komponent: Výběr významných komponent (p) Nahrazení matice zátěží V (m x m) redukovanou maticí zátěží Vf (m x p) Tf = Xc Vf Výpočet redukovaných skórů
Redukce počtu PC I
Procento variability objasněné j-tou hlavní komponentou P j=
λj
100
m
∑λ
j
i=1
Často postačuje pouze malý počet hlavních komponent k objasnění prakticky celé variability dat
Graf úpatí – uspořádaná vlastní čísla λ1 => λ2 => ... λm . Je vidět rozdíl mezi důležitými a nevýznamnými PC
Redukce počtu PC II Výběr prvních několik hlavních komponent k jako představitele m-tice původních znaků: (1) Výběr pouze k-tice komponent, které objasňují zadané procento P variability původních znaků. Obyčejně se volí P = 70 až 90%. (2) Vyloučení těch komponent, kterým odpovídají vlastní čísla m m menší než průměrná hodnota ∑λi / m ∑λ i = tr (S) i=1
i=1
Pokud se provádí PCA pro korelační matici R, je tr (R) = m a průměrná hodnota je rovna jedné. To vede k jednoduchému pravidlu vyloučit hlavní komponenty, pro které jsou vlastní vektory menší než 1. Lépe je vypouštět komponenty, pro které jsou vlastní čísla menší než 0.7.
Scree Plot 3.0
2.5
2.0
1.5
1.0
Eigenvalue
Redukce počtu PC III
3.5
.5 0.0 1
2
3
4
5
6
7
8
9
10
11
Component Number
Použití redukovaných zátěží vede k diferenci mezi původní a rekonstruovanou maticí dat. Centrovaná matice XC se rozkládá na matici „signálu“ obsahující součin skórů T (n x k) a zátěží VkT (k x m) a chybovou maticí O (n x m). T = T V XC k +O
12
n
S( µ , yI , Vk ) = ∑ ( xi - µ - Vk yIi )T ( xi - µ - Vk yIi) i =1
Bilineární regresní model
Model X C = T VkT + O má jako parametry skóry T, a vlastní vektory Vk. T T X Cr = T V k = X C V k V k
Účelem je minimalizace délky O nebo vzdálenosti dist (XC - T VkT). Výsledek je stejný jako maximalizace rozptylu. Matice reziduí
Or = Xc − Xcr = Xc − Tf V = Xc (E − Vk V ) T k
T k
Redukce počtu proměnných I Pro kontrolu toho, jaké změny způsobí vynechání některých znaků se s výhodou používá matic komponentních skórů T(m) rozměru (n x m) pro všech m znaků a komponentních skórů T(q) rozměru (nxq) pro vybranou podmnožinu q znaků. Podobnost mezi konfigurací T(m) a T(q) se posuzuje na základě Prokrustovy analýzy M = tr T(m) T T (m) + T(q) T T (q) + 2 Z
kde Z je matice singulárních hodnot SVD rozkladu matice TT(q) T(m), tj. T T
T (q) T(m) = U Z V
kde UT U = E, VT V = V VT = E a Z je diagonální matice. Čím je M menší, tím je konfigurace T(m) bližší konfiguraci T(q). Zkoumání všech možných kombinací všech podmnožin m znaků je velmi náročné.
Redukce počtu proměnných II Technika zpětné eliminace: 1. V prvním kroku se eliminuje ten znak, který má nejmenší M pro všechna q = m - 1. 2, Ve druhém kroku se dosadí za T(m) matice T(m-1) a zase se eliminuje znak, kterému odpovídá nejmenší M. Tímto postupem se vlastně v každém kroku posuzují konfigurace, lišící se pouze přítomností jednoho znaku. Při praktických výpočtech lze využít efektivního algoritmu SVD pro případ vypouštění jednotlivých znaků. Znaky s nízkou variabilitou respektive malou hodnotou poměru signál/šum jsou parazitní. Při použití škálování, tj. práci s korelační maticí pak tyto proměnné uměle získávají na významu. To znamená, že při výpočtu T je třeba vycházet z kovarianční matice S.
PCA a SVD I Z pohledu lineární algebry je výhodné použít SVD (metoda singular value decomposition) původní centrované matice XC. Je známo, že SVD matice XC je vyjádřená rovnicí T = U D V XC
Jde tedy o rozklad matice Xc na ortogonální matici U řádu (n x m), ortogonální matici V rozměru (m x m) a diagonální matici D řádu (m x m), jejíž diagonální prvky d1 => d2 =>... =>dm se označují jako singulární hodnoty. Vzhledem k ortogonalitě sloupců matic U a V platí, že UT U = VT V = E. Matice U obsahuje jako sloupce levé singulární vektory Uj a matice V obsahuje jako sloupce pravé singulární vektory Vj. Tyto vektory jsou vzájemně ortogonální, jednotkové a definují speciální báze prostoru pro znázornění objektů (U), resp. znaků (V).
PCA a SVD II Významnou vlastností SVD je možnost rekonstrukce matice Xc k ˆ nižší hodnosti k, pomocí matice X T
ˆ C =∑Ui di Vi X i=1
Analogicky jako u hlavních komponent se tedy rozkládá matice Xˆ C ˆ C je matice hodnosti k, na součet matic Ui di Vi hodnosti 1. Platí, že X která je nejblíže k matici XC ve smyslu Eukleidovských vzdáleností. T
T C
T
2
X XC = n S = V D U U D V = V D V S využitím pravých singulárních vektorů lze psát
V SV =D =Λ T
2
T
PCA a SVD III Z SVD plyne zajímavá rovnost T = X V = U D, takže komponentní skóry tj = dj Uj, j = 1, ..., m, lze určit velmi snadno bez násobení matic. Pokud se provede řádkové centrování matice X (odečítání řádkových průměrů přes všechny znaky), je matice XRC XRCT až na násobivou konstantu rovna kovarianční matici S0 pro objekty. Z SVD matice XRC = UR DR VRT pak plyne
X RC X
T RC
≈ S 0 = U R D2R U TR a U TR S 0 U R = D2R
Jde opět o rozklad kovarianční matice objektů na vlastní vektory URj jako sloupce matice UR a odpovídající vlastní čísla λRj = dRj2.
PCA a SVD IV SVD rozklad umožňuje jak analýzu v prostoru znaků (což je vlastně standardní přístup) označovanou jako R-mód, tak i analýzu v prostoru objektů (což je speciální případ) označovanou jako Q-mód. Dualita Q a R módu na příkladu jedné komponenty V (vlastní číslo λ) a jedné komponenty U (vlastní číslo λR) pro matici XS, která je centrovaná jak po sloupcích, tak i po řádcích. T V = λ V a X XS XS XS U = λ R U T XS XS ( XS V ) = λ R ( XS V ) T S
λ = λR a XS V = kU, kde k souvisí s použitými normalizačními podmínkami. Standardní volba VT V = 1 vede ke vztahu k2 UT U = λ. Vzdálenosti mezi body v prostoru hlavních komponent R-módu a Qmódu jsou stejné, což se označuje jako dualita.
PCA a SVD V Dvojný graf umožňuje zobrazení všech dat v prostoru zvolené dimense. Standardně se používá zobrazení ve dvou dimenzích (projekce do prvních dvou hlavních komponent). T XC = U D V Jednoduché je použít SVD rozklad 2 D dvojný graf využívá pouze první dva diagonální elementy matice D (ostatní diagonální prvky jsou nahrazeny nulami). Označme tuto matici jako D*. 2D aproximace matice X má pak tvar: X * = UD* V T * Dále se počítají= matice: G U(D = ) a H T (D* )V T
Klasický dvojný graf je pak závislost řádků matice G na řádcích matice H. Matice G obsahuje skóry a matice H zátěže.
Interpretace PC I
Původní matice Xc = (x1, ..., xm) - tvoří n bodů v m rozměrném prostoru znaků Matice skórů (t1, ..., tm) - tvoří n bodů v m nebo k rozměrném prostoru PC. i-tý vektor xCi j-tý vektor tj PC m
tj =
∑v i=1
m
ij
x Ci
x Ci =
∑v
ij
tj
j=1
vij jsou prvky matice Vm, resp. Vk pokud se užívá pouze k komponent.
Interpretace PC II
cos α = x
(xTx) cos α = (pTp)
α
p=k*z V prostru znaků je tj vážený součet vektorů xCi s vahami vij. Délka tohoto vektoru
d(t j) = t t j =
((xTx)*(zTz))1/2
2
T j
xTz
z
v X XC v j = λ j T j
T C
Projekce tPji vektoru xCi na tj je ve tvaru tPji = tjb, kde b je směrnice. T T
t j x Ci t j x Ci t (x Ci - b t j ) = 0 a b = T = tj tj λj T j
Interpretace PC III
Protože je tjTtk = 0 pro j # k (vektory tj jsou ortogonální) je m
t x Ci = t ∑ vik t k k=1 T j
T j
vij λ j
Tedy b = vij. a projekční vektor tPji = vijtj má délku
pij = t TPji t Pji =
=
Délka vektoru tj.
v λ j = vij m
d(t j) =
λj
2 ij
∑vij pij i=1
m
= ∑v i=1
2 ij
λj
Interpretace PC IV
Příspěvek každého původního znaku k délce vektoru tj je tedy úměrný čtverci vij. Délka tohoto vektoru je úměrná směrodatné odchylce odpovídající hlavní komponenty (PC). Rozptyl objasněný j-tou PC je složen z příspěvků původních znaků a jejich významnosti vyjádřené pomocí vij2. Malé vij2 znamená, že i-tý původní znak má malý vliv na variabilitu j-té PC a je pro ni nevýznamný. Pokud má řádek matice V všechny hodnoty malé je i-tý znak nevýznamný pro všechny PC.
Příspěvkový graf Graf složený z m skupin. V každé skupině je m sloupců. Každá skupina odpovídá jedné PC a každý sloupec ve skupině odpovídá jednomu znaku Výšky sloupců jsou úměrné V λ Výšky sloupců v pní skupině jsou standardizovány tak, aby jejich součet byl 100 %. (dělení součtem jejich délek Ls) Stejná standardizace je použita u ostatních skupin. Je možné posoudit vliv znaků na jednotlivé PC
2 ij
Korelace
Vazby mezi původními znaky a PC lze vyjádřit pomocí korelačních koeficientů mezi xCi a tj,
r ij = cos α ij =
T Ci
x tj (x TCi x Ci) t Tj t j
≈
V ij λ j σi
=
pij σi
σi je směrodatná odchylka pro i-tý znak. Při použití normalizovaných znaků (matice S je nahrazena korelační maticí R) jsou korelační koeficienty přímo rovny dílčím projekcím rij = pij Vyšší rij indikuje, že xCi je blízké k tj, a přispívá významně k rozptylu objasněnému j-tou PC.
Rekonstrukce I Pokud se pro konstrukci matice T použije pouze k < m hlavních 2 k k komponent platí, že p ij 2 ≤ 1 resp. ≤1 V ij ∑ ∑ j=1 j=1 λ j Projekce xCi do k-rozměrného prostoru hlavních komponent leží v krozměrném elipsoidu s poloosami λ i . Pokud platí znaménko rovnosti , leží xCi celé uvnitř elipsoidu. Pokud to neplatí, je hraniční délka projekce do ortogonálního podprostoru dána jako λ k+1 * . Pro složky x Ci neobsažené v k rozměrném podprostoru pak platí, že m
* Ci
x =
∑
j=k+1
k
V ij t j
Rozklad
x Ci = xˆ Ci + e i =
∑V j=1
m
ij
tj +
∑
j=k+1
V ij t j
Rekonstrukce II Vektor reziduí pro i-tý znak je ei = xCi*, takže d(xCi*) odpovídá reziduálnímu součtu čtverců pro i-tý znak a celkový reziduální m m m součet čtverců je 2
RSC k = ∑ d (x Ci ) = i=1
∑∑
V ij
λj
i=1 j=k+1
Je patrné, že reziduum eij pro j-tý znak a i-tý objekt je i-tým prvkem vektoru ej = (ej1, ..., eji, ..., ejn)T. Na základě odvození hlavních komponent pro vektor znaků (populační hlavní komponenty) lze n n RSCk vyjádřit také ve tvaru RSC k = ∑ RSC ki = ∑ x TCi (E - V k V Tk ) x Ci i=1
i=1
kde xCi = (xi1, ..., xim)T je sloupcový vektor, jehož prvky jsou složky i-tého řádku matice XC. Veličina RSCki charakterizuje délku vektoru reziduí mezi i-tým objektem a jeho rekonstrukcí z k hlavních komponent.
Indikace odchylek I • Pro indikaci odlehlých objektů je pak možné konstruovat pro dané k indexový graf, a to vynesením RSCki proti indexu objektů i. • Reziduální součet čtverců RSCk je pochopitelně závislý na k. Pro k = m bude RSCk = 0. • Optimální volba k je taková, kdy RSCk je dostatečně malé. • Graficky to lze identifikovat vynesením RSCk proti k. Výsledkem je speciální graf úpatí pro RSC. • K posouzení odchýlení jednotlivých objektů od modelu hlavních komponent postačuje RSCki. • Kromě toho se také často posuzuje odchýlení objektů od jejich centra, pro centrovaný případ XC od nulového bodu.
Indikace odchylek II Využití Mahalanobisovy vzdálenosti, tj. Hotellingovy statistiky Ti2, T
T -1 T T -1 = = x = y y T x Ci V k Λ k V k x Ci Ci S x Ci Ii Ii 2 i
kde yIi vznikne z hlavní komponenty yI náhradou vektoru xC itým řádkem matice XC, jež je převeden na sloupcový vektor. Body s vysokým RSCki leží obvykle mino podprostor vymezený hlavními komponentami a body s vysokým Ti2 leži v podprostoru hlavních komponent, ale mimo konfidenční elipsoid Je zřejmé, že body odchýlené od modelu hlavních komponent nemusí být extrémně vzdálené od centra a body vzdálené extrémně od centra nemusí být ještě příliš odchýlené od modelu 2 2 PCA. Rovnice elipsy v prostoru prvních dvou pi1 pi2 + =1 hlavních komponent má tvar
λ1
λ2
Statistická analýza PC I Podmínky 1. Jako ve všech statistických metodách je lepší interpretovat data náhodného výběru ze správně definovaného souboru dle jisté experimentální strategie než data získaná čistě namátkovým způsobem. 2. Pocházejí-li objekty ze symetrického rozdělení nebo transformací převedené do symetrického rozdělení, výsledky jsou snadněji vysvětlitelné než jde-li o silně sešikmené rozdělení. 3. Vysloveně odlehlé objekty je třeba odhalit a odstranit. Jsou-li data z vícerozměrného normálního rozdělení, pak hlavní komponenty tvoří poloosy m rozměrného elipsoidu. Některé statistické testy vyžadují předem ověření normality.
Statistická analýza PC II • V případě, že se PCA používá jako speciální regresní model nebo rekonstrukce matice X resp. pro hledání minimálního počtu hlavních komponent, je obyčejně potřebné zkoumat, jak vliv vlastností výběru na velikosti vlastních čísel a vlastních vektorů, tak stanovovat alespoň přesnost odhadů komponentních skórů, projekcí a zátěží. • Vzhledem k tomu, že rozdělení vlastních čísel a vlastních vektorů je velmi složité, používá se v řadě případů buď zjednodušení nebo asymptotických výsledků. • Centrálním předpokladem je vícerozměrná normalita znaků x = (x1, ..., xm) ~ N(μ, C).
Statistická analýza PC III Rozdělení j-tého vlastního čísla λˆ j
je asymptoticky normální
se střední hodnotou λj a rozptylem 2λj2/n. Pro asymptoticky 95%ní interval spolehlivosti populační hlavní komponenty λj platí λˆ j λˆ j ≤λj≤ 1 - 1.96 2/n 1 + 1.96 2/n
n ( ln λˆ j - ln λ j ) Lze využít faktu, že limitní rozdělení veličiny je N(0, 2). Pro konečné výběry jsou odhady λˆ j vychýlené. m 1 λi Přibližně platí, že E ( λˆ j ) = λ j 1 + ∑ n i, j λ j - λ i
To znamená, že velká vlastní čísla jsou příliš velká, malá vlastní čísla jsou příliš malá.
Statistická analýza PC IV 2 m λi 2λ 1 Pro rozptyl D( λˆ j ) přibližně platí, že D ( λˆ j ) = 1 - ∑ n n i_j λ j - λ i 2 Pro kovarianci platí 2 j
2 cov (λˆ i , λˆ j ) = 2 n
λˆ i λˆ j λˆ - λˆ i j
Odhady vlastních čísel jsou tedy korelované a jejich rozptyl je podceněný. Pro korekci vychýlení lze použít vztah m ˆi 1 * λ λˆ j = λˆ j 1 - ∑ ˆ ˆ n i_j λ j - λ i
Statistická analýza PC V Poměrně jednoduše lze určit hranice, kde se budou vyskytovat vlastní čísla z nerovností λˆ1 ≥ max (s2j)
λˆ m ≤ min (s j )
j = 1, ..., m
2
kde sj2 jsou rozptyly čili diagonální prvky kovarianční matice S. Lze také určit mez pro λˆ1 ve tvaru
λˆ 1 ≤ max
m
∑ sij
i = 1, ..., m
j=1
Zde sij jsou kovarianční matice S a součet představuje součet jednotlivých řádků této matice.
Statistická analýza PC VI Testování hypotézy H0: λk+1 + λk+2 ... + λm> γ proti alternativě HA: λk+1 + λk+2 ... + λm < γ. Pokud jsou vlastní čísla matice C různá platí, že náhodná veličina m m m má limitní normální rozdělení s 2 2 λ i n λ i nulovou střední hodnotou a rozptylem i=∑ λˆ i k +1 i= k +1 i=k +1
∑ -∑
Pro hladinu významnosti α = 0.05 se pak zamítá hypotéza H0, pokud platí m 2 ∑ λˆ i2 m i = k +1 ∑ λˆ i < 1.95γ n i = k +1
Statistická analýza PC VII Pro testování hypotézy H0: λk+1 = λk+2 = ... = λm, což je ekvivalentní testu hypotézy C = V VT + σ2 E, tedy izotropie chybového členu, lze použít veličinu
m ∏ λi 2 m- k i= k +1 (m - k ) χ = m k k +1 ∑ λi i=1
n/2
která má χ2 rozdělení s 0.5(m - k - 1)(m - k - 2) stupni volnosti.
Statistická analýza PC VIII Při statistické analýze vlastních vektorů se využívá toho, že rozdíl ( Vˆ i - V i ) má asymptoticky normální rozdělení N(0, D), kde m λj λ T kovarianční matice D má tvar D = i ∑ V V j j 2 n j_i (λ j - λ i) Pro směrodatnou odchylku j-tého prvku vlastního vektoru Vj = (vj1, ..., Vji, ..., Vjm)T platí m
sVji =
λˆ j
λˆ l 2 ∑ 2 V jl n l_j ( λˆ l - λˆ j )
Pokud se uvažuje pouze prvních k vektorů, dochází k vychýlení těchto odhadů.
Statistická analýza PC XI Při praktické aplikaci PCA se obyčejně vyčíslují komponentní skóry tj mající nulovou střední hodnotu E(tj) = 0 a rozptyl D(tj) = λj. Za předpokladu normality je pak snadné určit intervaly spolehlivosti. Pro k-tý objekt čili k-tý řádek matice XC je komponentní skóre, odpovídající i-té hlavní komponentě ve tvaru m
t i(k) = ∑ x kj V ji j=1
kde Vji jsou vlastně prvky i-tého sloupce matice V. člen Cj(k, i) = xkj Vji je pak příspěvkem k-tého objektu j-tého znaku ke skóre odpovídající i-té hlavní komponentě. Zjednodušeně lze vyjádřit 2 rozptyl tohoto příspěvku jako = D( ) D( ) ≈ σ2 2
σˆ C
x kj
V ji
x
V ji
PCA diagnostika I Pro vyjádření vlivu jednotlivých objektů na výsledky PCA je možné použít analogický přistup jako u regresní diagnostiky tj. vypuštění jednotlivých objektů. Nechť kovarianční matice C(i) s vypuštěným itým objektem čili i-tým řádkem matice XC má vlastní čísla λ1(i) <= λ2(i) <= ... λm(i). Přirozenou mírou vlivu vypuštění i-tého objektu na jtou hlavní komponentu je rozdíl λj -λj(i) <=0 pro j = 1, ..., m. Vliv vypuštění i-tého objektu na všechna vlastní čísla je pak vyjádřen m vztahy n T
I λ (i) = ∑ (λ j - λ j(i)) I λ (i) = j=1
n -1
x Ci x Ci
kde xCi je vektor, odpovídající vypuštěnému objektu. Je proto patrné, že data, která leží daleko od centra μ mají velký vliv na odhady, získané PCA bez ohledu na jejich vzdálenost od hlavních komponent.
PCA diagnostika II Eukleidovská vzdálenost objektu od střední hodnoty μ
d (x - μ) = (x C ) 2
2
n-1 tr C − trC(i) = n
Pro posouzení relativního vlivu i-tého objektu na j-tou hlavní komponentu je výhodné použít vztah
I λ j (i) =
λ j - λ j(i) I λ (i)
j = 1, ..., m
Pokud je I λ j (i) = 0 , znamená to, že odpovídající objekt nepřispívá ke změnám vlastních čísel a vlastních vektorů.
PCA diagnostika III Vliv i-tého objektu na změnu j-tého vlastního vektoru Vj se posuzuje na základě úhlu θj(i) mezi Vj a Vj(i).
cos θ j(i) =
t ij [ λ j - λ j(i) ] m
∑[t
2 il
-1
/( λ j - λ j(i) ) ] 2
l=1
kde tij, j = 1, ..., m(k) jsou komponentní skóry pro i-tý objekt, počítané z celé matice XC. Tyto statistiky umožňují posouzení vlivu jednotlivých objektů na výsledek PCA a tedy hodnocení kvality dat.
PCA pro korelovaná data I
Simulovaná data z 3D normálního rozdělení s nulovým vektorem středních hodnot a korelační maticí 1 r12 r13
r12 1 r23 r13 r23 1
Bylo generováno N =500 dat pro různé varianty párových korelačních koeficientů.
PCA pro korelovaná data II
Všechny korelace jsou nulové
PCA pro korelovaná data III
Všechny korelace jsou 0.9
Falešné korelace I r12 = H
H →1
r13 = H
2
r23 = H
Vícenásobný korelační koeficient R1( 2,3) = H H Parciální korelační koeficienty R1, 2(3) = R1,3( 2) = 0 1+ H 2 Proměnná x3 je tedy parazitní a nepřispívá k objasnění variability proměnné x1 Pro simulaci bylo voleno H = 0,9.
Falešné korelace II
Graf úpatí a příspěvkový graf
Nízké párové korelace I r23 = 1 − H 2
r12 = H H → 0.01 r13 = 0
Vícenásobný korelační koeficient Parciální korelační koeficienty
R1,3( 2) = −0.71
R1( 2,3) = 0.707
R1, 2(3) = 0.71
Všechny proměnné jsou tedy významné.
Nízké párové korelace II
Graf úpatí a příspěvkový graf
PCA nemůže plně nahradit korelační analýzu
Vliv centrování a normalizace na PCA
Omezení PCA
Data musí být ve stejném měřítku.
PCA je lineární metoda, která selhává u nelineárních struktur 2-D data mají 3 shluky, které nelze nijak vhodně lineárně promítnout
3-D data mají 3 shluky (každý leží v jiném podprostoru). Nedojde ani ke snížení dimense ani zviditelnění
Zatím vše !!!