Principale Componenten Analyse: Doelstellingen: dimensiereductie inzicht in de variabiliteit van de data dataexploratie PCA is een transformatie: van p oorspronkelijke variabelen naar p PC s ˆΣ Σ variantie informatie-inhoud 1
Bepalen van de Principale Componenten: De Eerste Principale Component: Een PC is een lineaire combinatie met a t = (a 1,..., a p ) Z = a 1 X 1 + a2x 2 +... + a p X p = a t X, We wensen dat de PC zo veel mogelijk informatie bevat Z heeft maximale variantie Triviale oplossing: alle a i = restrictie invoeren: Var [Z] = Var [ a t X ] = a t Σa. a t a = p i=1 a 2 i = 1. 2
SD voorstelling van Σ Var [Z] = a t = = p i=1 p i=1 p i=1 λ i e i e t i a λ i (a t e i )(e t i a) λ i (a t e i ) 2. We nemen de conventie aan dat de eigenwaarden geordend zijn, λ 1 > λ 2 >... > λ p > 0. Aangezien a t a = 1 en e t i e i = 1 geldt p i=1 (a t e i ) 2 = 1. Var [Z] max i λ i = λ 1 met gelijkheid enkel en alleen als a = e 1. a = e 1 en dus Var [Z] = λ 1 3
Meetkundige Interpretatie: X en a: punten of vectoren in p dimensionale Euclidische ruimte a t X orthogonale projectie van X op a Om een verdere meetkundige betekenis te kunnen geven aan de PC Z, beschouwen we de kwadratische vorm a t Σ 1 a. = Mahalanobis-afstand van het punt a tot het middelpunt 0 t = (0... 0) We beschouwen de verzameling punten a beschouwen waarvoor ellips a t Σ 1 a = c, 4
Vervolgens substitueren we Σ 1 door haar SD c = a t Σ 1 a = = = p i=1 p i=1 p i=1 1 (a t e i ) 2 λ i ( a t ) 2 e i λi ( yi λi ) 2 met y i = a t e i. ellips met assen evenwijdig aan het assenstelsel (e 1, e 2..., e p ) waarin y i de coördinaten zijn De keuze a = e 1 resulteert in y 1 = 1, y 2 = 0, y 3 = 0,..., y p = 0; dit is een punt op de hoofdas van de ellips. Interpretatie aan de eigenvectoren: het zijn de vectoren die de assen van de constante densiteitsellips vormen; dus e 1 wijstïn de richting van de grootste variantie in de data. 5
Meerdere Principale Componenten: De finale doelstelling is om met zo weinig mogelijk PC s zo veel mogelijk informatie uit de oorspronkelijke data te vatten. informatie-overlapping vermijden Cov [Z 2, Z 1 ] = 0 De tweede PC is gedefinieerd als Z 2 = a 21 X 1 + a 22 X 2 +... a 2p X p = a t 2 X zodanig dat Z 2 een maximale variantie heeft onder alle mogelijke lineaire combinaties van X met de restricties dat a t 2 a 2 = 1 Cov [Z 2, Z 1 ] = 0 6
De uitdrukking voor de variantie van Z 2 is weer via de substitutie van de SD representatie van Σ, Var [Z 2 ] = p i=1 Ook de covariantie is een eenvoudige uitdrukking, Cov [Z 2, Z 1 ] = Cov [ a t 2 X, Xt a 1 ] = a t 2 Σa 1 = p i=1 λ i (a t 2 e i) 2 (1) λ i (a t 2 e i)(e t i a 1). covariantie kan enkel nul zijn indien a 2 loodrecht staat op iedere eigenvector e i, behalve deze eigenvectoren waarop a 1 loodrecht op staat 7
Aangezien a 1 = e 1 en omdat de eigenvectoren een orthonormale basis vormen, staat a 1 loodrecht op de eigenvectoren e i (i 1) a 2 moet gelijk zijn aan één van de eigenvectoren e i (i = 2,..., p). variantie van Z 2 moet ook maximaal zijn Het gewenste resultaat wordt bekomen met De bereikte variantie is dan a 2 = e 2 Var [Z 2 ] = λ 2. 8
De oplossing voor de volgende PC s is analoog. Voor de j-de PC, Z j = a j1 X 1 +... + a jp X p = a t j X zoeken we de coëfficiënten a j die de variantie van Z j maximaliseert onder alle lineaire combinaties waarvoor Cov [ Z j, Z 1 ] = 0 en Cov [ Zj, Z 2 ] = 0... Cov [ Zj, Z j 1 ] = 0 (j = 3,..., p). De oplossing is steeds a j = e j, waarvoor Var [ Z j ] = λ j. oplossing via eigenwaarden en eigenvectoren van Σ. De meetkundige interpretatie: eigenvectoren zijn de assen van de constante densiteitsellips. 9
Covariantie of Correlatie?: Spelen eenheden een rol? Meestal met gestandardiseerde variabelen werken (i = 1,..., p). Hiervoor geldt en X is = X i σ i Var [X is ] = Var [X i] σ 2 i ] = 1 Cov [ ] Cov [ X i, X j X is, X js = = σ ij = ρ ij. σ i σ j σ i σ j Bijgevolg is de variantie-covariantie matrix van de gestandardiseerde variabelen gelijk aan de correlatie matrix. Een PCA kan dus zowel uitgevoerd worden op de variantie-covariantiematrix als op de correlatiematrix. 10
Voorbeeld: Nieuwe dataset: industrie De variabelen zijn: AGR (landbouw), MIN (mijnbouw), MAN (productie), PS (krachtcentrales), CON (bouw), SER (diensten), FIN (financiën), SPS (sociale sector) en TC (transport en communicatie). 3 2 1 0 2.0 1.5 1.0 0.5 0.0 17.5 15.0 12.5 10.0 7.5 5.0 31 21 11 1 AGR 0 20 40 60 0 1 2 3 MIN MAN 10 20 30 40 0.00.51.01.52.0 PS CON 3 5 7 9 11 5.07.510.0 12.5 15.0 17.5 SER FIN 0 2 4 6 8 10 1 11 21 31 SPS TC 2 4 6 8 10 60 40 20 0 40 30 20 10 11 9 7 5 3 10 8 6 4 2 0 10 8 6 4 2 11
1. > industrie.pca <- princomp(industrie[, 2:10], cor = T) > industrie.pca Standard deviations: Comp. 1 Comp. 2 Comp. 3 Comp. 4 Comp. 5 Comp. 6 1.867392 1.459511 1.048312 0.9972377 0.7370331 0.6192154 Comp. 7 Comp. 8 Comp. 9 0.4751358 0.3698512 0.006754636 The number of variables is 9 and the number of observations is 26 Component names: "sdev" "loadings" "correlations" "scores" "center" "scale" "n.obs" "call" "factor.sdev" "coef" Call: princomp(x = industrie[, 2:10], cor = T) 12
2. > industrie.pca$loadings Comp. 1 Comp. 2 Comp. 3 Comp. 4 Comp. 5 Comp. 6 Comp. 7 AGR -0.524 0.213 0.153 MIN 0.618 0.201-0.164-0.101-0.726 MAN 0.347 0.355 0.150 0.346-0.385-0.288 0.479 PS 0.256 0.261 0.561-0.393 0.295 0.357 0.256 CON 0.325-0.153 0.668 0.472 0.130-0.221 SER 0.379-0.350 0.115-0.284 0.615-0.229 FIN -0.454 0.587 0.280-0.526-0.187 SPS 0.387-0.222-0.312-0.412-0.220-0.263-0.191 TC 0.367 0.203-0.375-0.314 0.513-0.124 Z 1 = 0.52AGR + 0.35MAN + 0.26PS + 0.33CON + 0.38SER +0.39SPS + 0.37TC Z 2 = 0.62MIN + 0.36MAN + 0.26PS 0.35SER 0.45FIN 0.22SPS + 0.203TC
Aantal PC s Bepalen: Eigenwaarden: Vanuit de redenering dat variantie evenredig is met informatieinhoud, stellen we de totale informatie-inhoud voor als de totale variantie, p i=1 Anderzijds is er de eigenschap van de eigenwaarden van Σ, σ 2 i. tr(σ) = p i=1 en omdat λ i = Var [Z i ] bekomen we σ 2 i = p λ i i=1 p i=1 σ 2 i = p i=1 geen verlies van informatie-inhoud Var [Z i ]. 13
Relatieve belang van Z i : λ i p j=1 λ j Vuistregel: weerhoud voldoende PC s opdat er minstens 80% van de totale variantie behouden blijft
Voorbeeld: > summary(industrie.pca) Importance of components: Comp. 1 Comp. 2 Comp. 3 Comp. 4 Standard deviation 1.8673916 1.4595113 1.0483118 0.9972377 Proportion of Variance 0.3874613 0.2366859 0.1221064 0.1104981 Cumulative Proportion 0.3874613 0.6241472 0.7462536 0.8567517 Comp. 5 Comp. 6 Comp. 7 Comp. 8 Standard deviation 0.73703306 0.61921536 0.47513583 0.36985122 Proportion of Variance 0.06035753 0.04260307 0.02508378 0.01519888 Cumulative Proportion 0.91710919 0.95971227 0.98479605 0.99999493 Comp. 9 Standard deviation 6.754636e-003 Proportion of Variance 5.069456e-006 Cumulative Proportion 1.000000e+000 14
Scree Plot: > screeplot(industrie.pca) industrie.pca 0.387 Variances 0 1 2 3 0.624 0.746 0.857 0.917 0.96 0.985 1 1 Comp. 1 Comp. 2 Comp. 3 Comp. 4 Comp. 5 Comp. 6 Comp. 7 Comp. 8 Comp. 9 15
Biplot: Scores: PCA = transformatie n observaties getransformeren naar observaties op de PC s = scores > industrie.pca$scores Comp. 1 Comp. 2 Comp. 3 Comp. 4 Comp. 5 1 1.71049775-1.22179120 0.11476476-0.33949201-0.32453569 2 0.95290221-2.12778495-0.95072216-0.59394893 0.10266111 3 0.75462955-1.12120754 0.49795370 0.50032910-0.29971876 4 0.85255251-0.01137659 0.57952679 0.11046984-1.16522683 5-0.10350177-0.41398717 0.38404787-0.92666396 0.01522133 6 0.37540652-0.76954739-1.06059786 1.47723127-0.64518265 7 1.05944243 0.75582714 0.65147987 0.83515611-0.86593673... 16
> industrie2<-cbind(industrie,industrie.pca$scores[,1:2]) > names(industrie2) [1] "COUNTRY" "AGR" "MIN" "MAN" "PS" "CON" [7] "SER" "FIN" "SPS" "TC" "Comp..1" "Comp..2" > names(industrie2)[11:12] <- c("pc1", "PC2") > names(industrie2) [1] "COUNTRY" "AGR" "MIN" "MAN" "PS" "CON" [7] "SER" "FIN" "SPS" "TC" "PC1" "PC2" 17
PC1 en PC2: 62% van de totale variantie 3 Hungary Czechoslovakia E. Germany Poland 1 Romania Bulgaria USSR Luxembourg PC2 Austria W. Germany -1 Turkey Yugoslavia Greece Ireland UK Portugal Spain ItalySwitzerland Finland France Norway Belgium Sweden Netherlands Denmark -3-6 -4-2 0 2 PC1 18
Biplot: Constructie steunt op de Singular Value Decomposition van de n p gecentreerde datamatrix X. X t X = n i=1 (X ij X j )(X ik X k ) (jk) = (n 1)ˆΣ Met zoals steeds ˆΣ een niet-singulier matrix. De rank van ˆΣ en van X is dus p. 19
Singular Value Decomposition: De Singular Value Decomposition (SVD) is een stelling die zegt dat voor iedere n p matrix X met rank p er hetvolgde bestaat: p orthonormale vectoren l i van lengte n p orthonormale vectoren m i van lengte p p positieve reële getallen δ 1... δ p (zogenaamde singular values van de matrix X) zodanig dat X = p i=1 δ i l i m t i (2) 20
Stel M de p p matrix met als i-de kolom m i L de n p matrix met als i de kolom l i, de p p diagonaalmatrix met i-de diagonaalelement δ i Dan bekomen we X = L M t. (3) 21
De kolommen van M kunnen nog op een andere (equivalente) manier bekomen worden. Hiertoe berekenen we X t XM door de twee X matrices te substitueren met de SVD uit Vergelijking 3: X t XM = M L t L M t M = M 2 (4) (L t L = I en M t M = I wegens de orthonormaliteit van de kolommen, en = 2 wegens de diagonaliteit). Dit is hetzelfde als X t Xm i = δ 2 i m i. Dus δ 2 i en m i zijn de eigenwaarden en eigenvectoren van X t X = (n 1)ˆΣ; 22
Verband met PCA: wegens de orthonormaliteit van m i en e i : δ 2 i = (n 1)λ i en m i = e i Op analoge wijze vinden we dat de l i (i = 1,..., p) de eigenvectoren zijn van de matrix XX t (deze is ook maar van rank p). Of, nog eenvoudiger, uit Vergelijking 3 volgt rechtstreeks door beide leden met M 1 te vermenigvuldigen L = XM 1. (5) 23
De Factorisatie van Gabriel: Iedere n p matrix X van rank r kan gefactoriseerd worden als X = GH t (6) met G en H respectievelijk een n r en een p r matrix, beide van rank r. Voor onze toepassing is r = p. Door een gepaste keuze van G en H bekomen we terug de SVD uit Vergelijking 3: G = (n 1) 1/2 L en H = (n 1) 1/2 M Merk op dat ieder element X ij van matrix X gelijk is aan g t i h j (g i en h j zijn respectievelijk de i-de en de j-de kolom van de matrices G en H). De meetkundige interpretatie is dat X ij de orthogonale projectie is van g i op h j (of omgekeerd). 24
Door onze keuze van G en H vinden we (gebruik makend van Vergelijking 4 en van de orthonormaliteit van M) HH t = 1 n 1 M 2 M t = 1 n 1 Xt XMM t = 1 n 1 Xt X = ˆΣ. (7) Alsook (gebruik makend van Vergelijkingen 5 en 4) GG t = (n 1)LL t = (n 1)XM 1 1 M t X t (8) = (n 1)XM 1 M t X t (9) = X ˆΣ 1 X t. (10) 25
p-dimensionale Biplot: Uit de orthonormaliteit van M volgt ook, M 1 = M t, (11) immers M t M = I. Stel Z de n p matrix met als i-de kolom de scores de op i-de PC, i.e. Z ij = a j1 X i1 +... a jp X ip met a j = e j = m j. De transformatie laat zich ook schrijven als Z = XM. Dankzij de eigenschap uit Vergelijking 11 bekomen we eenvoudig de inverse transformatie, X = ZM t. Dus, de rijen van de matrix M zijn de coëfficiënten voor de inverse transformatie (merk op dat dit een orthonormale transformatie is). De vectoren gevormd door de rijen van M stellen dus de oorspronkelijke variabelen voor in de p-dimensionale PC-ruimte! 26
Biplot: vectoren: p rijen van H (h t j ) punten: n rijen van G (g t i ) Stel X t i is de i-de rij (observatie) uit de datamatrix X. 27
De interpretatie steunt op de volgende eigenschappen: 1. De projectie van de vectoren h i (i = 1,..., p) op de j-de as van het assenstelsel zijn de loadings van de j-de PC (op een evenredigheidsfactor λ j (n 1) na). Dus de interpretatie van de PC s kan afgelezen worden. 28
2. Uit Vergelijking 7 volgt onmiddellijk dat en h i 2 = ˆσ 2 i h t i h j = ˆσ ij (dit laatste is de orthogonale projectie van vector h i op vector h j of vice versa). Het is echter eenvoudiger om naar de correlatie te kijken: ˆρ ij = ˆσ ij ˆσ iˆσ j = ht i h j h i h j = cos(h i, h j ). Dus de cosinus van de hoek tussen twee vectoren geeft de correlatie tussen de twee overeenkomstige oorspronkelijke variabelen.
3. Uit Vergelijking 8 volgt Dan is g t i g j = X t i ˆΣ 1 X i. g i g j 2 = (g t i g i + g t j g j 2g t i g j) = (X i X j ) t ˆΣ(X i X j ) en deze laatste uitdrukking blijft correct wanneer de observaties X i uit de niet-gecentreerde datamatrix komen. Euclidische afstanden tussen de punten in de biplot zijn dus gelijk aan de Mahalanobis-afstanden tussen de overeenkomstige observaties.
4. Tenslotte herhalen we nogmaals dat iedere oorspronkelijke observaties X ij gereconstrueerd wordt door g i te projecteren op h j.
Gereduceerde Biplot: Biplot in q < p dimensies Gabriel factorisatie: n q matrix G q p matrix H bandering X q van de datamatrix X X q = GH t. Hoe beter de benadering, hoe nauwkeuriger de gereduceerde biplot interpreteerbaar is. 29
Voorbeeld: > biplot(industrie.pca,olab=industrie$country) 30
-6-4 -2 0 2 4 Comp. 2-0.6-0.4-0.2-0.0 0.2 0.4 Turkey MIN Hungary Czechoslovakia E. Germany Poland Romania Bulgaria USSR PS Luxembourg MAN TC AGR W. Germany Austria CON Greece Ireland UK Portugal Spain Yugoslavia Switzerland Italy Finland France Belgium Norway SPS Sweden SER Denmark Netherlands FIN -6-4 -2 0 2 4-0.6-0.4-0.2-0.0 0.2 0.4 Comp. 1