Overzicht Optimalisatie in meerdere veranderlijken VU Numeriek Programmeren.5 Charles Bos Vrije Universiteit Amsterdam c.s.bos@vu.nl, A4 4 mei Waarom? Lastige functie Idee van algoritmen Afdalingsmethoden Newton-Raphson Combinatie van methoden Conditionering van optimum Examen Terugblik /37 /37 Waarom? Neem de wisselkoers EUR/USD d.d. /9/:.9.895.89.885.88.875.87.865.86 EUR/USD, /9/.855 : : 4: 6: 8: : : 4: 6: 8: : : Wat is er hier gebeurd? (interventie centrale bank) Wat is de invloed van de centrale bank? Wat veranderde er, dollar of euro of beide? Antwoord: Kwantificeer, schat model en parameters. 3/37 Impact of central bank interventions, 989-3 Mean equation Bank(s) FX Q Cur β s HPD(9%) p-val ECB-Fed EUR/USD 5 USD.95.4 [-.9,.8]. 5 EUR.8.38 [-.5,.7].4 ECB EUR/USD USD.9.5 [-.8,.6].46 EUR.34.56 [-.6,.3].7 BB EMS 4 EUR.9.99 [-.6,.6].7 Fed EUR/USD 6 USD.53.9 [-.9,.].7 6 EUR..3 [-.3,.7].4 Variance equation Bank(s) FX Q Cur γ s HPD(9%) p-val ECB-Fed EUR/USD 5 USD.766.46 [.36,.7]. 5 EUR.57.34 [-.6,.75]. ECB EUR/USD USD..37 [-.4,.65].38 EUR.5.337 [-.3,.7].6 BB EMS 4 EUR.656.395 [-.,.9].5 Fed EUR/USD 6 USD.668.5 [.6,.8]. 6 EUR.85.38 [-.8,.45].3 4/37
Vb: Lastig probleem Rosenbrock functie:....5.5 x.5 3 3.5 4 f (x) = (x x ) + ( x ) - -.5 -.5 x.5 x 4 3.5 3.5.5.5 - -.5 -.5.5 x Minimum bij (, ) Steile functie minimum in krom dal Foute benadering: Puur random Stel: Zoek in gebied [, ] Gooi random pijltjes Ga door tot minimum tot op ɛ =.5 nauwkeurig gevonden is, in beide coefficienten Wat is verwacht aantal trekkingen? P( x i x i < ɛ) = ɛ =.5 P( x i x i < ɛ, i =, ) = P( x i x i < ɛ) = 4 ɛ =.5 Veel te veel... E(n) = /p = 4 5/37 6/37 Betere benadering: Gebruik functie-eigenschappen Ingredienten Start in een punt x (k) Zoek een richting s Schuif α op in die richting, x (k+) = x (k) + αs Verhoog k en ga evt naar Richting s: Zal wel met gradient te maken hebben Optimum: Gradient, tweede afgeleide positief definiet? f (x) :R n R [ ] f (x) f f (x) T (x) = f (x) =,... g x x n [ f (x) = ] n f (x) f (x) = H x i x j Als afgeleiden continu zijn, zal f (x) x i x j = f (x) x j x i i,j= H = H T Hessiaan symmetrisch 7/37 8/37
Ingredienten II Bekijk ook die functie gegeven een richting s: x(α) = x + αs dx i (α) dα = s i F (α) f (x(α)) F (α) = f (x) dx i (α) x i dα = f (x) s i x i n n F (α) = d f (x) s i x i dα = i= j= = s T f (x) = s T g = g T s s i f (x) x i x j s j = s T f (x)s = s T Hs F (α) geeft helling in richting s, F (α) de kromming In welke richting s (evt. met s = ) is helling het grootst? Steilste helling In welke richting s (evt. met s = ) is helling het grootst? Antwoord: In de richting van de gradient, natuurlijk... cos θ = x y x y x y = x y cos θ Neem y = f (x), x = s, welke helling F (α) = s T f (x) is maximaal? Als θ =, cos θ =, dus s f (x) Wat als f (x) =? Dan is maximale helling ook gelijk aan nul, stationair punt... 9/37 /37 Taylor-reeks voor F (α) F (α) F () + F ()α + F ()α + + k! F (k) (α)α k f (x + αs) f (x) + αs f (x) + α s f (x)s h αs = f (x) + h f (x) + h f (x)h Wat heeft dit te maken met optimum? Herinner: In stationair punt, f (x) =. Dus f (x + h) f (x) + h + h f (x)h = f (x) + h + h Hh Wanneer is x minimum? Als f (x + h) f (x) > h Hh > Hessiaan Blijkbaar bepaalt H of een stationair punt een minimum, maximum of zadelpunt is hoe duidelijk het optimum is (hoe groot is f (x + h) f (x) voor kleine h?) H symmetrisch, is positief definiet als. x Hx >, x. Alle eigenwaarden van H positief 3. (Alle hoofdminoren van H positief) 4. Alle pivots bij Gauss-eliminatie (zonder rijverwisseling) zijn positief 5. H = CC, met C de choleski decompositie, en c ii > /37 /37
Hessiaan: Rosenbrock f (x) = (x x ) + ( x ) ( f 4x (x (x) = x ) ( x ) ) (x x ( ) ) f x (x) = 4x + 4x 4x.5.5.5 c= f(x+h)-f(x)=.5 h T H h..4.6.8..4.6.8 ( ) f (x ) = f = ( ) f (x ) = ( ) f (x 8 4 ) = 4 f (x + h) f (x) + h f (x) + h f (x)h f (x + h) f (x ) h Hh eig(h) = {.6,.3996} eig(h H) = {33.8,.595} κ (H) = λ n,h H λ n,h H = λ n,h H / λ,h H = 58. Afdalingsmethode Zie terug, oude idee:. Start met k =, x (k) een startpunt. Kies een richting s (k) z.d.d. s (k) g 3. Verschuif naar x (k+) = x (k) + α (k) s (k), met α (k) z.d.d. f (x (k+) ) < f (x (k) ) 4. Zolang niet tevreden, verhoog k, ga naar. Keuzemomenten: α (k) : Hoe ver verschuiven we?. Simpel: Neem een hele stap (α = of α = ), als functie tenminste omlaag gaat. Optimaal : Zoek α = argmin α f (x (k) + α (k) s (k) ) 3. Suboptimaal : Doe een paar stappen van Newton-Raphson of polynoom-interpolatie s (k) : In welke richting zoeken we? 3/37 4/37 Afdalingsmethode II Afdalingsmethode III: Rosenbrock Opt s (k) : In welke richting zoeken we?. Kies achtereenvolgens s = e, e,.., e n : Zoek in de richting van de assen.. Kies e.g. een s z.d.d. s g = s g cos θ <, hoek > 9 o functie daalt in richting s 3. Stel A positief definiet, los op As = g, dan s As = s g s g = s As < en s een dalingsrichting. 4. Kies e.g. A I, dus s g, scherpste daling mogelijk.5 Start r= 94 - -.5.5.5 Start r= 57 - -.5 Start.5 r= 68 Start - -.5 r= 3 - -.5 5/37 6/37
Afdalingsmethode III: Normale verdeling Conditionering van optimum.5 Startpunt: Algemene kwadratische functie f (x) = f (x ) + (x x ) f (x ) + (x x ) f (x )(x x ) - of, zbda optimum x, f (x ) : -.5 f (x) = x f (x )x = x Hx - r= 37 -.5 -.5 - -.5 -.5 Wat gebeurt er hier? Beter zichtbaar... 7/37 8/37 Kwantificering convergentie (steilste afdaling) Zie boek (hier zonder bewijs deel 3):. Voor f (x) een kwadratische functie, met uniek minimum x, convergeert de afdalingsmethode, onafhankelijk van het startpunt.. Er geldt: SD x = a i v i v i v i = v i v j = x (k+) sd = x (k) α (k) f (x (k) ) Orthonormale e.v., H pos. def. f (x) Hx = x (k) α (k) Hx (k) ( ) f (x (k+) λ λ n ) f (x (k) ), λ i = eigen λ + λ i (H) n = (I α (k) H)x (k) = a i ( α (k) λ i )v i ( f (x (k+) ) = f (I α (k) H)x (k)) f ((I αh) x (k) ) 3. De convergentiefactor ( x (k+) x ρ = lim k x (k) x min, ( ) λ Merk op: Convergentie-factor conditie-getal! λ n ( ) ) λ λ n λ + λ n 9/37 Dus ( ) f (x (k+) ) f ai ( αλ i )v i = a i a j ( αλ i )( αλ j )v i Hv j i j /37
Merk op, wegens orthonormaliteit van v i, v j : Dus { v i Hv j = v i λi i = j λ j v j = anders f (x (k+) ) ai ( αλ i ) λ i, f (x (k) ) = ai λ i i ( ) Neem α = λ +λ n ( αλ i ) µ = λ λ n λ +λ n <, dan (= deel van de stelling) ( ) f (x (k+) λ λ n ) f (x (k) ). λ + λ n i Newton-Raphson Benader met kwadratische functie: f (x + h) q(h) = f (x) + h T f (x) + ht f (x)h Minimaliseer q(h) q (h) = f (x)+f (x)h = f (x)h = f (x) of Hh = g door die laatste vergelijking op te lossen Zet x = x + h, en herhaal zo nodig Problemen: Is H positief definiet, bij iedere tussenstap? Is stap h, met lengte h, niet te groot? /37 /37 Methoden voor optimalisatie SD & Newton-Raphson Startpunt k =, x (k). Kies telkens richting s en afstand α, en itereer: x (k+) = x (k) + h h = αs. Steepest Descent: s = g. Pro: Simpel, direct; Con: Langzaam, lokaal alleen eerste afgeleide. Newton Raphson: Hs = g s = H g. Pro: Sneller, vorm H telt mee; Con: Tweede afgeleide nodig, H pos. def.?.5.5.5 h NR = -H - g - -.5 - -.5 h SD = -g -3 -.5 - -.5 -.5.5.5 Zie verschil. Zoek optimale α? 3/37 4/37
Alternatieven: Levenberg-Marquardt Alternatieven: Powell { (H + νi )s = g, s = (H + νi ) snr ν g = ν ν h SD h(ν, µ) = νµh SD + ( ν)h NR.5.5.5 - -.5 - h LM (ν) h NR = -H - g -.5 h SD = -g -3 -.5 - -.5 -.5.5.5 Optimale α, ν? Lastige zoektocht (H + νi )... 5/37.5.5.5 - -.5 - h P (ν, µ) h P (ν=, µ) h NR = -H - g= h P (ν=, µ) -.5 h SD = -g -3 -.5 - -.5 -.5.5.5 Optimale α, ν, µ? 6/37 Alternatieven: DFP/BFGS BFGS/DFP II Bovenstaande algoritmen hebben H (k) = f (x (k) ) nodig. Problematisch: Afgeleide nemen niet stabiel Veel functie-evaluaties nodig H niet gegarandeerd positief definiet Probleem zit m in stap s = H g Vervang H (k) door M k, positief definiet per definitie? Broyden, Fletcher, Goldfarb en Shanno (BFGS, zet θ = ), maar ook Davison, Fletcher en Powell (DFP, θ = ) verzonnen truc:. Start met k = en positief definiete M k, e.g. M = I. Bereken s k = M k g k, met g k = f (x (k) ) 3. Vind nieuwe x (k+) = x (k) + h k, h k = αs k 4. Bereken, met q k = g k+ g k ( M k+ = M k + + θ q k M ) kq k hk h k h k q k h k q θ k q k M M k q k q k kq M k k θ ( h k q hk q k M k + M k q k h k) k 7/37 8/37
BFGS/DFP III M k+ = F(M k, x (k), x (k+), f (x (k) ), f (x (k+) ), θ) Resultaat van moeilijke formule: Geen Hessiaan meer nodig, alleen gradient Nog steeds goede convergentie (M k H (k) na veel stappen, vergelijkbaar gedrag) Geen problemen met niet positief-definiete matrices (Liefst natuurlijk analytische gradient, niet numeriek) MaxBFGS in Ox, vergelijkbare functies in Matlab. Waarschuwing: M k H (k), maar gebruik NOOIT M k in plaats van H voor berekening Σ... Over precisie Neem een likelihood functie Nu: of beter nog y N (β, σ ) n Likl(y; β, σ) = exp ( (y i β) ) πσ σ log Likl(y; β, σ) = i= n log(π) log σ (y i β) σ i= f (θ) = f ((β, σ) ) = Likl(y; β, σ) f (θ) = f ((β, σ) ) = log Likl(y; β, σ) 9/37 3/37 Precisie van optimum (buiten boek, wel tentamenstof) - -4-6 -8 - LL x σ - -4-6 -8 - LL x β - - -3-4 -5-6.5 3 3.5 4 4.5 β 5 5.5 6..3.4.5.6.7 σ.8.9 Precisie van optimum II Enkel voor log-likelihood functie, met correct gespecificeerd model: H(θ) = log L(y; θ) θ θ I (θ) = H(θ) Σ(θ) [I (θ)] Log likelihood Hessiaan Informatie matrix covariantie LL, n= LL, n= -..3.4.5.6.7.8.9 -.5 3 3.5 4 4.5 5 5.5 6 Precisie van optimum: Hangt niet af van gradient Hangt af van tweede afgeleide - - -3-4 -5-6 β 5.5.5 3 3.5 4 4.5 5 6.9.8.7.6.5.4 σ.3. - - -3-4 -5-6 β 5.5.5 3 3.5 4 4.5 5 6.9.8.7.6.5.4 σ.3. Hessiaan: H(θ) = log L(y; θ) θ θ In praktijk: Optimaliseer f (θ) = N log L(y; θ) = l(y; θ); maar bepaal H(θ) = log L(y;θ) θ θ = N l(y;θ) θ θ = N f (θ) θ θ Welke waarde van H(θ) geeft exact optimum? (+/-, groot/klein?) 3/37 3/37
Precisie van optimum III Wat gebeurt er met een transformatie? Precisie: Log likelihood met transformatie Voordeel: γ β γ = log σ exp(γ ) = σ g(γ ) < γ < < σ < n log Likl(y; β, σ) = log(π) log σ (y i β) σ log Likl(y; γ) = i= n i= log(π) γ (y i γ ) exp(γ ) Kunt rustig optimaliseren, geen grenzen aan gebied Soms meer parabolisch? Nadeel: Wat betekent Σ(γ)? - -4-6 -8 - LL x σ -..3.4.5.6.7.8.9 - -4-6 -8 - LL x log σ - -.8 -.6 -.4 -. - -.8 -.6 -.4 -.. - -4-6 -8 - - - -4-6 -8 - - LL x β.5 3 3.5 4 4.5 5 5.5 6 log Likl(y; θ) LL x β.5 3 3.5 4 4.5 5 5.5 6 log Likl(y; γ) - - -3-4 -5-6 - - -3-4 -5-6.5 3 3.5 4 4.5 β 5 5.5 6.5 3 3.5 4 4.5 β 5 5.5 6..3.4.5.6.7 σ.8.9 -.8 -.6 -.4 -. - -.8 -.6 log σ -.4 -.. 33/37 34/37 Precisie IV: Delta methode Taylor-expansie: Examen Stof zoals behandeld tijdens college In tekst: θ g(ˆγ) + g (ˆγ)(γ ˆγ) var(ˆθ) g (ˆγ) var(ˆγ)g (ˆγ) = D(ˆγ)Σ(ˆγ)D (ˆγ) var(ˆγ) = Σ(ˆγ) H log L (ˆγ) Bepaal variantie van γ, getransformeerde parameters Bepaal k k Jacobiaan van transformatie, D(ˆγ) = g (ˆγ) = g(γ) γ γ=ˆγ Bepaal variantie van θ, door Σ(γ) voor en na te vermenigvuldigen met D(ˆγ) resp D (ˆγ) Werkcollege zou hebben moeten helpen voor begrip (programmeerkennis wordt (nu) niet getoetst; komt in volgend blok/integratiepracticum van pas) Stampen helpt niet, begrijp de stappen Onderwerpen: Sec Onderwerp DH3 Lineare vergelijkingen, decompositie Sheets Random getallen DH6 Eigenwaarden DH7 Optimalisatie in veranderlijke DH8 Optimalisatie in n veranderlijken Delta-methode 35/37 36/37
Terugblik Wat hebben we gedaan? Optimalisering Conditionering van optimum en optimalisatie Newton-Raphson en varianten (Herhaling) delta-methode 37/37