Principale componenten E. Omey HI AJ 2006 2007 1 Principale Componenten 1. Inleiding In econometrische studies is het bij de selectie van verklarende variabelen van groot belang om QMC te vermijden. We willen immers werken met (econometrisch) stabiele modellen. De praktijk leert dat QMC veel voorkomt. Meer nog, bij de gewone selectie van variabelen komt het frequent voor dat omwille van QMC veel verklarende variabelen uit het model verdwijnen. Meteen verdwijnt ook veel relevante informatie. Om QMC (en het verwijderen van informatie) te vermijden helpt het niet steeds om bijkomende data te vinden of om de variabelen geschikt te transformeren. Als alternatief bekijken we hier hoe we op een verstandige manier verklarende variabelen kunnen samenvoegen tot één of meerdere nieuwe verklarende variabelen. Naast toepassingen in econometrie kan het ook de bedoeling zijn om databanken te reduceren. Indien we over een groot aantal variabelen beschikken kan nuttig zijn om de onderliggende dimensies te zoeken. Op die manier reduceren we het grote aantal variabelen tot een beperkt aantal factoren die voldoende van de oorspronkelijke variantie verklaren. Mogelijke toepassingen zijn: - antwoorden op een groot aantal (enquëte) vragen reduceren tot een beperkt(-er) aantal onderliggende dimensies; - een index creëren voor aandelen: we vertrekken van de koers van k aandelen en zoeken de belangrijkste (eerste) principale component; - profielen opsellen van klanten op basis van een aantal kenmerken; enzovoort. In principe gaat men er van uit dat de variabelen van het type interval of van het type ratio zijn. Ook dienen er genoeg waarnemingen te zijn. Als vuistregel wordt aangenomen dat er ongeveer 10 keer zoveel waarnemingen moeten zijn als variabelen. Tot slot is het slechts zinvol om principale componenten te gaan zoeken als de variabelen onderling voldoende gecorrelleerd zijn: als de variabelen onderling slechts lage correlaties vertonen dan wijst er dit op dat de variabelen onderling niet (of zwak) afhangen van elkaar. Dan lijkt het moeilijk verdedigbaar om de variabelen te transformeren tot ongecorrelleerd nieuwe variabelen.
Principale componenten E. Omey HI AJ 2006 2007 2 2. Notaties We vertrekken van k verklarende variabelen X(1) data: x(1,1), x(1,2),, x(1,n) X(2) data: x(2,1), x(2,2),, x(2,n) X(k) data: x(k,1), x(k,2),, x(k,n) De datamatrix stellen we voor door X: X = x(1,1) x(1,2) x(1,3)... x(1, n) x(2,1) x(2,2) x(2,3)... x(2, n) x(3,1) x(3,2) x(3,3)... x(3, n)............... x( k,1) x( k,2) x( k,3)... x( k, n) We plaatsen de data per variabele in kolommen en we noteren kortweg als X = (x(1), x(2),, x(k)). Om geen last te hebben van de verschillende meeteenheden veronderstellen we hierbij dat de data gestandardiseerd zijn. Dit betekent dat voor elke j = 1,2,, k het rekenkundig gemiddelde gelijk is aan 0 is en dat de (steekproef-) variantie gelijk is aan 1: n 1 x ( j) = x( j, i) = 0 n i= 1 2 s ( j) = 1 Hierbij is 2 V ( j) 1 2 1 2 s ( j) = = ( x( j, i) x( j)) = x ( j, i) n n n de gebruikelijke steekproefvariantie. Bemerk dat s²(j) = V(j)/n, waarbij V(j) = V(X(j)) de variatie is van X(j). Bemerk eveneens dat V(j) in matrixnotatie kan geschreven worden als V(j) = x(j,1)*x(j,1) + x(j,2)*x(j,2) +... + x(j,n)*x(j,n) x( j,1) =( x( j,1)... x( j, n) )... x( j, n) = x T (j)x(j) De totale variabiliteit in de data kan weergegeven worden door
Principale componenten E. Omey HI AJ 2006 2007 3 of door 2 2 2 TV = s (1) + s (2) +... + s ( k) = k TVV = V(1) + V(2) + + V(k) = nk De variabelen kunnen onderling gecorreleerd zijn en de variantie-covariantie-matrix stellen we voor door C, dit is C = (c(i, j)) = (r(x(i), X(j)) In de plaats van c(i, j) gebruikt men soms ook de variatie-covariatie-matrix waarbij C*(i, j) = V(X(i), X(j)). Herinner dat V(X(i), X(j)) de covariatie is tussen X(i) en X(j): C *( i, j) = V ( i, j) = ( x( i, s) x( i))( x( j, s) x( j)) = nr( i, j) Bemerk dat r(i,j) in dit geval gelijk is aan r(i,j) = C*(i,j)/n. Omdat C(i, j) = C(i, j) is de matrix C* een symmetrische matrix. Bij gestandardiseerde gegevens vinden we In matrix notatie vinden we hier: C *( i, j) = x( i, s) x( j, s) C*(i,j) = x T (i)x(j) = x T (j)x(i). De variatie-covariatie-matrix C* (bij gestandardiseerde gegevens) is dus gelijk aan C* = X T X waarbij X T de getransponeerde matrix is van de matrix X. De variantie-covariantie-matrix C is dezelfde matrix op een gemeenschappelijke factor n na.
Principale componenten E. Omey HI AJ 2006 2007 4 Voorbeeld. We bekijken de volgende ruwe data i.v.m. de consumptie van varkensvlees. De correlatiematrix is de volgende Y X1 X2 25,65 29,79 34,59 29,12 29,55 32,71 29,82 31,62 35,8 30,96 31,26 37,03 32,23 30,9 38,27 31,89 35,9 41,13 33,55 33,3 40,2 34,39 30,5 41,97 35,62 33,6 49,37 38,22 43,3 50,53 38,78 35,1 48,33 36,67 41,6 57,3 36,99 45,7 58,53 36,84 45,1 61 39,16 42,1 63,37 40,94 41,7 62,87 41,17 43,3 60,77 41,27 48,1 68,57 43,47 57,9 78,6 44,27 54,8 80,7 46,18 58,7 77,8 46,05 59,7 80,97 47,14 53,6 77,2 45,57 45,9 74,13 46,92 45,6 77 Y X1 X2 Y 1 X1 0,871277 1 X2 0,952849 0,942804 1 We merken dat de correlatie tussen X1 en X2 groot is. Het is onmogelijk om in één model tegelijk X1 en X2 op te nemen als verklarende variabelen. Om te standardiseren berekenen we het rekenkundig gemiddelde en de (steekproef-) standaardafwijking. m = 38,1148 41,9448 57,1496 s² = 36,5411 89,9737 264,1769 s = 6,044923 9,485447 16,25352 en we vinden de volgende nieuwe tabel:
Principale componenten E. Omey HI AJ 2006 2007 5 y x(1) x(2) -2,06203-1,28142-1,38798-1,48799-1,30672-1,50365-1,37219-1,08849-1,31354-1,1836-1,12644-1,23786-0,97351-1,16439-1,16157-1,02976-0,63727-0,98561-0,75515-0,91138-1,04283-0,61619-1,20656-0,93393-0,41271-0,87975-0,47864 0,017403 0,142872-0,40727 0,110043-0,72161-0,54263-0,23901-0,03635 0,009253-0,18607 0,395891 0,084929-0,21089 0,332636 0,236896 0,172905 0,016362 0,382711 0,467367-0,02581 0,351948 0,505416 0,142872 0,222746 0,521959 0,64891 0,702642 0,8859 1,682072 1,319739 1,018243 1,355255 1,448942 1,33421 1,766411 1,270519 1,312705 1,871836 1,465553 1,493021 1,228746 1,233604 1,233299 0,416976 1,044722 1,456627 0,385348 1,221299 De correlatiematrix en de variatie-covariatiematrix is gelijk aan: C x(1) x(2) x(1) 1 0,942804 x(2) 0,942804 1 C* x(1) x(2) x(1) 25 23,5701 x(2) 23,5701 25 Bemerk dat deze matrices mooie symmetrische matrices zijn. Grafisch vinden we het volgende scatterdiagram
Principale componenten E. Omey HI AJ 2006 2007 6 scatter x(1) vs x(2) 2 1,5 1 0,5 0-2 -1-0,5 0 1 2 3-1 -1,5-2 De totale varia(n)tie in de data kan worden voorgesteld met TV = s²(1) + s²(2) = 2 TVV = 25*2 = 50 De grote correlatiecoëfficiënt (r = 0,94) komt tot uiting in de aanwezigheid van een lineaire band in de grafiek.
Principale componenten E. Omey HI AJ 2006 2007 7 3. De eerste principale component 3.1. Constructie We construeren nu een eerste nieuwe variabele z(1) als volgt. Voor getallen a(1), a(2),, a(k) die we later bepalen stellen we Toegepast op onze data krijgen we z(1) = a(1)x(1) + a(2)x(2) + + a(k)x(k) z(1,i) = a(1)x(1,i) + a(2)x(2,i) + + a(k)x(k,i) voor i = 1, 2,, n 3.2. Voorbeeld (vervolg) We nemen bijvoorbeeld a(1) = 0,6 en a(2) = -0,3 en berekenen z(1) = 0,6*x(1) 0,3*x(2). We vinden de volgende tabel: x(1) x(2) z(1) -1,2814-1,3880-0,3525-1,3067-1,5036-0,3329-1,0885-1,3135-0,2590-1,1264-1,2379-0,3045-1,1644-1,1616-0,3502-0,6373-0,9856-0,0867-0,9114-1,0428-0,2340-1,2066-0,9339-0,4438-0,8797-0,4786-0,3843 0,1429-0,4073 0,2079-0,7216-0,5426-0,2702-0,0364 0,0093-0,0246 0,3959 0,0849 0,2121 0,3326 0,2369 0,1285 0,0164 0,3827-0,1050-0,0258 0,3519-0,1211 0,1429 0,2227 0,0189 0,6489 0,7026 0,1786 1,6821 1,3197 0,6133 1,3553 1,4489 0,3785 1,7664 1,2705 0,6787 1,8718 1,4656 0,6834 1,2287 1,2336 0,3672 0,4170 1,0447-0,0632 0,3853 1,2213-0,1352 m 0,0000 0,0000 0,0000 s² 1,0000 1,0000 0,1106
Principale componenten E. Omey HI AJ 2006 2007 8 Bemerk dat het rekenkundig gemiddelde van z(1) gelijk is aan: z ( 1) = a(1) x(1) + a(2) x(2) = 0 We vinden als resultaat steeds de waarde 0 omdat de variabelen gestandardiseerd zijn. Voor de varia(n)tie vinden we en s ²( z(1)) = a²(1) s²(1) + a²(2) s²(2) + 2a(1) a(2) r(1,2) = 0,1106 V ( z(1)) = a²(1) V (1) + a²(2) V (2) + 2a(1) a(2) V (1,2) = 2,7647 Bij andere keuzes van a(1) en a(2) vinden we uiteraard andere waarden. Bij de keuze a(1) = a(2) = 0,8 vinden we bijvoorbeeld dat s²(z(1)) = 2,49 3.3. Matrixnotatie In het algemeen is het handig om met matrixnotaties te werken. In matrixnotatie vinden we dat z(1) = Xa, waarbij en X de datamatrix is, a de kolom met daarin a(1), a(2),, a(k) z(1) de kolom met z(1,i)-waarden. We berekenen nu V(z(1)) en vinden V(z(1)) = Σ i Σ j a(i)a(j)v(i, j) = Σ i Σ j a(i)a(j)c(i, j) In matrixnotatie is V(z(1)) gelijk aan: V(z(1)) = a T C a Wanneer we met de variantie-covariantiematrix werken vinden we s²(z(1)) = V(z(1))/n. We willen nu met één variabele (z(1)) zovéél mogelijk van de totale variatie TVV vastleggen. Dit betekent dat we een zo goed mogelijke vector a wensen te vinden. Dit leidt tot het volgend optimalisatieprobleem: max s²(z(1)) = a T C* a of max s²(z(1)) = a T C a
Principale componenten E. Omey HI AJ 2006 2007 9 3.4. Voorbeeld (vervolg) In ons voorbeeld moeten we de volgende functie maximaliseren: s ²( z(1)) = a²(1) s²(1) + a²(2) s²(2) + 2a(1) a(2) r(1,2) Omdat de gegevens gestandardiseerd zijn is dit: s ²( z(1)) = a²(1) + a²(2) + 2a(1) a(2) r(1,2) Als we geen bijkomende voorwaarden opleggen aan de getallen a(1) en a(2) leidt dit optimaliseringsprobleem niet tot een oplossing! (Waarom niet?) 3.5. Optimaliseren Als we geen restricties opleggen aan de getallen (a(1), a(2),..., a(k)) dan leidt dit probleem niet tot een oplossing: door a geschikt te kiezen kan men V(z(1)) of s(z(1)) zo groot maken als men maar wil! Om de coëfficiënten a(j) onder controle te houden eisen we dat de vector a = (a(1), a(2),, a(k)) een genormaliseerde vector is, d.w.z. dat Σ a²(j) = 1. In matrixnotatie kunnen we deze voorwaarde herschrijven als: a T a = 1. Dit leidt tot het volgend optimalisatieprobleem: max s²(z(1)) = a T C a randvoorwaarde: a T a = 1 Voor een 2x2-voorbeeld vinden we: max V(z(1)) = a²(1)c(1,1) + 2a(1)a(2)C(1,2) + a²(2)c(2,2) randvoorwaarde: a²(1) + a²(2) = 1 Met de methode van Lagrange vinden we L = a²(1)c(1,1) + 2a(1)a(2)C(1,2) + a²(2)c(2,2) - λ(a²(1) + a²(2) 1) Afleiden naar a(1) en naar a(2) geeft: 2a(1)C(1,1) + 2a(2)C(1,2) - 2λa(1) = 0 2a(1)C(1,2) + 2a(2)C(2,2) - 2λa(2) = 0 en a²(1) + a²(2) = 1
Principale componenten E. Omey HI AJ 2006 2007 10 Vereenvoudigen geeft: a(1)c(1,1) + a(2)c(1,2) = λa(1) (**) a(1)c(1,2) + a(2)c(2,2) = λa(2) en a²(1) + a²(2) = 1 In matrixnotatie vinden we Ca = λa en a T a = 1 We merken de vector a een genormaliseerde rechtereigenvector is van de matrix C bij de eigenwaarde λ. Voor een kxk-probleem vinden we identiek dezelfde vergelijkingen Ca = λa en a T a = 1 In het algemeen heeft een kxk-matrix meerdere eigenwaarden (en bijhorende genormaliseerde eigenvectoren). Welke eigenwaarde moeten we nu kiezen? Bemerk dat uit Ca = λa en a T a = 1 volgt dat s²(z(1)) = a T C a = λ a T a = λ Omdat we V(z(1)) willen maximaliseren volgt hieruit dat we de grootste eigenwaarde moeten kiezen. Opmerking. Het bestaan van een grootste (reële) eigenwaarde is gegarandeerd omdat de matrix C een symmetrische matrix is
Principale componenten E. Omey HI AJ 2006 2007 11 3.6. Procedure De nieuwe variabele z(1) vinden we bijgevolg via de volgende procedure: - bepaal de grootste eigenwaarde λ(1) van de matrix C; - bepaal de bijhorende genormaliseerde rechtereigenvector a; - bereken nu z(1) = Xa - De gevonden a is de oplossing van het optimaliseringsprobleem max V(z(1)) = a T C a randvoorwaarde: a T a = 1 Uit de constructie volgt onder meer dat s²(z(1)) = a T C a = a T λ(1) a = λ(1) De nieuwe variabele z(1) noemen we de eerste principale component. Als matrix C kiezen we ofwel de covariatiematrix ofwel de covariantiematrix. Opmerking Om de bijdrage tot z(1) van de twee variabelen te bepalen berekenen we covariaties en correlaties. De covariantie tussen z(1) en x(1) is gelijk aan C(z(1), x(1)) = a(1)c(1,1) + a(2)c(1, 2) Dank zij formule (**) vinden we C(z(1), x(1)) = a(1)c(1,1) + a(2)c(1, 2) = λ(1)a(1) Anderzijds weten we dat s²(z(1)) = λ(1) en dat s²(x(1)) = 1. De correlatiecoëfficiënt tussen z(1) en x(1) is bijgevolg gelijk aan r(z(1), x(1)) = λ(1)a(1)/ λ(1) = a(1) λ(1) Op gelijkaardige wijze vinden we dat Bemerk nu dat r(z(1), x(2)) = a(2) λ(1) r²(z(1), x(1)) + r²(z(1), x(2)) = a²(1) λ(1) + a²(1) λ(1) = λ(1) Men noemt r²(z(1), x(1)) de bijdrage van x(1) tot de eerste principale component.
Principale componenten E. Omey HI AJ 2006 2007 12 3.7. Praktisch Om z(1) effectief te bepalen kunnen we bijvoorbeeld de solver-functie van EXCEL gebruiken. We illustreren m.b.v. het vorige voorbeeld - we beginnen met arbitrair gekozen waarden a(1) en a(2) start kwadrateren a(1) 0,6 0,36 a(2) -0,3 0,09 som = 0,45 1 = must In het voorbeeld beginnen we met (0,6, -0,3); Om de eis a²(1) + a²(2) = 1 hard te maken berekenen we a²(1) en a²(2) en berekenen we de som. Hier vinden we som = 0,45. In een lege cel plaatsen we de waarde 1. Later eisen we dat de inhoud van de cel waar we de som berekenden gelijk moet zijn aan de inhoud van de cel waar we het getal 1 plaatsten. - De doelfunctie is de functie f = a T C a. In een lege cel gebruiken we de formules om voor onze keuze van a(1) en a(2) de functiewaarde van f te berekenen. In ons voorbeeld vinden we f = 0,110591 - We activeren nu de solver en vullen de volgende gegevens in: - Bij de target cell klikken we op de cel waar we de doelfunctie berekenden. - We willen hier maximaliseren.
Principale componenten E. Omey HI AJ 2006 2007 13 - Bij by changing cells klikken we op ons eerste voorstel van a-waarden - Bij de voorwaarden eisen we dat de berekende som van de kwadraten gelijk is aan 1. - Nu klikken we op solve en vinden de volgende output: start kwadrateren a(1) 0,707107 0,5 a(2) 0,707107 0,5 som = 1 1 = must f = 1,942804 We vinden optimale a-waarden gelijk aan (afgerond) a(1) = 0,7071, a(2) = 0,7071 De som van de kwadraten is (zo goed als) gelijk aan 1. De maximale waarde van de doelfunctie is f* = 1.9428 We besluiten dat - dee grootste eigenwaarde van C is dus gelijk aan 1.9428... - de bijhorende genormalseerde rechtereigenvector is a T = (0,7071, 0,7071) De eerste principale component kunnen we dus bepalen via de volgende formule: z(1) = 0.7071*x(1) + 0.7071*x(2) Opmerking. Bij grotere problemen is het aan te raden om de solver 2 of 3 maal te gebruiken met andere startwaarden voor a. 3.8. Grafische betekenis (voor k = 2) In het scatterdiagram kunnen we de rechte tekenen met vergelijking y = x. Dit is de vergelijking van de rechte lijn door de oorsprong en door de gevonden vector (a(1), a(2)) = (0,7071, 0,7071). Dit is de eerste bissectrice! Voor het voorbeeld vinden we de volgende grafiek:
Principale componenten E. Omey HI AJ 2006 2007 14 2,0000 1,5000 1,0000 0,5000 0,0000-2,0000-1,5000-1,0000-0,5000 0,0000 0,5000 1,0000 1,5000 2,0000-0,5000-1,0000-1,5000-2,0000 De eerste principale component correspondeert nu met de projectie van de verschillende punten op de diagonaal.
Principale componenten E. Omey HI AJ 2006 2007 15 4. Tweede principale componenten 4.1. Algemeen We construeren nu een tweede variabele z(2) als volgt. Voor getallen b(1), b(2),, b(k) die we later zullen bepalen stellen we z(2) = b(1)x(1) + b(2)x(2) + + b(k)x(k) Toegepast op onze data krijgen we z(2,i) = b(1)x(1,i) + b(2)x(2,i) + + b(k)x(k,i) voor i = 1, 2,, n In matrixnotatie vinden we dat waarbij en z(2) = Xb, X de datamatrix is, b de kolom met daarin b(1), b(2),, b(k) z(2) de kolom met z(i)-waarden. Om de coëfficiënten b(j) onder controle te houden eisen we opnieuw dat de vector (b(1), b(2),, b(k)) een genormaliseerde vector is, d.w.z. dat Σ b²(j) = 1. In matrixnotatie kunnen we deze voorwaarde herschrijven als: b T b = 1. Om geen QMC te vermijden eisen we eveneens dat V(z(1), z(2)) = 0 of dat de correlatie tussen de reeds gevonden principale component en de nieuwe component gelijk is aan 0. We vinden hier V(Z(1), Z(2)) = Σ z(1,i)z(2, j) = z T (2)z(1) = b T X T Xa = b T C a (constructie a!) = b T λ(1)a = λ(1) b T a Omdat we willen dat V(z(1), z(2)) gelijk is aan 0 volgt dat we bijkomend moeten eisen dat b T a = 0. In matrixnotatie is s²(z(2)) gelijk aan s²(z(2)) = b T C b Omdat we de variatie willen maximaliseren vinden we het volgend optimalisatieprobleem: max s²(z(2)) = b T C b randvoorwaarden: b T b = 1 en b T a = 0 Hier is a uiteraard de vector die we reeds vonden bij de eerste principale component. Het optimalisatieprobleem leidt tot de volgende vergelijking:
Principale componenten E. Omey HI AJ 2006 2007 16 Cb = λb Hieruit volgt dat de vector b een genormaliseerde rechtereigenvector is van de matrix C bij de eigenwaarde λ. Welke eigenwaarde moeten we nu kiezen? Bemerk dat uit Cb = λb volgt dat s²(z(2)) = b T Cb = λb T b = λ Omdat we s²(z(2)) willen maximaliseren volgt hieruit dat we de tweede grootste eigenwaarde van C moeten kiezen. 4.2. Procedure De nieuwe variabele z(2) vinden we bijgevolg als volgt: - bepaal de tweede grootste eigenwaarde λ(2) van de matrix C; - bepaal de bijhorende rechtereigenvector b; - bereken nu z(2) = Xb Opmerking Het bestaan van een tweede grootste (reële) eigenwaarde is gegarandeerd omdat de matrix C een symmetrische matrix is. Uit deze constructie volgt onder meer dat s²(z(2)) = b T Cb = b T λ(2)b = λ(2) De nieuwe variabele z(2) noemen we de tweede principale component.
Principale componenten E. Omey HI AJ 2006 2007 17 4.3. Voorbeeld (vervolg). Voor ons voorbeeld gebruiken we opnieuw EXCEL en de solver-optie. We vinden hier het volgende resultaat f* = 0,057196 We vinden nu b(1) = -0,7071 en b(2) = +0,7071 a b b² ab 0,707107-0,70710709 0,5-0,5 0,707107 0,707107088 0,5 0,5 som = 1,000001 0 eis = 1 0 De doelfunctie heeft nu de optimale waarde f* = 0.0572... Dit is meteen de tweede grootste eigenwaarde van de matrix C. De tweede principale component is dus gelijk aan We vinden de volgende tabel met data: z(2) = -0,7071*x(1) + 0.7071*x(2) x(1) x(2) z*(1) z*(2) -1,2814-1,3880-1,8875-0,07535-1,3067-1,5036-1,9872-0,13925-1,0885-1,3135-1,6985-0,15913-1,1264-1,2379-1,6718-0,07879-1,1644-1,1616-1,6447 0,001997-0,6373-0,9856-1,1475-0,24631-0,9114-1,0428-1,3818-0,09295-1,2066-0,9339-1,5136 0,192784-0,8797-0,4786-0,9605 0,283625 0,1429-0,4073-0,1870-0,38901-0,7216-0,5426-0,8940 0,126561-0,0364 0,0093-0,0192 0,032247 0,3959 0,0849 0,3400-0,21988 0,3326 0,2369 0,4027-0,0677 0,0164 0,3827 0,2822 0,259048-0,0258 0,3519 0,2306 0,267114 0,1429 0,2227 0,2585 0,05648 0,6489 0,7026 0,9557 0,037994 1,6821 1,3197 2,1226-0,25621 1,3553 1,4489 1,9829 0,066246 1,7664 1,2705 2,1474-0,35065 1,8718 1,4656 2,3599-0,28729 1,2287 1,2336 1,7411 0,003435 0,4170 1,0447 1,0336 0,443883 0,3853 1,2213 1,1361 0,591106 0,0000 0,0000 0,0000 0,0000 1,0000 1,0000 1,9428 0,0572
Principale componenten E. Omey HI AJ 2006 2007 18 Bemerk dat λ(1) + λ(2) = 1,9428 + 0,0572 = 2 Opmerking. In de terminologie van lineaire algebra voerden we de volgende manipulaties uit: * we vertrekken van (x(1), x(2)) en van de eenheidsbasisvectoren e T (1) = (1,0) en e T (2) = (0, 1) * we construeren (z(1), z(2)) = (a(1)x(1) + a(2)x(2), b(1)x(1) + b(2)x(2)) In matrixnotatie is dit de volgende transformatie : z(1) a(1) = z(2) b(1) a(2) x(1) = b(2) x(2) x(1) A x(2) We kunnen ook de omgekeerde transformatie uitvoeren. In dit geval vinden we x(1) a(1) b(1) z(1) t z(1) = = A x(2) a(2) b(2) z(2) z(2) waarbij A t = A -1 de inverse is van de matrix A. In feite vervangen wij bij principale componenten de eenheidsbasis e T (1) = (1,0) en e T (2) = (0, 1) door een nieuwe basis a T en b T. Grafisch betekent dit dat we ons assenkruis roteren tot de coördinaten van de punten t.o.v. de nieuwe basis loodrecht op elkaar staan. Zie verderop.
Principale componenten E. Omey HI AJ 2006 2007 19 4.4. Bemerkingen 4.4.1. Informatie In ons voorbeeld met twee variabelen vinden we dat λ(1) + λ(2) = 1,9428 + 0,0572 = 2 Dit is uiteraard geen toeval! Intuïtief kunnen we dit verklaren als volgt: we vertrekken met informatie over twee variabelen en we construeren 2 nieuwe variabelen. De informatie vervat in de nieuwe variabelen is even groot als de informatie vervat in de oude variabelen. We merken ook dat de eerste principale component een groot deel van het totaal (nl. 2) vertegenwoordigt. Met de eerste principale component verklaren we 1,94/2 = 0,97 van het totaal. Met andere woorden: de eerste principale component vertegenwoordigt 97% van de totale informatie. De tweede component vertegenwoordigt slechts 3% van het totaal. Dit betekent eigenlijk dat z(2) een overbodige variabele is. 4.4.2. Grafisch Grafisch vinden we het volgend beeld. Op de grafiek tekende ik de twee rechten: * door de oorsrpong en (a(1), a(2)): y = x * door de oorsprong en (b(1), b(2)): y = - x 2,0000 1,5000 1,0000 0,5000 0,0000-2,0000-1,5000-1,0000-0,5000 0,0000 0,5000 1,0000 1,5000 2,0000-0,5000-1,0000-1,5000-2,0000
Principale componenten E. Omey HI AJ 2006 2007 20 De twee rechten staan loodrecht op elkaar. De principale componenten vinden we nu door de oorspronkelijke puntenkoppels te projecteren op deze rechten. Wanneer we nu alles bekijken vanuit het standpunt van de twee getekende rechten (en dus alles roteren), dan vinden we: 0,8 0,6 0,4 0,2 0-3 -2-1 0-0,2 1 2 3-0,4-0,6 4.4.3. Diagonaliseren De gevolgde werkwijze komt er op neer dat we de correlatiematrix diagonaliseren. Onze constructie toonde dat In matrix notatie vinden we b T C a = b T C a = 0 a T C a = λ(1) b T C b = λ(2) a(1) b(1) a(2) a(1) C b(2) a(2) b(1) λ(1) = b(2) 0 0 λ(2) De twee kolomvectoren a en b vormen een nieuwe basis voor de twee-dimensionele ruimte.
Principale componenten E. Omey HI AJ 2006 2007 21 5. Volgende principale componenten Het procédé zoals hiervoor beschreven zetten we nu verder om nieuwe variabelen te genereren. We bepalen de eigenwaarden van de matrix C en bepalen telkens een bijhorende genormaliseerde rechtereigenvector. Vervolgens construeren we hiermee nieuwe variabelen Z(j): λ(1) a z(1) = Xa s²(z(1)) = λ(1) λ(2) b z(2) = Xb s²(z(2)) = λ(2) en V(z(1), z(2)) = 0 λ(j) d z(j) = Xd s²z(j)) = λ(j) en V(z(j),Z(i)) = 0, i j Wanneer we vertrekken van k variabelen, dan kunnen we in principe k principale componenten bepalen. Van de bijhorende eigenwaarden weten we dat λ(1) +λ(2) +... + λ(k) = k Over hoeveel principale componenten men moet nemen is er onenigheid bij verschillende auteurs. Meestal spreekt men vooraf een bepaald percentage (p) af en men berekent principale componenten 1, 2,..., r tot (λ(1) +λ(2) +... + λ(r))/k > p.
Principale componenten E. Omey HI AJ 2006 2007 22 6. Uitgewerkt voorbeeld We gebruiken data omtrent de prijs (in BEF) van tweedehandswagens en een viertal relevante variabelen. PRIJS LEEFTIJD OPTIES KM DEUREN Y X1 X2 X3 X4 1 124000 79 3 123000 5 2 119000 97 4 104000 5 3 400000 19 10 15000 3 4 500000 17 12 24000 3 5 480000 22 11 45000 3 6 434000 19 10 30000 5 7 479000 8 12 91000 5 8 485000 30 14 29000 3 9 405000 14 8 33000 3 10 385000 34 11 86000 5 11 322000 33 7 41000 5 12 372000 29 10 15000 5 13 265000 58 1 95000 5 14 390000 36 11 47000 5 15 455000 19 12 50000 5 16 690000 8 14 39000 2 17 477000 19 16 35000 5 18 256000 90 7 90000 5 19 720000 4 15 40000 2 20 400000 13 7 47000 3 21 450000 14 4 14000 5 22 420000 9 7 30000 5 23 285000 35 9 54000 3 24 362000 14 11 41000 3 25 457000 14 8 54000 3 26 462000 25 14 32000 5 27 285000 78 11 145000 2 28 310000 41 9 78000 5 29 161000 66 3 84000 5 30 285000 36 8 54000 3 31 350000 28 5 117000 3 32 64000 114 4 128000 5 33 463000 25 14 32000 5 34 164000 61 10 140000 5 35 310000 24 8 30000 3 m 371028,5714 35,2 9,142857 60342,86 4,057143 s 141209,9725 27,46093 3,712087 37202,11 1,119767 De correlatiematrix is gelijk aan: C Y X1 X2 X3 X4 Y 1,00 X1-0,84 1,00 X2 0,72-0,53 1,00 X3-0,66 0,75-0,42 1,00 X4-0,41 0,33-0,28 0,16 1,00
Principale componenten E. Omey HI AJ 2006 2007 23 Na standardiseren vinden we de volgende principale componenten. a b c d 0,59889 0,1555 0,223-0,753-0,4895 0,0499 0,862-0,124 0,54406 0,4099 0,376 0,6284 0,3251-0,897 0,258 0,1496 lambda 2,30002 0,8844 0,597 0,2186 cumul 2,30002 3,1844 3,781 4 % 0,575 0,7961 0,945 1 Met de eerste component verklaren we 2,3/4 = 57% van de totale variabiliteit. Met de eerste en de tweede principale component verklaren we 79% van de totale variatie. Met 3 componenten samen verklaren we 94% van de variatie. In het licht van de (gestandardiseerde) prijs bekijken we de volgende (z(1), Y) ) grafiek: y versus z(1) z(1) 4 3 2 1 0-3 -2-1 -1 0 1 2 3-2 -3 y We merken dat een grote resp. lage z(1)-score overeenstemt met een grote resp. lage (gestandardiseerde) prijs. De z(1)-score kan als het ware dienen als een soort prijsindex.
Principale componenten E. Omey HI AJ 2006 2007 24 7. Hoeveel componenten? Bij deze analyses kunnen we vertrekkend van k variabelen in principe k principale componenten bepalen. Veelal zal men voor verder gebruik enkel de belangrijke componenten weerhouden. Empirisch stelt men vast dat vanaf een ogenblik de eigenwaarden zeer klein worden en dit impliceert dat de marginale bijdrage van de bijhorende componenten zeer klein worden. In de literatuur is men het niet eens over het aantal componenten dat men moet weerhouden. Dikwijls legt men de grens op p = 50 % We werkten het vorige voorbeeld uit wanneer we beschikken over meer informatie. Via de beschreven procedure bepaalden we de eerste drie principale componenten en vonden de volgende resultaten: a b c X1 LEEFTIJD 0,54501-0,05446-0,33878 X2 OPTIES -0,4618-0,0532-0,03794 X4 CC -0,22533 0,34384-0,09657 X5 # eig 0,2739 0,274179 0,28179 X6 BORG -0,08387-0,47581 0,47806 X7 DEUREN 0,31571-0,10777 0,257466 X9 VERSN 0,170629-0,3923 0,3994 X10 KM 0,46787 0,015384-0,20044 X11 DIESEL 0,095977 0,63927 0,54821 eigenwaarden 2,606 1,554 0,878 cumulatief/9 29% 46% 56% Bij de eerste principale component spelen vooral de kenmerken van de auto s mee (leeftijd, opties, # deuren, # km). Bij de tweede component zijn het objectieve kenmerken ( CC, Diesel of niet) die doorwegen. Met de drie componenenten samen bekomen we 56% van de variatie in de oorspronkelijke data. In vele gevallen is het moeilijk om een concrete (economische) betekenis te geven aan de principale componenten zelf. 8. Regressie-analyse In praktijkstudies willen we een variabele y verklaren met één of méér verklarende variabelen x(1), x(2),..., x(k). Het doel van principale componenten is om dit uit te voeren met minder, maar betere verklarende variabelen. Stel dat we vertrekken van 5 variabelen x(1), x(2), x(3),x(4) en x(5) en daaruit 2 principale compontenten distilleren: z(1) = a(1)x(1) + a(2)x(2) + a(3)x(3) + a(4)x(4) + a(5)x(5) z(2) = b(1)x(1) + b(2)x(2) + b(3)x(3) + b(4)x(4) + b(5)x(5) Een regressie van y op z(1) en z(2) geeft dan:
Principale componenten E. Omey HI AJ 2006 2007 25 y = uz(1) + vz(2) + e = (ua(1) + vb(1))x(1) + (ua(2) + vb(2))x(2) +... + (ua(5) + vb(5))x(5) + e Deze laatste formule is dan op zijn beurt nuttig om voorspellingen te maken en te beoordelen. Opmerking Om het met de woorden van G.S. Madalla te zeggen: The method of PCA is of limited use and it can be (and has been) easily misused in econometric work Bronnen G. Henrion, A. Henrion und R. Henrion. Beispiele zur Datenanlyse mit BASIC- Programmen. VEB Deutscher Verlang dr Wissenschaften, Berlin 1988. J. Johnston. Econometric Methods (2nd edition). McGraw-Hill Inc. 1972. G.S. Maddala. Econometrics. McGraw-Hill Inc. 1977. Website: http://www.statsoft.com/textbook.stfacan.html
Principale componenten E. Omey HI AJ 2006 2007 26 Principale Componenten...1 1. Inleiding...1 2. Notaties...2 3. De eerste principale component...7 3.1. Constructie...7 3.2. Voorbeeld (vervolg)...7 3.3. Matrixnotatie...8 3.4. Voorbeeld (vervolg)...9 3.5. Optimaliseren...9 3.6. Procedure...11 3.7. Praktisch...12 3.8. Grafische betekenis (voor k = 2)...13 4. Tweede principale componenten...15 4.1. Algemeen...15 4.2. Procedure...16 4.3. Voorbeeld (vervolg)....17 4.4. Bemerkingen...19 4.4.1. Informatie...19 4.4.2. Grafisch...19 4.4.3. Diagonaliseren...20 5. Volgende principale componenten...21 6. Uitgewerkt voorbeeld...22 7. Hoeveel componenten?...24 8. Regressie-analyse...24