1/26 Eigenwaarden VU Numeriek Programmeren 2.5 Charles Bos Vrije Universiteit Amsterdam c.s.bos@vu.nl, 1A40 22 april 2013
2/26 Overzicht Waarom? Voorbeelden Eigenwaarden/eigenvectoren Hoe vind ik ze? Polynoom Powermethode Andere methodes Terugblik & Huiswerk
3/26 Eigenwaarden: Intro Basis formule: A v = λ v v R n \ 0 A R n n A v λ v = 0 A λi = 0 Beschrijf A via z n eigenvectoren v eigenwaarden λ (of s in Monahan (2011)) Maar eerst: Waarom?
4/26 Beurzen en afhankelijkheid 7000 FRCAC40 6000 5000 4000 3000 2000 1000 90 95 00 05 10 10 8 6 4 AMSTEOE x FRCAC40-2 02-4 -6-8 -8-6 -4-2 0 2 4 6 8 6 FTSE100 x FRCAC40 4 2 0-2 -4-6 -8-6 -4-2 0 2 4 6 8 15 LUXGENI x FRCAC40 10 5 0-5 -10-15 -8-6 -4-2 0 2 4 6 8 800 AMSTEOE 700 600 500 400 300 200 100 90 95 00 05 10 6 FTSE100 x AMSTEOE 4 2 0-2 -4-6 -8-6 -4-2 0 2 4 6 8 10 15 LUXGENI x AMSTEOE 10 5 0-5 -10-15 -8-6 -4-2 0 2 4 6 8 10 7000 6500 FTSE100 6000 5500 5000 4500 4000 3500 3000 2500 2000 90 95 00 05 10 15 LUXGENI x FTSE100 10 5 0-5 -10-15 -6-4 -2 0 2 4 6 1800 LUXGENI 1600 1400 1200 1000 800 600 400 95 00 05 10
5/26 Beurzen: Correlaties, eigenwaardes, eigenvectoren 1.6 1.4 v1 x v2 1.2 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.2 1 0.8 0.6 0.4 0.2 0 v3 x v4-0.2-0.4-0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Eigenvectoren, geschaald naar eigenwaardes Correlatie Fr NL UK L FRCAC40 1.00 0.82 0.77 0.31 AMSTEOE 0.82 1.00 0.77 0.54 FTSE100 0.77 0.77 1.00 0.35 LUXGENI 0.31 0.54 0.35 1.00 Eigenwaarden & -vectoren λ 1 λ 2 λ 3 λ 4 2.83 0.78 0.14 0.24 v 1 v 2 v 3 v 4 Fr 0.95-0.38-0.77-0.63 NL 1.00 0.01 1.00-0.39 UK 0.94-0.30-0.08 1.00 L 0.63 1.00-0.32 0.07
6/26 Waarom? PCA Principale componenten analyse Bekijk in welke richting de meest belangrijke eigenvectoren van een variantie-covariantie matrix liggen. Hoeveel eigenvectoren beschrijven de matrix? Zijn er richtingen die nauwelijks van belang zijn? Herinner je de bivariaat normale verdeling: Genereer 1000 trekkingen Y uit Y = µ + C X N (µ, Σ), µ = Zie plaatje op volgende slide ( ) 1, Σ = 2 ( 1 ).9.9 1
7/26 PCA: Bivariaat normaal 6 y2 x y1 5 4 3 2 1 0-1 -2-3 -2-1 0 1 2 3 4 5 6 7 Wat gebeurt er hier? ( ) ( ) 1.9 0.987 0.869 Σ = ˆΣ =.9 1 0.869 0.972 ( ) ( ) ( ) ( ) 1 0 λ1 1.9 ( ) 1 1 C = = v1 v.9 0.43589.1 2 = 1 1 λ 2
8/26 PCA: Bivariaat normaal, minder correlatie 6 y2 x y1 5 4 3 2 1 0-1 -2-3 -2-1 0 1 2 3 4 5 6 Wat gebeurt er nu, met minder correlatie? ( ) ( ) 1.1 0.987 0.056 Σ = ˆΣ =.1 1 0.056 1.073 ( ) ( ) ( ) ( ) 1 0 λ1 1.1 ( ) 1 1 C = = v1 v.1 0.99499.9 2 = 1 1 λ 2
9/26 Check eigenwaarde A v = λ v Merk op: ( ) 1.9 A = Σ =.9 1 ( 1.9.9 1 λ 1 = 1.9 v 1 = ) ( ) 1 = 1 ( ) 1 1 ( ) 1.9 = 1.9 1.9 ( ) 1 1 Eigenvector geeft richting aan; als v een eigenvector, dan ook αv Werkt alleen voor vierkante matrices A A hoeft niet symmetrisch te zijn Eigenwaarden en vectoren kunnen irreeel zijn
10/26 Irreeele eigenwaarden # include <oxstd.h> main () { decl ma, ir, veigw, meigv ; } ma= <-5, 0, -7, -4; -5, 8, 5, 5; 6, -3, -3, -8; -2, 2, 5, -8>; ir= eigen (ma, &veigw, & meigv ); print (" Eigenvalues : ", "%r", {" real ", " imag "}, veigw ); print (" Eigenvectors ( first real, then imag ): ", meigv ); Eigenvalues: real -9.4816-2.3168-2.3168 6.1153 imag 0.0000 8.1863-8.1863 0.0000 Eigenvectors (first real, then imag): 1.0000-0.087120-0.087120 0.15057-0.0035124-0.65330-0.65330 1.0000 0.14416 1.0000 1.0000-0.25604 0.86812 0.094248 0.094248 0.029660 0.0000 0.87258-0.87258 0.0000 0.0000 0.10177-0.10177 0.0000 0.0000-0.0000 0.0000 0.0000 0.0000-0.40702 0.40702 0.0000
11/26 Definities A v = λ v Basis-vergelijking (A λi n ) v = 0 e.v. in null-space van (A λi n ) c(λ) = A λi n = 0 Karakteristieke vergelijking v A = λ v v is linker e.v. van A, voor gelijkblijvende λ σ(a) = {λ 1,..., λ n } Spectrum E(λ) = v i λ i = λ 0 Eigenruimte voor eigenwaarde λ m(λ) = dim(e(λ)) Meetkundige multipliciteit, dimensie eigenruimte a(λ) = #(λ i = λ) Algebraische multipliciteit, aantal oplossingen voor c(λ).
12/26 Resultaten Als A v = λv, dan R1 (A v B A B 1 )(B v) = λ B v λ v : Similarity transform mbv B R2 A v (A si n ) v = (λ s) v λ v: Shift, verschuiving van de eigenwaarde R3 λ i λ j c 0 : v i = cv j : Eigenvectoren van verschillende eigenwaarden zijn onafhankelijk. R4 A = λ i x i y i, met x i de rechter-eigenvectoren, y i de linker-eigenvectoren: Spectrale decompositie. R5 Skip R6 Skip
Ad R3: Onafhankelijke eigenvectoren (λ i λ j ) Shilov (1977): Als A n verschillende eigenwaarden λ i, i = 1,..., n heeft, met λ i λ j, i j, dan zijn de betreffende eigenwaarden onafhankelijk. Bewijs: 1. Start met de eerste eigenwaarde/eigenvector. v 1 is onafhankelijk van zichzelf. 2. Bewijs uit het ongerijmde: n 1 i=1 α iv i = 0 α i = 0 en α j : n j=1 α jv j = 0 met α 1 0 A n j=1 α jv j = n j=1 α jav j = n j=1 α jλ j v j = 0 Trek af: λ n n j=1 α jv j = 0, dat geeft n n 1 n 1 α j (λ j λ n )v j = α j (λ j λ n )v j α j v j = 0 j=1 j=1 j=1 Dus α j 0, en dit is in tegenspraak met λ 1 λ n, α 1 0. 13/26
14/26 Definities II D = T A T 1 Diagonaliseerbaar Eenvoudige structuur: A heeft n lineair onafhankelijke eigenvectoren Eenvoudige structuur Diagonaliseerbaar 1. Iedere reele symmetrische matrix heeft reele eigenwaarden, en onafhankelijke eigenvectoren 2. Als A X = λx en A regulier (ie inverteerbaar), dan ook A 1 X = λ 1 X, oftewel λ σ(a) λ 1 σ(a 1 ) 3. n Z : A X = λx A n X = λ n X en dus ook c(a)x = c(λ)x, met c(x) een polynoom.
15/26 Berekening eigenwaarden A v = λ v (A v λ v) = (A λ I) v = Z v = 0 det(z) = det(a λ I) = 0 Polynoom in λ van orde n: Vind n oplossingen... #λ i = λ Algebraische meervoudigheid van λ
Voorbeeld a 1 1 a λ 1 1 A = 0 a 1 A λ I = 0 a λ 1 0 0 a 0 0 a λ det(a λi ) = (a λ) 3 = 0 Oftewel λ = a is een (algebraisch drievoudige) oplossing. Welke eigenvectoren horen bij deze λ? (A λi ) v = 0: 0 1 1 x 1 0 0 1 v = 0 v = 0 0 0 0 0 Ergo: Ruimte van eigenvectoren is (meetkundig) enkelvoudig, eendimensionale ruimte. 16/26
17/26 Methoden 1. Polynoom oplossen (simpel als n = 2, niet leuk daarboven zonder computer) 2. Power methode 3. Gelijkvormigheidstransformaties (niet behandeld) 4. QR decompositie (niet behandeld) 5. Verschuivingen
18/26 Polynoom Het karakteristieke polynoom is c(λ) = det(a λ I) = a 0 λ n +.. + a n 1 λ + a n = n (λ λ i ) Dus om het karakteristieke polynoom te vinden: 1. Vind de eigenwaardes λ i, i = 1,.., n (ir= eigen(ma, &vl, &mv)) 2. Bouw het polynoom en werk de haakjes weg va= polymake(vl); // Bouw polynoom obv wortels NB: Soms wordt polynoom in inverse wortels, x = λ 1, geschreven, c(λ) = a 0 λ n +.. + a n 1 λ 1 + a n λ 0 i=1 c (x) = c(λ)λ n = a 0 +.. + a n 1 x n 1 + a n x n
Power methode Stel dat Dan: Kies willekeurige x (0) 0. Construeer rij x (k) volgens λ 1 > λ 2 λ 3 λ n. z (k+1) = A x (k), x (k+1) = z (k+1) / z (k+1). Er geldt z (k+1) j x (k) j = (A x(k) ) j (x (k) ) j λ 1, en x (k) x = v 1. Dwz: De verhouding tussen een coordinaat j (j = 1,.., n) van x (k) en A x (k) gaat naar λ 1, terwijl x (k) naar v 1 gaat. 19/26
20/26 Power methode II Stel dat v 1,, v n de hele ruimte opspannen. Dan A v i = λ i v i A 2 v i = A λ i v i = λ i A v i = λ 2 i v i n x = ξ 1 v 1 + ξ i v i A k x = ξ 1 A k v 1 + = λ k 1 ( ξ 1 v 1 + i=2 n ξ i A k v i = ξ 1 λ k 1v 1 + i=2 n i=2 n ξ i λ k i v i i=2 ( ) ) k λi k ξ i v i λ k λ 1 ξ 1 v 1 1
21/26 Power methode III Check power methode voor financiele data: ma= <1.00, 0.82, 0.77, 0.31; 0.82, 1.00, 0.77, 0.54; 0.77, 0.77, 1.00, 0.35; 0.31, 0.54, 0.35, 1.00 >; Listing 1: np power.ox 1. Start met een willekeurige x (0) 0, e.g. vx= rann(in, 1), zet k = 0 2. Bereken z (k+1) = A x (k) 3. Schaal met (bijvoorbeeld) z n lengte, x (k+1) = z (k+1) / z (k+1) (kies zelf een norm) 4. Herhaal vanaf 2 tot convergentie
22/26 Powermethode IIIb Wat is convergentie? k = 20 bijvoorbeeld... x (k+1) x (k) < ɛ, voor een kleine ɛ λ (k+1) 1 λ (k) 1 < ɛ Andere opties?
23/26 Powermethode IV Problemen rond nullen? Stabiliteit: Normering Wat als λ 1 λ 2? Kleinste eigenwaarde? Gebruik A 1, die heeft eigenwaardes λ 1 1,.., λ 1 n (LU-decompositie?) inverse powermethode
24/26 Verschuivingen Als σ(a) = λ 1,..., λ n, wat is dan σ(a s I)? 0 = det(a λ I) = det(a s I λ I +s I) σ(a s I) = λ 1 s,..., λ n s Stel dat je ongeveer weet wat λ k is, en je kiest s = ˆλ k. Dan geldt dat λ k s 0 < λ i s, i k Gebruik inverse power methode!
Terugblik Wat hebben we gedaan? Discussie eigenwaardes Algoritmes Huiswerk & practicum: Bestudeer Monahan (2011, H6.1-6.4R8, skip orthogonal iteration) Neem de correlatie-matrix uit het financiele voorbeeld en bereken met de power-methode 1. De grootste eigenwaarde 2. De kleinste eigenwaarde 3. De eigenwaarde die het dichtst bij de 1 zit Neem een kleinere matrix, e.g. A =< 1,.9;.9, 1 >, en bepaal het karakteristieke polynoom. Doe dit met de hand, en ook met de computer. Controleer je uitkomst, door je programma het polynoom c(λ) = n i=0 a iλ n i uit te laten rekenen. 25/26
26/26 Bibliografie Monahan, J. F. (2011). Numerical Methods of Statistics (2 ed.). Cambridge series on statistical and probabilistic mathematics. Cambridge: Cambridge University Press. Shilov, G. E. (1977). Linear Algebra. Dover Publications.