Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy...

53
Uniwersytet Warszawski Wydzial Matematyki, Informatyki i Mechaniki Joanna Skrzeszewska Nr albumu: 277648 Algorytmy optymalizacji, estymacji i redukcji wariancji Praca licencjacka na kierunku MATEMATYKA Praca wykonana pod kierunkiem dra inż. Przemyslawa Biecka Instytut Matematyki Stosowanej i Mechaniki Sierpień 2012

Transcript of Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy...

Page 1: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Uniwersytet WarszawskiWydział Matematyki, Informatyki i Mechaniki

Joanna SkrzeszewskaNr albumu: 277648

Algorytmy optymalizacji, estymacjii redukcji wariancji

Praca licencjackana kierunku MATEMATYKA

Praca wykonana pod kierunkiemdra inż. Przemysława BieckaInstytut Matematyki Stosowanej i Mechaniki

Sierpień 2012

Page 2: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Oświadczenie kierującego pracą

Potwierdzam, że niniejsza praca została przygotowana pod moim kierunkiem i kwa-lifikuje się do przedstawienia jej w postępowaniu o nadanie tytułu zawodowego.

Data Podpis kierującego pracą

Oświadczenie autora (autorów) pracy

Świadom odpowiedzialności prawnej oświadczam, że niniejsza praca dyplomowazostała napisana przeze mnie samodzielnie i nie zawiera treści uzyskanych w sposóbniezgodny z obowiązującymi przepisami.

Oświadczam również, że przedstawiona praca nie była wcześniej przedmiotem pro-cedur związanych z uzyskaniem tytułu zawodowego w wyższej uczelni.

Oświadczam ponadto, że niniejsza wersja pracy jest identyczna z załączoną wersjąelektroniczną.

Data Podpis autora (autorów) pracy

Page 3: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Streszczenie

W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca zostałapodzielona na trzy części. W pierwszej części przedstawiono wybrane metody optymalizacjidla funkcji jedno- i wielowymiarowych, w drugiej opisano podstawowe algorytmy estymacjipunktowej i przedziałowej, a w ostatniej wybrane algorytmy redukcji wariancji.

Słowa kluczowe

optymalizacja, estymacja, estymator, przedział ufności, redukcja warancji

Dziedzina pracy (kody wg programu Socrates-Erasmus)

11.2 Statystyka

Klasyfikacja tematyczna

62H12, 65C20

Tytuł pracy w języku angielskim

Algorithms for optimisation, estimation and variance reduction

Page 4: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W
Page 5: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Spis treści

1. Algorytmy optymalizacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1. Optymalizacja funkcji jednej zmiennej . . . . . . . . . . . . . . . . . . . . . . 7

1.1.1. Metoda Newtona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.1.2. Metoda złotego podziału . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2. Optymalizacja funkcji wielu zmiennych . . . . . . . . . . . . . . . . . . . . . . 101.2.1. Metoda najszybszego wzrostu . . . . . . . . . . . . . . . . . . . . . . . 111.2.2. Wielowymiarowa metoda Newtona . . . . . . . . . . . . . . . . . . . . 12

1.3. Przykłady zastosowań metod optymalizacji . . . . . . . . . . . . . . . . . . . 13

2. Algorytmy estymacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1. Estymacja punktowa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1.1. Metoda momentów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1.2. Metoda kwantyli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.1.3. Metoda największej wiarogodności . . . . . . . . . . . . . . . . . . . . 242.1.4. Porównanie metody momentów, metody kwantyli i metody największej

wiarogodności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.2. Przedziały ufności . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.2.1. Przykłady zastosowań przedziałów ufności . . . . . . . . . . . . . . . . 28

3. Algorytmy redukcji wariancji . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.1. Metoda antithetic sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.1.1. Ogólna technika metody antithetic sampling . . . . . . . . . . . . . . . 313.1.2. Zastosowanie metody antithetic sampling . . . . . . . . . . . . . . . . 33

3.2. Metoda emphimportance sampling . . . . . . . . . . . . . . . . . . . . . . . . 343.2.1. Ogólna technika metody importance sampling . . . . . . . . . . . . . . 343.2.2. Zastosowanie metody importance sampling . . . . . . . . . . . . . . . 34

3.3. Metoda control variates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.3.1. Zastosowanie metody control variates . . . . . . . . . . . . . . . . . . 36

A. Implementacja metody Newtona . . . . . . . . . . . . . . . . . . . . . . . . . 41

B. Implementacja metody złotego podziału . . . . . . . . . . . . . . . . . . . . . 43

C. Implementacja metody najszybszego wzrostu . . . . . . . . . . . . . . . . . 45

D. Implementacja wielowymiarowej metody Newtona . . . . . . . . . . . . . . 49

Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3

Page 6: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W
Page 7: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Wprowadzenie

Bardzo ważnym, praktycznym zadaniem w modelowaniu statystycznym jest estymacja nie-znanych parametrów rozkładu tak, aby reprezentował on dobrze dane empiryczne. Estymacjimożna dokonywać zarówno standardowymi metodami – takimi jak metoda momentów, me-toda kwantyli czy metoda największej wiarogodności, jak i zmodyfikowanymi – np. wykorzy-stując problem nadokreślonych układów równań liniowych do metody kwantyli czy metodymomentów. We wszystkich wymienionych metodach bardzo pomocne są algorytmy optyma-lizacji, zwłaszcza wielowymiarowej, które służą do znajdowania lokalnych ekstremów funkcji.

Podczas wielokrotnych symulacji wartości estymowanych parametrów różnią się – jest toskutkiem losowości. Pożądane jest, aby zmienność wyników, którą można wyrazić poprzezwariancję, była jak najmniejsza. W tym celu można zwiększyć liczebność próby lub posłużyćsię metodami redukcji wariancji, które są mniej czasochłonne.

W poniższej pracy przedstawię algorytmy optymalizacji, estymacji i redukcji wariancji.Praca składać się będzie z trzech części. W pierwszej części omówię wybrane metody opty-malizacji dla funkcji jednowymiarowej i funkcji wielu zmiennych oraz pokażę ich przykładowezastosowania. W drugiej części przedstawię algorytmy estymacji punktowej i przedziałowej.Pokażę także wykorzystanie algorytmów optymalizacji w metodach estymacji. W obu rozdzia-łach użyję danych apartments pochodzących z pakietu PBImisc, które zawierają informacjena temat cen mieszkań w Warszawie w latach 2007 − 2009. W rozdziale trzecim omówię al-gorytmy redukcji wariancji: antithetic sampling, importance sampling i control variance i napodstawie przykładu prześledzę jak zmniejszyła się wariancja po wykorzystaniu wymienio-nych algorytmów.

5

Page 8: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W
Page 9: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rozdział 1

Algorytmy optymalizacji

W poniższym rozdziale opiszę zagadnienie optymalizacji, rozumiane jako znajdowanie lokal-nych ekstremów funkcji. Problem ten przedstawię w jednym i w wielu wymiarach na wybra-nych kilku, spośród bardzo wielu istniejących, algorytmach. Rozważę tylko maksima lokalne,gdyż minima lokalne, w każdym z poniższych przypadków, można uzyskać mnożąc funkcjęprzez −1. Do omówienia zagadnienia optymalizacji funkcji jednej zmiennej wykorzystam me-todę Newtona i metodę złotego podziału, natomiast w przypadku funkcji wielu zmiennych użyjęmetody najszybszego wzrostu oraz wielowymiarowej metody Newtona. Pokażę też przykładowezastosowania metod optymalizacji. Źródłem informacji były [1], [2], [3] i [7].

1.1. Optymalizacja funkcji jednej zmiennej

Definicja 1.1.1 Mówimy, że funkcja f : X → R osiąga maksimum lokalne w punkcie x0 ∈X, jeśli istnieje pewne otoczenie punktu x0, w którym wartości funkcji f są niewiększe odwartości funkcji f w punkcie x0, to znaczy:

∃δ > 0 : ∀x ∈ X : d(x, x0) < δ =⇒ f(x) ¬ f(x0).

Jeśli ponadto f(x0) = supf(X) - to znaczy: jeśli w punkcie x0 funkcja f osiąga kres górnywartości w zbiorze X, to mówimy, że funkcja f osiąga w punkcie x0 maksimum globalne.

Wszystkie metody, które będą omówione w tej pracy są algorytmami wykorzystującymitechnikę lokalnego wyszukiwania, polegającą na generowaniu ciągu punktów x(0), x(1), x(2), ...,które mają zbiegać do lokalnego ekstremum. Nie będzie badana cała przestrzeń możliwychrozwiązań, a jedynie w sąsiedztwie punktu x(n) wyszukiwany będzie następny punkt x(n+1).

Niech x∗ będzie lokalnym ekstremum funkcji f oraz niech x(n) → x∗ (dla n → ∞).Pożądanym kryterium stopu, kończącym wyszukiwanie jest warunek |x(n) − x∗| 6 ε, dlazadanej wartości ε. Niestety w ogólności uzyskanie takiego kryterium stopu nie jest możliwei zamiast niego używane są następujące kryteria:

• |x(n)− x(n− 1)| 6 ε;

• |f(x(n))− f(x(n− 1))| 6 ε;

• |f ′(x(n))| 6 ε.

Jeżeli ciąg x(n)∞n=1 zbiega do lokalnego maksimum, to powyższe trzy kryteria są spełnione,jednak implikacja odwrotna nie jest prawdziwa. Poniższe metody mogą wcale nie być zbieżnena przykład, gdy f jest funkcją nieograniczoną i x(n)→∞. Z tego powodu zwykle przyjmujesię maksymalną liczbę iteracji nmax i zatrzymuje wyszukiwanie gdy n 6 nmax.

7

Page 10: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

1.1.1. Metoda Newtona

Metoda Newtona jest algorytmem mającym zastosowanie w wielu sytuacjach. Jej wariantużywany do szukania miejsc zerowych nazywa się metodą Newtona-Raphsona.

Niech f będzie funkcją, której zera będą szukane numerycznie, x∗ będzie zerem funkcji f ,a x jego przybliżeniem. Jeżeli f ′′ istnieje, to na mocy twierdzenia Taylora:

0 = f(x∗) = f(x+ h) = f(x) + hf ′(x) +O(h2), (1.1)

gdzie h = x∗ − x. Dla małych h (czyli dla x bliskiego x∗) składnik O(h2) można pominąć iwtedy:

h = − f(x)f ′(x)

, (1.2)

a lepsze niż x przybliżenie x∗ jest równe:

x+ h = x− f(x)f ′(x)

. (1.3)

Działanie algorytmu optymalizacji Newtona rozpoczyna się przybliżeniem zera x∗ za pomocąx(0), a następnie stosuje się rekurencyjny wzór:

x(n+ 1) = x(n)− f(x(n))f ′(x(n))

, n > 0. (1.4)

Interpretacja geometryczna metody Newtona

Metoda Newtona opiera się na linearyzacji funkcji f . Przybliżając, w dowolnym punkciex, funkcję f(x) funkcją liniową l(x), powstałą z rozwinięcia funkcji f(x) w szereg Tayloraotrzymujemy:

l(x) = f(x) = f(c) + f ′(c)(x− c). (1.5)

Powyższa funkcja liniowa przybliża dobrze f w pobliżu c. Zachodzi l(c) = f(c) oraz l′(c) =f ′(c). Funkcja liniowa l(x) ma więc w punkcie c tą samą wartość i to samo nachylenie cofunkcja f . Z rozważań tych wynika, że w metodzie Newtona konstruowana jest styczna dowykresu w punkcie bliskim zeru funkcji f i znajdowany jest punkt, w którym ta stycznaprzecina oś x. Łatwo więc wyobrazić sobie funkcję oraz punkt startowy, dla której meto-da Newtona zawodzi. Aby metoda Newtona była zbieżna,1 badana funkcja nie może miećdowolnego kształtu oraz punkt startowy musi znajdować się dostatecznie blisko zera funk-cji. Interpretację geometryczną metody Newtona oraz przykład funkcji, dla której metodaNewtona nie jest zbieżna przedstawiłam odpowiednio na rysunkach 1.1 i 1.2.

Szukanie lokalnych ekstremów funkcji przy pomocy metody Newtona

Jeżeli funkcja f : [a, b] → R ma ciągłą pierwszą pochodną f ′, to problem znalezienia mak-simum funkcji f jest równoważny znalezieniu maksimum f(a), f(b), f(x1), ..., f(xn), gdziex1, ..., xn są zerami funkcji f ′. Po zastosowaniu metody Newtona-Raphsona do znajdowaniamiejsc zerowych funkcji f ′ uzyskujemy metodę Newtona do optymalizacji funkcji f :

x(n+ 1) = x(n)− f ′(x(n))f ′′(x(n))

. (1.6)

Implementację metody Newtona przedstawiłam w dodatku A. Więcej informacji na tematmetody Newtona można znaleźć w [2] i [3].1Metoda Newtona jest zbieżna kwadratowo, źródło [3].

8

Page 11: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek 1.1: Interpretacja geometryczna metody Newtona. Rysunek opracowany został napodstawie [3], przy użyciu programu Inkscape.

Rysunek 1.2: Przykład funkcji, dla której metoda Newtona jest rozbieżna. Rysunek opraco-wany został na podstawie [3], przy użyciu programu Inkscape.

1.1.2. Metoda złotego podziału

Metodę złotego podziału, w przeciwieństwie do metody Newtona, można stosować tylko wjednym wymiarze, ale nie jest za to konieczne istnienie pochodnej funkcji. Metoda ta jestpodobna do metody bisekcji.

Niech f : R → R będzie funkcją ciągłą. Jeżeli istnieją dwa punkty a < b takie żef(a)f(b) 6 0 wiadomo, że w przedziale [a, b] znajduje się zero funkcji f . Do ustalenia czy wtym przedziale istnieje lokalne maksimum potrzebne są trzy punkty: a, b, c. Jeżeli a < c < boraz f(a) 6 f(c) i f(b) 6 f(c) w przedziale [a, b] musi istnieć lokalne maksimum. Powyższaobserwacja prowadzi do następującego algorytmu:

Rozpocznij od xl < xm < xr, takich, że f(xl) 6 f(xm) oraz f(xr) 6 f(xm)1. Jeżeli xr − xl 6 ε STOP.2. Jeżeli xr − xm > xm − xl idź do 2a.W przeciwnym przypadku idź do 2b.

2a. Wybierz punkt y z przedziału (xm, xr).Jeżeli f(y) > f(xm) to: xl = xm oraz xm = y.W przeciwnym przypadku: xr = y.

2b. Wybierz punkt y z przedziału (xl, xm).Jeżeli f(y) > f(xm) to: xr = xm oraz xm = y.W przeciwnym przypadku: xl = y.

3. Wróć do kroku 1.

9

Page 12: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Stosując ten algorytm można dowolnie zawężać przedział, w którym znajduje się szukane mak-simum lokalne. Jak dotąd nie zostało powiedziane jeszcze w jaki sposób dokonywać wyborupunktu y. Wiadomo, że ma on należeć do większego spośród dwóch przedziałów: (xl, xm) oraz(xm, xr). Naśladując metodę bisekcji, algorytm złotego podziału zakłada taki wybór punktuy, aby stosunek długości dłuższego do krótszego przedziału pozostawał w każdym kroku takisam.

Niech a = xm − xl, b = xr − xm oraz c = y − xm. Niech (xm, xr) będzie dłuższymprzedziałem, w którym wybierany będzie punkt y.

Jeżeli f(y) 6 f(xm) to nowym przedziałem jest (xl, y). Musi wtedy zachodzić:

a

c=b

a. (1.7)

Jeżeli f(y) > f(xm) to nowym przedziałem jest (xm, xr). Musi wtedy zachodzić:

b− cc

=b

a. (1.8)

Ponieważ w metodzie złotego podziału stosunek dłuższego do krótszego przedziału za każdymrazem ma być taki sam, niech ρ = b

a . Zachodzi wtedy:

ρ2 − ρ− 1 = 0 (1.9)

oraz:

ρ =1 +√

52

. (1.10)

Z odpowiedniego przekształcenia powyższych równości, zachodzi:

y = xm + c = xm + (xr − xm)/(1 + ρ), (1.11)

co jednoznacznie wskazuje jak dokonywać wyboru punktu y. Analogiczne rozumowanie możnaprzedstawić, gdy (xl, xm) jest dłuższym przedziałem. Zachodzi wtedy:

y = xm + c = xm − (xr − xm)/(1 + ρ). (1.12)

Metoda złotego podziału jest optymalna w tym sensie, że jeżeli punkt y będzie wybieranyw inny sposób, w najgorszym przypadku algorytm będzie wolniejszy od algorytmu złotegopodziału2. W dodatku B przedstawiłam implementację metody złotego podziału. Więcejinformacji na temat metody złotego podziału można znaleźć w [2].

1.2. Optymalizacja funkcji wielu zmiennych

Problem szukania ekstremum lokalnego funkcji wielu zmiennych jest bardziej przydatny odproblemu optymalizacji funkcji jednej zmiennej, ale jest on zarazem o wiele trudniejszy.

Niech f : Rd → R i wszystkie pochodne cząstkowe pierwszego i drugiego rzędu funkcji fistnieją i są wszędzie ciągłe. Niech x = (x1, ..., xd)T będzie punktem przestrzeni Rd, natomiastei i-tym wektorem bazowym. Zachodzi wówczas x = x1e1 + ...+ xded. Dla każdego i fi(x) =∂f(x)∂xi

oznacza pochodną cząstkową.

Definicja 1.2.1 Przy powyższych oznaczeniach, gradientem funkcji f jest wektor:

∇f(x) = (f1(x), ..., fd(x))T . (1.13)

2Metoda złotego podziału jest zbieżna liniowo

10

Page 13: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Definicja 1.2.2 Macierzą Hessego (hesjanem) funkcji f jest macierz:

H(x) =

∂2f(x)∂x1∂x1

... ∂2f(x)∂x1∂xd

.... . .

...∂2f(x)∂xd∂x1

... ∂2f(x)∂xd∂xd

. (1.14)

Definicja 1.2.3 Funkcja f posiada lokalne maksimum w punkcie x∗, jeżeli istnieje liczbaδ > 0 taka, że dla każdego x zachodzi poniższa implikacja:

‖x− x∗‖ < δ ⇒ f(x) 6 f(x∗),

gdzie ‖x‖ =√x21 + ...+ x2n oznacza normę euklidesową.

Definicja 1.2.4 Dla każdego wektora v 6= 0 nachylenie (ang. slope) w punkcie x w kierunkuv zadane jest przez:

vT∇f(x)‖v‖

, (1.15)

Definicja 1.2.5 Krzywizna w punkcie x w kierunku wektora v jest zadana przez wzór:

vTH(x)v‖v‖2

. (1.16)

Koniecznym, ale niewystarczającym warunkiem istnienia maksimum w punkcie x jest∇f(x) = 0 = (0, ..., 0)T oraz nachylenie w punkcie x w kierunku wektora v musi być nie-ujemne (odpowiednio macierz Hessego musi być półujemnie określona).

Wystarczającym, ale niekoniecznym warunkiem do istnienia lokalnego maksimum w punk-cie x jest ∇f(x) = 0 oraz krzywizna w każdym kierunku musi być mniejsza od zera (odpo-wiednio macierz Hessego ujemnie określona).

Tak samo jak w przypadku jednego wymiaru, maksima lokalne będą wyszukiwane meto-dami iteracyjnymi. Warunki stopu są kombinacjami poniższych warunków:

• ‖x(n)− x(n− 1)‖∞ 6 ε;

• ‖f(x(n))− f(x(n− 1))‖∞ 6 ε;

• ‖∇f(x(n))‖∞ 6 ε,

gdzie ‖x‖∞ = maxi|xi| (norma L∞). Analogicznie do przypadku jednowymiarowego zachodzipotrzeba przyjęcia maksymalnej liczby iteracji nmax.

1.2.1. Metoda najszybszego wzrostu

Niech f : Rd → R będzie funkcją z ciągłymi pochodnymi cząstkowymi w całej dziedzinie.W metodzie najszybszego wzrostu lokalne maksimum jest wyszukiwane w pobliżu punktustartowego x(0), a n+ 1-wszy punkt obliczany jest według wzoru:

x(n+ 1) = x(n) + αv, (1.17)

gdzie α jest dodatnim skalarem, a wektor v jest wektorem w kierunku największego nachy-lenia, tzn. v maksymalizuje v

T∇f(x)‖v‖ (def. 1.2.4):

∂vi

vT∇f(x)‖v‖

=fi(x)‖v‖

− (vT∇f(x))vi‖v‖3

. (1.18)

11

Page 14: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Po przyrównaniu prawej strony powyższej równości do zera zachodzi vi ∝ fi(x), z czegowynika, że kierunkiem o największym nachyleniu jest gradient. Po podstawieniu gradientudo równania (1.17) otrzymujemy:

x(n+ 1) = x(n) + α∇f(x(n)), (1.19)

dla pewnego α > 0 wybranego tak, żeby zmaksymalizować funkcję:

g(α) = f(x(n+ 1)) = f(x(n) + α∇f(x(n))). (1.20)

Jeżeli α = 0 to x(n) jest lokalnym maksimum, natomiast jeśli α > 0 to f(x(n + 1)) >f(x(n)). Do maksymalizacji funkcji (1.20) często używana jest metoda złotego podziału.Implementację metody najszybszego wzrostu3 przedstawiłam w dodatku C. Więcej informacjina temat tej metody można znaleźć w [2].

1.2.2. Wielowymiarowa metoda Newtona

W metodzie najszybszego wzrostu wykorzystywane są informacje na temat gradientu. Uży-wając hesjanu można stworzyć metody, które zbiegają korzystając z mniejszej ilości kroków.Najprostszą z nich jest wielowymiarowa metoda Newtona, która powstaje poprzez uogólnieniejednowymiarowej metody Newtona4.

Wielowymiarowa metoda Newtona polega na wyszukaniu punktu x takiego, że∇f(x) = 0.Podstawą tej metody jest rozwinięcie Taylora funkcji f . Dla y w pobliżu x zachodzi:

f(y) ≈ f(x) + (y − x)T∇f(x) +12

(y − x)TH(x)(y − x). (1.21)

Wielowymiarowe przybliżenie za pomocą rozwinięcia Taylora można wyprowadzić z rozwi-nięcia w jednym wymiarze. Podstawiając: v = y − x i definiując g(α) = f(x +αv) zachodzi:

g′(0) = limα→0

g(α)− g(0)α

= limα→0

(f(x + αv1e1 + ...+ αvded)− f(x + αv2e2 + ...+ αvded)

α

+f(x + αv2e2 + ...+ αvded)− f(x + αv3e3 + ...+ αvded)

α

+...+f(x + αvded)− f(x)

α

)=v1f1(x) + v2f2(x) + ...+ vdfd(x) = vT∇f(x).

(1.22)

Korzystając z tej samej zasady:

g′′(0) =12vTH(x)v. (1.23)

Z rozwinięcia funkcji g w szereg Taylora:

g(α) ≈ g(0) + αg(0) +12α2g′′(0) = f(x) + αvT∇f(x) +

12α2vTH(x)v. (1.24)

Po podstawieniu α = 1 i obustronnym zróżniczkowaniu zachodzi:

∇f(y) ≈ ∇f(x) + H(x)(y − x). (1.25)3Metoda najszybszego wzrostu jest zbieżna liniowo4Wielowymiarowa metoda Newtona jest zbieżna kwadratowo.

12

Page 15: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Jeżeli y jest lokalnym maksimum, to ∇f(y) = 0 i zachodzi:

y = x−H(x)−1∇f(x). (1.26)

Powyższą własność wykorzystuje się w metodzie Newtona, podstawiając x = x(n) oraz y =x(n+ 1):

x(n+ 1) = x(n)−H(x(n))−1∇f(x(n)). (1.27)

Jeżeli H(x(n)) jest osobliwa, metoda Newtona nie jest zbieżna. Analogicznie do przypadkujednowymiarowego, metoda Newtona może nie być zbieżna także w przypadku, gdy hesjanjest macierzą nieosobliwą. Implementację wielowymiarowej metody Newtona wraz z nume-rycznym obliczaniem hesjanu przedstawiłam w dodatku D. Więcej informacji na temat tejmetody można znaleźć w [2].

1.3. Przykłady zastosowań metod optymalizacji

Zastosowanie wielowymiarowej metody Newtona do optymalizacji funkcjiwiarogodności

Definicja 1.3.1 Niech rozkład zmiennej losowej X zależy od parametrów θ = (θ1, ..., θm)oraz niech (x1, ..., xn) będzie zaobserwowaną wartością próby prostej (X1, ...Xn) z populacjimającej cechę X. Funkcję wiarogodności określa się wzorem:

L(θ) = L(x1, ..., xn, θ) = p(x1, θ)...p(xn, θ),

gdzie p(xi, θ) = P(X = xi) w przypadku dyskretnym oraz:

L(θ) = L(x1, ..., xn, θ) = f(x1, θ)...f(xn, θ),

dla cechy typu ciągłego o gęstości f(x, θ).

Funkcję wiarogodności wykorzystuje się do estymacji nieznanych parametrów metodąnajwiększej wiarogodności, o której będzie mowa w rozdziale 2. Aby dokonać estymacji nie-znanego parametru tą metodą, wyszukuje się taką wartość estymowanego parametru, przyktórej wartość funkcji wiarogodności (lub równoważnie jej logarytmu) jest największa. Poni-żej przedstawię doświadczenie, w którym dokonam optymalizacji funkcji wiarogodności, przyużyciu wielowymiarowej metody Newtona.

Rozważmy próbkę pochodzącą z rozkładu normalnego. Logarytm funkcji wiarogodności,dla próbki pochodzącej z tego rozkładu jest postaci:

−n2

log(2π)− n log σ − 12σ2

n∑i=1

(xi − µ)2. (1.28)

W doświadczeniu wylosuję n = 100 próbek pochodzących ze standardowego rozkładu normal-nego N(0, 1), a następnie, korzystając z wielowymiarowej metody Newtona, wyszukam współ-rzędne punktu (µ1, σ1), w którym logarytm funkcji wiarogodności, zadany wzorem (1.28),osiąga największą wartość. Oczywiście spodziewam się wyniku zbliżonego do prawdziwychparametrów rozpatrywanego rozkładu normalnego N(0, 1). Wartości gradientu i hesjanu, po-trzebne do wielowymiarowego algorytmu Newtona, będą przybliżone, obliczone na podstawiemetod przedstawionych w dodatku D.

13

Page 16: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

1 n <− 1002 y <− rnorm (n , 0 , 1)3 # l .w to funkc ja zwracająca wartość logarytmu wiarogodnośc i próbki , pochodzącej

z rozkładu normalnego4 l .w <− f unc t i on (x ) {5 s <− sum( ( y − x [ 1 ] ) ˆ2)6 re turn (−50 ∗ l og (2 ∗ pi ) − 100 ∗ l og ( x [ 2 ] ) − s / (2 ∗ ( x [ 2 ] ) ˆ2) )7 }8

9 # funkc ja l og . wiarog zwraca wektor , którego współrzędne to oodpowiednio :wartość logarytmu f unk c j i wiarogodnośc i , p r zyb l i żona wartość grad ientulogarytmu f unk c j i wiarogodnośc i oraz przyb l i żona wartość hes janu logarytmuf unk c j i wiarogodnośc i

10 l og . wiarog <− f unc t i on (x ) {11 eps <− 0.00000112 e1 <− c (1 , 0)13 e2 <− c (0 , 1)14 l 0 <− l .w(x )15 l 1 <− ( l .w(x + eps ∗ e1 ) − l .w(x ) ) / eps16 l 2 <− ( l .w(x + eps ∗ e2 ) − l .w(x ) ) / eps17 l 11 <− ( l .w(x + 2 ∗ eps ∗ e1 ) − 2 ∗ l .w(x + eps ∗ e1 ) + l .w(x ) ) / eps ˆ218 l 12 <− ( l .w(x + eps ∗ e1 + eps ∗ e2 ) − l .w(x + eps ∗ e1 ) − l .w(x + eps ∗ e2 )19 + l .w(x ) ) / eps ˆ220 l 22 <− ( l .w(x + 2 ∗ eps ∗ e2 ) − 2 ∗ l .w(x + eps ∗ e2 ) + l .w(x ) ) / eps ˆ221 re turn ( l i s t ( l .w, c ( l1 , l 2 ) , matrix ( c ( l11 , l12 , l12 , l 22 ) , 2 , 2) ) )22 }

Rozpoczynając wyszukiwanie odpowiednio blisko punktu, w którym spodziewałam się, że wy-stępuje maksimum lokalne otrzymałam wyniki zgodne z oczekiwaniami – zbliżone do punktuo współrzędnych (0, 1):

1 newton (Wiarogodnosc , c ( 0 . 1 , 0 . 9 ) )2 [ 1 ] −0.03881049 0.970853143 newton (Wiarogodnosc , c (−1 , 0 . 1 ) )4 [ 1 ] −0.03881049 0.97085314

Zastosowanie wielowymiarowych metod optymalizacji do curve fitting

Niech dane będą obserwacje (x1, y1), ..., (xn, yn). Proces szukania takiej funkcji f , że yi ≈f(xi) dla i = 1, ...n nosi nazwę dopasowywania krzywej (ang. curve fitting). Zakłada się, że fjest zależna od wektora parametrów θ = (θ1, ...θn)T i tak dobiera θ∗, aby dopasowane punktyyi = f(xi; θ∗) były jak najbliższe obserwacjom.

Na przykład, przy zawężeniu poszukiwania funkcji f tylko do funkcji kwadratowych możnazapisać f jako funkcję f(x) = ax2 + bx + c i w tym przypadku wektorem parametrów jestwektor θ = (a, b, c)T . Do zmierzenia dopasowania funkcji do obserwacji używana jest funkcjastraty, za pomocą której mierzona jest odległość pomiędzy y = (y1, ..., yn)T a y = (y1, ..., yn)T .Dwie, często używane funkcje straty to metoda najmniejszych kwadratów :

L2(θ) =n∑i=1

(yi − yi)2 (1.29)

oraz suma wartości bezwzględnych różnic:

L1(θ) =n∑i=1

|yi − yi|. (1.30)

14

Page 17: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Przy użyciu metod optymalizacji, wybierany jest taki parametr θ∗, aby wartość funkcji stratybyła minimalna. Funkcja (1.30) jest nieróżniczkowalna, przy jej minimalizacji można więcskorzystać z metod numerycznych opisanych w dodatku D.

Przykład dopasowywania krzywej do danych przedstawię przy pomocy danych apartmentspochodzących z pakietu PBImisc (źródło [8]). Zbadam zależność ceny za m2 od całkowitejpowierzchni dla 973 mieszkań. W przypadku powtarzających się powierzchni mieszkań, cenęza m2 uśredniłam i uzyskane dane zapisałam w pliku dane.txt. Przy pomocy funkcji optimdostępnej w pakiecie R oraz funkcji straty sumy wartości bezwzględnych różnic (zadanej wzo-rem (1.30)) wyszukam funkcję kwadratową pasującą do zaobserwowanych danych. Prześledzęteż jak zmieniać się będzie wykres szukanej funkcji, przy zwiększaniu maksymalnej liczbyiteracji. Wyniki zobrazuję wykresami.

1 i n s t a l l . packages ( ”PBImisc” , dependenc ies = TRUE)2 l i b r a r y ( PBImisc )3 data ( apartments )4 l i b r a r y ( l a t t i c e )5 # dane [ , 1 ] zawierać będz i e powierzchn ie ca łkowi te mieszkań posortowane rosnąco6 # dane [ , 2 ] zawierać będz i e uśrednione ceny mieszkań za mˆ2 odpowiadające

posortowanym cenom mieszkań7 dane <− read . t ab l e ( ”dane . txt ” )8 # funkc ja f2 to kwadratowa funkcja , k t ó r e j parametry będą wyszukiwane9 f 2 <− f unc t i on ( t , theta ) {10 re turn ( theta [ 1 ] ∗ t ˆ2 + theta [ 2 ] ∗ t + theta [ 3 ] )11 }12 # l o s s . L1 to funkc ja s t r a t y suma modułów , która będz i e minimalizowana przy

pomocy f unk c j i optim13 l o s s . L1 <− f unc t i on ( theta ) {14 re turn (sum( abs ( dane [ , 2 ] − f 2 ( dane [ , 1 ] , theta ) ) ) )15 }16 # za punkty startowe f unk c j i optim pr zy j ę t e będą punkty ( i , j , k ) d la i , j , k

całkowitych , na leżących do prz edz i a łu (−10 ,10)17 # w wektorze min zachowane będą t ak i e współczynnik i f u nk c j i kwadratowej , przy

k t ó r e j wartość f u nk c j i s t r a t y j e s t na jmnie j sza18 # w wektorze pam, zachowany będz i e punkt startowy , przy którym wartość f u nk c j i

s t r a t y j e s t na jmnie j sza19 min <− optim ( c (0 , 0 , 0) , l o s s . L1)20 f o r ( i in −10:10){21 f o r ( j in −10:10){22 f o r ( k in −10:10){23 w <− optim ( c ( i , j , k ) , l o s s . L1)24 i f (w [ [ 2 ] ] < min [ [ 2 ] ] ) {25 min <− w26 pam <− c ( i , j , k )27 }28 }29 }30 }31 # zawartość wektora min32 min33 $par34 [ 1 ] 0 .1785302 −16.7445265 8946.398971335 # wartość f unk c j i wiarogodnośc i36 $ value37 [ 1 ] 226910.838 $ convergence39 # wartość zero oznacza , że metoda wyszukiwania użyta w f unk c j i optim była

zb ieżna do loka lnego minimum40 [ 1 ] 0

15

Page 18: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

41 $message42 NULL43 # zawartość wektora pam44 pam45 [ 1 ] 1 6 10

Rysunek 1.3: Zależność ceny mieszkań za m2 (w złotówkach) od ich całkowitej powierzchni.

Prześledzę teraz zachowanie funkcji straty przy redukcji parametrów do dwóch, ustalającpo kolei pierwszy, drugi i trzeci parametr (przyjmując w tym celu za stałe parametry war-tości wyliczone wcześniej przez funkcję optim). Wyniki przedstawię przy pomocy wykresówkonturowych, używając różnych przybliżeń.

1 # Przykładowe ob l i c z en i a , d la jednego z 12 wykresów konturowych zamieszczonychpon i ż e j :

2 x <− seq ( 0 . 1 , 0 . 2 , 0 . 001 )3 y <− seq (−16.8 , −16.7 , 0 . 001 )4 xyz <− data . frame ( matrix (0 , l ength (x ) ∗ l ength (y ) , 3) )5 names ( xyz ) <− c ( ’ x ’ , ’ y ’ , ’ z ’ )6 n <− 07 f o r ( i in 1 : l ength (x ) )8 {9 f o r ( j in 1 : l ength (y ) )10 {11

12 n <− n + 113 xyz [ n , ] <− c ( x [ i ] , y [ j ] , l o s s . L1( c (x [ i ] , y [ j ] , 8946 .3989713) ) )14 }15 }16 l i b r a r y ( l a t t i c e )

16

Page 19: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek 1.4: Zależność ceny mieszkań za m2 (w złotówkach) od ich całkowitej powierzchni,podczas zwiększania liczby iteracji – n od 10 do 500, co 10. Dla n=500 algorytm optymalizacjibył już zbieżny. Wykresy dla n należących do przedziałów: (10, 100) zaznaczone są koloremszarym, (100, 200) kolorem niebieskim, (200, 300) kolorem zielonym, (300, 400) brązowym,zaś (400, 500) czerwonym.

17 pr in t ( contourp lo t ( z˜x∗y , data = xyz , r eg i on=TRUE) )

17

Page 20: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek 1.5: Wykresy konturowe przedstawiające wartości funkcji straty po ustaleniu pierw-szego parametru (przyjmując wartość tego parametru równą 0.1785302), przedstawione wcoraz większych przybliżeniach.

18

Page 21: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek 1.6: Wykresy konturowe przedstawiające wartości funkcji straty po ustaleniu dru-giego parametru (przyjmując wartość tego parametru równą -16.7445265), przedstawione wcoraz większych przybliżeniach.

19

Page 22: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek 1.7: Wykresy konturowe przedstawiające wartości funkcji straty po ustaleniu trze-ciego parametru (przyjmując wartość tego parametru równą 8946.3989713), przedstawiane wcoraz większych przybliżeniach.

20

Page 23: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rozdział 2

Algorytmy estymacji

W rozdziale tym omówię podstawowe algorytmy estymacji punktowej i przedziałowej. Wprzypadku estymacji punktowej posłużę się metodą momentów, metodą kwantyli oraz metodąnajwiększej wiarogodności. Dla zobrazowania estymacji przedziałowej opiszę zaś przedziałyufności. Źródłem informacji były [1], [2], [4] i [5].

2.1. Estymacja punktowa

Definicja 2.1.1 Estymatorem nazywamy dowolną statystykę Z służącą do oszacowania nie-znanej wartości parametru θ populacji statystycznej lub nieznanego rozkładu populacji.

Zwykle istnieje wiele estymatorów dla danego parametru. Który z nich jest lepszy decydująich własności. Przedstawię trzy, często używane estymatory powstałe przy pomocy metodymomentów, metody największej wiarogodności oraz metody kwantyli.

2.1.1. Metoda momentów

Niech wektor θ będzie estymowanym parametrem. W metodzie momentów przyrównywane sąmomenty nieznanego rozkładu parametru θ do ich empirycznych odpowiedników. Układanychjest tyle równań, ile jest współrzędnych estymowanego wektora θ:

µ(θ) = µ

mk(θ) = mk,(2.1)

gdzie µ i µ oznaczają odpowiednio wartość oczekiwaną i wartość oczekiwaną empiryczną:

µ(θ) =∫xfθ(x)dx

µ = X,(2.2)

natomiast mk i mk oznaczają odpowiednio k-ty moment i k-ty moment empiryczny:

mk(θ) =∫

(x− µ(θ))kfθ(x)

mk =1n

∑(Xi −X)k.

(2.3)

21

Page 24: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Przykład zastosowania metody momentów

Załóżmy, że mamy próbkę z rozkładu gamma o nieznanych parametrach α i λ. Chcemyestymować dwuwymiarowy wektor nieznanych parametrów θ = (α, λ). Musimy zatem wyko-rzystać dwa pierwsze momenty rozkładu gamma: wartość oczekiwaną i wariancję. Dostajemyukład równań:

α

λ= X

α

λ2= S2,

(2.4)

gdzie S2 to wariancja z próbki. Po rozwiązaniu układu równań otrzymujemy szukane esty-matory:

λ =X

S2

α =X2

S2.

(2.5)

Powyższy przykład zobrazuję przy pomocy danych apartments pochodzących z pakietuPBImisc. Przeanalizuję ceny mieszkań (w tysiącach złotych) za m2. Założę, że pochodzą onez rozkładu gamma o nieznanych parametrach α, λ. Parametry te wyestymuję przy pomocymetody momentów. Wyniki przedstawię na rysunku 2.1.

1 #cena1000 zawiera ceny mieszkań za m2 w tys . z ł .2 lambda <− mean( cena1000 ) / var ( cena1000 ) ∗ (n − 1 / n)3 a l f a <− mean( cena1000 ) ∗ lambda4 # warto śc i estymowanych parametrów :5 lambda6 [ 1 ] 2 .061737 a l f a8 [ 1 ] 18 .01493

2.1.2. Metoda kwantyli

Metoda kwantyli stosowana jest, gdy momenty są trudne do obliczenia lub prowadzą doskomplikowanych układów równań. W metodzie tej przyrównywane są kwantyle teoretycznenieznanego parametru θ do kwantyli obliczanych empirycznie, za pomocą próbki. Wybieramytyle różnych kwantyli, ile mamy niewiadomych i dostajemy równania postaci:

ξq(θ) = ξq. (2.6)

Przykład zastosowania metody kwantyli

Rozważmy rozkład Weibulla o nieznanych parametrach a > 0 (parametr kształtu) i b > 0(parametr skali) o dystrybuancie:

Fθ = 1− exp[−(x

b

)a](x > 0). (2.7)

Momenty tego rozkładu są trudne do obliczenia, ale przy estymowaniu parametru θ = (a, b)łatwo można skorzystać z równań dla kwantyli. Potrzebujemy dwóch równań, bo tyle jest

22

Page 25: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek 2.1: Histogram dla analizowanych cen mieszkań (w tysiącach złotych) za m2. Naczerwono zaznaczony jest wykres gęstości gamma(2,06173; 18,01493), na czarno wykres gę-stości powstały przy pomocy funkcji density.

niewiadomych parametrów. Wybieramy kwantyle rzędu 1/4 i 3/4 i dostajemy układ równań:

1− exp[−(ξ1/4b

)a]= 0.25

1− exp[−(ξ3/4b

)a]= 0.75

(2.8)

po rozwiązaniu, którego otrzymujemy estymatory:

a = log

(log(0.25)log(0.75)

)/(logξ3/4 − logξ1/4)

b = ξ1/4/(−log(0.75))1a .

(2.9)

Można także porównywać więcej kwantyli empirycznych i teoretycznych niż jest niewiado-mych parametrów. Mamy wtedy do czynienia z problemem nadokreślonych układów równańliniowych, gdy równań jest więcej niż niewiadomych. W takim przypadku nie można liczyćna to, że uda się znaleźć rozwiązanie spełniające wszystkie równania, gdyż jest ich za dużo.Dlatego konieczne jest znalezienie rozwiązania, które minimalizuje resztę.

Przykładowe doświadczenie przeprowadzę na n = 100 próbkach losowanych N = 1000razy z rozkładu Weibulla(3,3) i korzystając z obu przedstawionych wyżej metod (gdy równańjest tyle samo i więcej niż niewiadomych) dokonam estymacji parametrów skali i kształtu.Wyniki zobrazuję histogramami i wykresami pudełkowymi. W celu minimalizacji reszty, użyjęfunkcji straty najmniejszych kwadratów, a minimalizację funkcji straty przeprowadzę przypomocy wielowymiarowego algorytmu Newtona.

1 # wektor wykorzystywanych kwantyl i :2 y <− c ( 0 . 2 5 , 0 . 5 , 0 . 7 5 )

23

Page 26: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

3 # wektor wylosowanych próbek4 x <− rwe i bu l l (n , shape = 3 , s c a l e = 3)5 q <− quan t i l e ( x )6 q2 <− q [ 2 ]7 q3 <− q [ 3 ]8 q4 <− q [ 4 ]9 # funck ja Weibull za argumenty przyjmuje war to ś c i parametrów rozkładu Weibulla10 # funkc ja Weibull zwraca wektor war to ś c i dystrybuanty rozkładu Weibulla w

punktach będących odpowiednio kwantylami rzędu 0 .25 , 0 . 5 i 0 .7511 Weibull <− f unc t i on ( theta ) {12 g1 <− pwe ibu l l ( q2 , theta [ 1 ] , theta [ 2 ] )13 g2 <− pwe ibu l l ( q3 , theta [ 1 ] , theta [ 2 ] )14 g3 <− pwe ibu l l ( q4 , theta [ 1 ] , theta [ 2 ] )15 re turn ( c ( g1 , g2 , g3 ) )16 }17 # l o s s . L2 to funkc ja s t r a t y najmnie j szych kwadratów18 l o s s . L2 <− f unc t i on ( theta ) {19 re turn (sum( ( y − W( theta ) ) ˆ2) )20 }21

22 #funkc ja l o s s 2 . L2 zwraca wartość f u nk c j i s t r a t y j e j grad ientu i hes janu23 l o s s 2 . L2 <− f unc t i on (x ) {24 eps <− 0.000000125 e1 <− c (1 , 0 )26 e2 <− c (0 , 1 )27 g1 <− ( l o s s . L2(x + eps ∗ e1 ) − l o s s . L2(x ) ) / eps28 g2 <− ( l o s s . L2(x + eps ∗ e2 ) − l o s s . L2(x ) ) / eps29 g11 <− ( l o s s . L2(x + 2 ∗ eps ∗ e1 ) − 2 ∗ l o s s . L2(x + eps ∗ e1 ) + l o s s . L2(x ) ) /

eps ˆ230 g12 <− ( l o s s . L2(x + eps ∗ e1 + eps ∗ e2 ) − l o s s . L2(x + eps ∗ e1 ) −31 l o s s . L2(x + eps ∗ e2 ) + l o s s . L2(x ) ) / eps ˆ232 g22 <− ( l o s s . L2(x + 2 ∗ eps ∗ e2 ) − 2 ∗ l o s s . L2(x + eps ∗ e2 ) + l o s s . L2(x ) ) /

eps ˆ233 re turn ( l i s t ( g , c ( g1 , g2 ) , matrix ( c ( g11 , g12 , g12 , g22 ) , 2 , 2) ) )34 }35

36 f o r ( i in 1 : N) {37 x <− rwe i bu l l (n , shape = 3 , s c a l e = 3)38 q <− quan t i l e ( x )39 q2 <− q [ 2 ]40 q3 <− q [ 3 ]41 q4 <− q [ 4 ]42 # warto śc i współczynników rozkładu Weibulla , przy których wartość f u nk c j i

s t r a t y j e s t na jmnie j sza43 n1 [ i ] <− newton ( l o s s 2 . L2 , c (3 , 3) ) [ 1 ]44 n2 [ i ] <− newton ( l o s s 2 . L2 , c (3 , 3 ) ) [ 2 ]45 # warto śc i współczynników rozkłady Weibulla , gdy równań j e s t t y l e samo co

niewiadomych46 a [ i ] <− l og ( ( l og ( 0 . 2 5 ) / log ( 0 . 7 5 ) ) ) / ( l og ( q4 ) − l og ( q2 ) )47 b [ i ] <− q2 / ((− l og ( 0 . 7 5 ) ) ˆ(1 / a [ i ] ) )48 }

2.1.3. Metoda największej wiarogodności

Główną ideą metody największej wiarogodności jest oszacowanie nieznanych parametrów tak,aby empiryczne dane były najbardziej prawdopodobne. Aby znaleźć taki estymator konstru-uje się funkcję wiarogodności (def.1.3.1).

24

Page 27: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek 2.2: Histogramy estymowanych parametrów rozkładu Weibulla: po lewej parametrukształtu, po prawej parametru skali. W pierwszym rzędzie przedstawione są wyniki estymacjimetodą kwantyli, gdy liczba równań jest większa niż liczba parametrów, w drugim rzędzie,gdy liczba parametrów jest równa liczbie równań.

Rysunek 2.3: Wykresy pudełkowe przedstawiające wartości estymowanych parametrów. Wy-kres po lewej stronie dotyczy estymacji parametru kształtu, po prawej zaś parametru skali.

25

Page 28: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Definicja 2.1.2 Estymatorem największej wiarogodności (ENW) parametru θ jest ta jegowartość, przy której funkcja wiarogodności jest największa.

Gdy funkcja wiarogodności L jest różniczkowalna jej maksimum można znaleźć szukając wmiejscach zerowania się pochodnych. Maksimum można też szukać używając metod optyma-lizacji (tak jak w rozdziale 1.3). Ze względu na to, że funkcja L jest złożona z iloczynów częstowygodniej jest badać pochodne funkcji lnL.

Przykład zastosowania metody największej wiarogodności

Rozpatrzmy rozkład wykładniczy z parametrem λ. Funkcja wiarogodności przyjmuje postać:

L(λ) = λne−λ(x1+...+xn).

Po zlogarytmowaniu i zróżniczkowaniu otrzymujemy:

nλ − (x1 + ...+ xn) = 0,

czyli estymatorem ENW jest:

λ = 1X

.

2.1.4. Porównanie metody momentów, metody kwantyli i metody najwięk-szej wiarogodności

Załóżmy, że mamy próbkę z rozkładu Exp(λ) = Gamma(1, λ) o nieznanym parametrze λ.Aby porównać estymatory otrzymane metodą momentów, metodą kwantyli i metodą najwięk-szej wiarogodności będę estymowała parametr λ tymi trzema metodami. W tym celu wyge-neruję próbki rozmiaru n = 30 z rozkładu Gamma(1, 3). Doświadczenie powtórzę N = 1000razy, a wyniki zapiszę w tablicach EMM, ENW i EMK.

1 f o r ( i in 1 :N)2 {3 x <− rgamma(n , 1 , 3 )4 EMM[ i ] <− mean(x ) / var ( x ) ∗ (n − 1 / n)5 ENW[ i ] <− 1 / mean(x )6 EMK[ i ] <− l og ( 0 . 5 ) /−quan t i l e ( x ) [ 3 ]7 }

Uzyskane wykresy gęstości i wykresy pudełkowe przedstawiające obliczone wartości esty-matorów (przedstawione na rysunkach 2.4 i 2.5) pokazują, że estymatory uzyskane metodąnajwiększej wiarogodności najczęściej (spośród analizowanych estymatorów) przyjmują war-tości bliskie 3. Wartości uzyskane tą metodą charakteryzują się też najmniejszą rozbieżnościąwyników.

Więcej na temat metody momentów, metody największej wiarogodności oraz metodykwantyli można znaleźć w [2] i [5].

2.2. Przedziały ufności

Ideą estymacji przedziałowej jest znalezienie przedziału (Z1, Z2), w którym nieznany para-metr θ znajdzie się z zadowalającym, zbliżonym do jedynki prawdopodobieństwem. Końceprzedziału są statystykami Z1 = g1(X1, ..., Xn), Z2 = g2(X1, ..., Xn).

26

Page 29: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek 2.4: Wykresy gęstości estymatorów uzyskane przy pomocy funkcji density. Na nie-biesko zaznaczono wykres gęstości dla estymatorów powstałych metodą największej wiarogod-ności, na zielono dla estymatorów powstałych metodą kwantyli, na czerwono dla estymatorówpowstałych metodą momentów.

Rysunek 2.5: Wykresy pudełkowe otrzymane w wyniku szacowania parametru λ metodąmomentów, metodą największej wiarogodności i metodą kwantyli.

27

Page 30: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Definicja 2.2.1 Niech g(θ) będzie funkcją nieznanego parametru. Rozważmy dwie statystykiZ1 = g1(X1, ..., Xn) i Z2 = g2(X1, ...Xn). Mówimy, że [Z1, Z2] jest przedziałem ufności dlag(θ) na poziomie ufności 1− α jeśli dla każdego θ:

P(Z1 6 g(θ) 6 Z2) > 1− α.

Zazwyczaj α jest mała liczbą, np. α = 0.1, α = 0.05, α = 0.01. Przedziały ufności możnainterpretować następująco: przy wielokrotnym losowaniu prób n–elementowych i obliczaniuprzy ich pomocy granic przedziału, parametr g(θ) należy do obliczonego przedziału średnio w(1−α)100% przypadkach. Podstawą konstrukcji przedziału dla zadanego parametru g(θ) jestdobry estymator tego parametru. Sposób określenia przedziału ufności zależy od rozkładu,w którym występuje nieznany parametr, od tego czy znamy pozostałe parametry w tymrozkładzie oraz od liczebności próby. Więcej na temat przedziałów ufności można znaleźć w[4] i [5].

2.2.1. Przykłady zastosowań przedziałów ufności

Poniżej omówię przykładowe tworzenie przedziałów ufności dla średniej i wariancji, dla roz-kładu normalnego oraz przedstawię symulację przedziałów ufności dla średniej.

Przykłady przedziałów ufności dla średniej

Załóżmy, że mamy model, w którym populacja generalna ma rozkład N(m,σ2). Nieznanyjest parametr m, dla którego szukamy przedziału ufności.

Załóżmy najpierw, że wariancja jest znana. Ponieważ:

X −mσ/√n∼ N(0, 1) (2.10)

to jeżeli z jest kwantylem rzędu 1− α/2 rozkładu N(0, 1) to zachodzi:

Pµ(|√n(X −m)/σ| 6 z) = Φ(z)− Φ(−z) = 1− α. (2.11)

Czyli przedział ufności dla m ma postać:

[X − σz/√n,X + σz/

√n]. (2.12)

Niech teraz wariancja σ2 będzie nieznana. Zastosujemy nieobciążony estymator wariancji:

S2 =∑

(Xi −X)2/(n− 1). (2.13)

Niech S =√S2. Zachodzi:

X −mS/√n∼ t(n− 1), (2.14)

gdzie t(n− 1) jest rozkładem t-Studenta z n− 1 stopniami swobody. Jeżeli z jest kwantylemrzędu 1− α/2 to:

Pm,σ(|√n(X −m)/S| 6 z) = 1− α. (2.15)

Przedział ufności na poziomie istotności 1− α jest więc postaci:

[X − St/√n,X + St/

√n], (2.16)

gdzie t = t1−α2 (n− 1).

28

Page 31: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Symulacja przedziałów ufności dla średniej

Przedstawię symulację przedziałów ufności dla średniej, w przypadku, gdy wariancja jest zna-na. Wygeneruję próbki rozmiaru n = 15 z rozkładuN(µ, σ2). Prawdziwe wartości parametrówużyte w symulacjach to µ = 4 i σ = 2. Obliczę przedziały ufności dla µ. Wykonam N = 20doświadczeń. Poziom istotności wynosił będzie 0.95. Krańce lewych i prawych przedziałówzapiszę w tablicach L i P:

1 f o r ( i in 1 :N) {2 k <− rnorm (n , 4 , 2)3 q <− qnorm (0 . 975 , 0 , 1)4 L [ i ] <− mean(k ) − (2 ∗ q / sq r t (15) )5 P[ i ] <− mean(k ) + (2 ∗ q / sq r t (15) )6 }

Otrzymałam następujące wyniki:

nr próby L P czy µ ∈?1 3.730729 5.754971 TAK2 2.875956 4.900198 TAK3 2.901103 4.925345 TAK4 2.602048 4.626290 TAK5 2.867086 4.891328 TAK6 3.048413 5.072655 TAK7 3.561889 5.586131 TAK8 3.234790 5.259032 TAK9 2.827525 4.851767 TAK10 3.026169 5.050411 TAK11 2.110822 4.135065 TAK12 3.177976 5.202218 TAK13 3.581776 5.606018 TAK14 2.810548 4.834791 TAK15 3.095057 5.119299 TAK16 2.219202 4.243444 TAK17 2.723671 4.747913 TAK18 2.794172 4.818414 TAK19 3.503764 5.528006 TAK20 2.810442 4.834684 TAK

Wszystkie obliczone przedziały ufności zawierały µ. Wynik ten jest zgodny z oczekiwaniamii z definicją (2.2.1).

Przykład przedziału ufności dla wariancji

Rozważmy ten sam model co przy estymacji wartości oczekiwanej. Nieznanymi parametramisą m i σ2. Zachodzi:

(n− 1)S2

σ2∼ χ2(n− 1). (2.17)

Niech c1 i c2 będą kwantylami rozkładu chi-kwadrat z n− 1 stopniami swobody rzędów α/2i 1− α/2 odpowiednio. Zachodzi:

Pm,σ(c1 6 (n− 1)S2/σ2 6 c2) = 1− α. (2.18)

29

Page 32: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Szukanym przedziałem ufności jest zatem:

[(n− 1)S2/c2, (n− 1)S2/c1]. (2.19)

30

Page 33: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rozdział 3

Algorytmy redukcji wariancji

Algorytmy redukcji wariancji są procedurami pozwalającymi na zwiększenie precyzji estyma-cji, poprzez odpowiedni dobór próby (ang. sampling). Używając symulacji do estymowanianieznanych parametrów, wartości estymatorów dla każdej symulacji będą różne. Jest to skut-kiem losowości. Oczywiście pożądane jest, aby zmienność wyników była jak najmniejsza. Re-zultat taki można osiągnąć przez zwiększenie liczebności próby, ale jest to zbyt czasochłonnei często lepszy efekt można uzyskać korzystając z poniżej przedstawionych metod redukcjiwariancji. Źródłem informacji były [2] i [6].

3.1. Metoda antithetic sampling

Niech θ będzie estymowanym parametrem oraz niech X i Y będą jego nieobciążonymi estyma-torami o takich samych, skończonych wariancjach σ2X = σ2Y = σ2. Estymator Z = (X +Y )/2jest też nieobciążony. Estymatory X,Y, Z można porównać badając ich wariancję. Zachodzi:

V arZ =14V arX +

14V arY +

12Cov(X,Y ) =

12

(σ2 + Cov(X,Y )). (3.1)

Jeżeli X i Y są estymatorami niezależnymi to wariancja estymatora Z jest mniejsza dwukrot-nie. Wariancję estymatora Z można zmniejszyć jeszcze bardziej, jeżeli kowariancja estymato-rów X i Y będzie ujemna. Dzieje się tak wtedy, gdy zmienne X i Y są ujemnie skorelowane.Powyższa obserwacja pokazuje, że bardziej można zredukować wariancję uśredniając esty-matory, które są ujemnie skorelowane niż takie, które są niezależne. Jest to ideą metodyantithetic sampling.

3.1.1. Ogólna technika metody antithetic sampling

Niech Z będzie zmienną losową, której wartość oczekiwaną chcemy estymować. Niech θ =E(Z) oraz V ar(Z) = σ2. Parametr θ można estymować używając 2n niezależnych obserwacjiwartości zmiennej Z, używając estymatora:

θ2n =2n∑i=1

Zi/2n, (3.2)

którego wariancja wynosi:

V ar(θ2n) = σ2/2n. (3.3)

31

Page 34: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Załóżmy teraz, że możemy wygenerować 2n niezależnych par obserwacji (Xi, Yi), gdzie Xi

oraz Yi mają tę samą dystrybuantę co Z i są ujemnie skorelowane. Można wtedy estymowaćparametr θ używając nieobciążonego estymatora:

θant2n = (X + Y )/2, (3.4)

gdzie X, Y oznaczają średnią empiryczną. Zachodzi wtedy:

V ar(θant2n ) =14

(V ar(X) + V ar(Y ) + 2Cov(X,Y ))

=σ2

2n+

12nCov(X1, Y1)

=σ2

2n(1 + ρ(X1, Y1)),

(3.5)

gdzie ρ(X1, Y1) jest korelacją X1 i Y1. Estymator θant2n skonstruowany metodą zmiennychantytetycznych charakteryzuje się mniejszą wariancją o 100ρ% w porównaniu do estymatoraθ2n.

Generacja zmiennych antytetycznych

Z poprzedniego rozdziału widać, że wariancja estymatora θantn jest tym mniejsza im ρ bliższe−1. Standardowym sposobem konstruowania zmiennych losowych o ujemnej korelacji jeststosowanie funkcji odwrotnej do dystrybuanty i zastosowanie „odwróconych liczb losowych”.

Stwierdzenie 1 Jeśli g : [0, 1]→ R jest funkcją monotoniczną różną od stałej,1∫0g(u)2du <

∞ oraz U ∼ U(0, 1), to

Cov(g(U), g(1− U)) < 0.

Dowód. Załóżmy bez straty ogólności, że g jest funkcją rosnącą. Można wybrać takie u∗,że g(1− u) > θ jeżeli u < u∗ oraz g(1− u) < θ jeżeli u > u∗.

Z tego wynika:

Cov(g(U), g(1− U)) = E(g(U)− θ)(g(1− U)− θ)= Eg(U)(g(1− U)− θ)

< g(u∗)∫ u∗

1(g(1− u)− θ)du+ g(u∗)

∫ 1u∗

(g(1− u)− θ)du = 0

(3.6)

Przez symetrię można to samo pokazać dla funkcji g, która jest malejąca.

Definicja 3.1.1 Dla dowolnej dystrybuanty F określamy uogólnioną funkcję odwrotną F−1

następującym wzorem:

F−1(u) = inf{x : F (x) > u}.

Niech Ui ∼ U(0, 1), Xi = F−1(Ui) oraz Yi = F−1(1 − Ui). Xi i Yi mają tą samą dys-trybuantę F i są ujemnie skorelowane (co można dostać od razu podstawiając g = F−1

do Stwierdzenia 1). Z tej zależności można skorzystać, aby wyprodukować parę obserwacjiujemnie skorelowanych (Xi, Yi) o tej samej zadanej dystrybuancie F .

32

Page 35: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

3.1.2. Zastosowanie metody antithetic sampling

Przedstawię zastosowanie metody antithetic sampling do obliczania wartości całki θ =1∫0g(u)du,

gdzie g jest funkcją rosnąca na przedziale [0, 1]. Przybliżoną wartość parametru θ można ob-liczyć korzystając z metody Monte Carlo, opartej na 2n obserwacjach:

θ2n =1

2n

2n∑i=1

g(Ui), (3.7)

gdzie U1, ..., Un ∼ iidU(0, 1). Można też skorzystać z metody antithetic sampling.Niech (Xi, Yi) = (g(Ui), g(1−Ui)). 1−Ui ∼ U(0, 1), zatem Xi oraz Yi pochodzą z rozkładu

o tej samej dystrybuancie. Przybliżoną wartość parametru θ można więc obliczyć korzystającze wzoru:

θant2n =1

4n(2n∑i=1

g(Ui) +2n∑i=1

g(1− Ui)). (3.8)

Zachodzi E(Xi) = E(Yi) = θ oraz θant2n ma mniejszą wariancję, gdyż kowariancja zmiennych(Xi, Yi) jest ujemna.

Powyższe rozważania zastosuję do obliczenia przybliżonej wartości całki na przedziale(0, 1) funkcji:

g(x) = e−x2/2.

W tym celu wylosuję n = 100 próbek z rozkładu jednostajnego U(0, 1), wyprodukuję paryobserwacji ujemnie skorelowanych i dokonam obliczenia parametru θ dwoma przedstawionymiwyżej sposobami: metodą Monte Carlo i za pomocą metody antithetic sampling. Doświadcze-nie powtórzę N = 1000 razy i sprawdzę jak zmieniła się wariancja po zastosowaniu metodyantithetic sampling.

1 # g to funkcja , k t ó r e j całka na p r z e d z i a l e ( 0 , 1 ) będz i e p rzyb l i żana2 g <− f unc t i on (x ) {3 re turn ( exp(−xˆ2 / 2) )4 }5 # w tab l i c y MC znajdują s i ę ob l i c z one metodą Monte Carlo war to ś c i c a ł k i6 # w tab l i c y Ant znajdują s i ę p r zyb l i ż one war to ś c i c a ł k i wyl i czone metodą

a n t i t h e t i c sampling7 f o r ( i in 1 :N) {8 u <− r un i f (n , min = 0 , max = 1)9 MC[ i ] <− mean( g (u) )10 Ant [ i ] <− (mean( g (u) ) + mean( g (1 − u) ) ) / 211 }12 # war ianc ja po sko r zy s tan iu z metody Monte Carlo13 var (MC)14 [ 1 ] 0 .000144923315 # war ianc ja po sko r zy s tan iu z metody a n t i t h e t i c sampling16 var (Ant )17 [ 1 ] 2 .157682 e−0518 # ob l i c z e n i e r edukc j i wa r i an c j i19 red <− ( var (MC) − var (Ant ) ) / var (MC)20 red21 [ 1 ] 0 .8511156

Redukcja wariancji uzyskana metodą antithetic sampling wyniosła około 85, 11%.

33

Page 36: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

3.2. Metoda emphimportance sampling

Metoda importance sampling (losowanie istotne) znajduje zastosowanie głównie przy obli-czaniu wartości całek lub sum. Ideą losowania istotnego jest kompensacja wagami szybkiejzmienności estymowanej funkcji podcałkowej. Losowanie punktów nie jest równomierne –punkty losowane są tym gęściej, im funkcja jest bardziej zmienna.

3.2.1. Ogólna technika metody importance sampling

Niech X będzie zmienną losową o gęstości f , a estymowanym parametrem θ = Eφ(X) =∫φ(x)f(x)dx. Niech Y będzie zmienną losową o gęstości g, zbliżonej do φf . Zachodzi wtedy:

Eφ(X) =∫φ(x)f(x)dx =

∫φ(x)f(x)g(x)

g(x)dx =∫ψ(x)g(x)dx = Eψ(Y ), (3.9)

gdzie ψ(x) = φ(x)f(x)/g(x) = w(x)φ(x).Niech Y1, ..., Yn będą niezależnymi zmiennymi losowymi o gęstości g. Wtedy estymator

importance sampling jest postaci:

θISn =1n

n∑i=1

ψ(Yi) =1n

n∑i=1

w(Yi)φ(Yi), (3.10)

gdzie w(x) = f(x)/g(x). θISn jest estymatorem nieobciążonym z wariancją:

V ar(θISn ) =1nV arψ(Y1). (3.11)

Oczywiście im bardziej g jest zbliżona do φf , tym bardziej ψ zbliżone jest do stałej i tymwiększą można osiągnąć redukcję wariancji.

3.2.2. Zastosowanie metody importance sampling

Rozważmy tak jak poprzednio problem obliczenia całki:

θ =∫ 10 e−x2/2dx,

Stosując metodę importance sampling szukamy funkcji h(x), która (analogicznie do funkcjig(x) w rozdziale 3.2.1) jest zbliżona do funkcji e−x

2/2. Szukana funkcja h(x) musi być gęstościąpewnego rozkładu. Aby uzyskać funkcję h(x) rozpatrujemy rozwinięcie w szereg Taylora. Pozastosowaniu rozwinięcia funkcji ex

2/2 w szereg Taylora wokół zera otrzymujemy:

h1(x) = e−x2/2 =

1ex2/2

≈ 11 + x2/2

. (3.12)

Modyfikujemy funkcję h1 tak żeby była gęstością pewnego rozkładu. Ponieważ:

x∫0

11 + u2/2

du =√

2arctan(x√2

), (3.13)

a gęstość musi całkować się do jedynki, otrzymujemy dystrybuantę będącą całką szukanejgęstości h(x):

H(x) =arctan

(x√2

)arctan

(1√2

) x ∈ (0, 1). (3.14)

34

Page 37: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Możemy wygenerować obserwacje pochodzące z rozkładu o gęstości h korzystając z funkcjiH−1(u) =

√2tan

(u arctan

(1/√

2))

. Korzystając ze wzoru (3.10) oraz licząc pochodną funk-cji H(x) ( i dostając w ten sposób gęstość h(x)) uzyskujemy estymator importance samplingparametru θ:

θISn =1n

n∑i=1

e−X2i /2√

2arctan(

1√2

)(1 +

X2i2

), (3.15)

gdzie Xi = H−1(Ui) oraz U1, ..., Un są niezależnymi zmiennymi losowymi pochodzącymi zrozkładu U(0, 1).

Przedstawię teraz obliczenia redukcji wariancji, jaką można uzyskać stosując estymatorimportance sampling. Obliczenia wykonam dla n = 100 próbek losowanych z rozkładu jed-nostajnego. Doświadczenie powtórzę N = 1000 razy. Wariancję porównam z wariancją otrzy-maną przy obliczaniu wartości całki metodą Monte Carlo.

1 # g to funkcja , k t ó r e j wartość c a ł k i na p r z e d z i a l e ( 0 , 1 ) będz i e p rzyb l i żana2 # w tab l i c y MC znajdować s i ę będą ob l i c z one metodą Monte Carlo p r zyb l i ż one

war to ś c i c a ł k i3 # w tab l i c y IS znajdować s i ę będą ob l i c z one metodą importance sampling

pr zyb l i ż one war to ś c i c a ł k i4 f o r ( i in 1 :N) {5 u <− r un i f (n , min = 0 , max = 1) a n t i t h e t i c6 MC[ i ] <− mean( g (u) )7 IS [ i ] <− mean( g (u) ∗ s q r t (2 ) ∗ atan (1 / sq r t (2 ) ) ∗ (1 + uˆ2 / 2) )8 }9 # war ianc ja po wykorzystaniu metody Monte Carlo10 var (MC)11 [ 1 ] 4 .121681 e−0612 # war ianc ja war to ś c i ob l i c zonych metodą importance sampling13 var ( IS )14 [ 1 ] 1 .26943 e−0715 # ob l i c z e n i e r edukc j i wa r i an c j i16 red <− ( var (MC) − var ( IS ) ) / var (MC)17 red18 [ 1 ] 0 .9692012

Redukcja wariancji po zastosowaniu metody importance sampling wyniosła około 96, 92% ibyła większa niż uzyskana metodą antithetic sampling.

3.3. Metoda control variates

Podobnie jak w metodzie zmiennych antytetycznych, w metodzie control variates redukcjęwariancji można uzyskać dzięki kowariancji, ale w tym przypadku dodatniej. Główną ideątej metody jest użycie zmiennej Y , ze znaną wartością oczekiwaną µ, do kontrolowania innejzmiennej X, z nieznaną wartością oczekiwaną θ, którą chcemy estymować.

Załóżmy, że Cov(X,Y ) > 0. Kontrolowaną wersją zmiennej X jest:

X∗ = X − α (Y − µ) , (3.16)

gdzie α > 0 jest pewną stałą. Oczywiście E(X∗) = θ, zatem X∗ jest nieobciążonym estyma-torem θ.

V ar(X∗) = V ar(X) + α2V ar(Y )− 2αCov(X,Y − µ)

= V ar(X)− α(2Cov(X,Y )− αV ar(Y )).(3.17)

35

Page 38: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Zachodzi:V ar(X∗) < V ar(X)⇐⇒ 0 < α < 2Cov(X,Y )/V ar(Y ). (3.18)

f(α) = V ar(X∗) jest funkcją kwadratową, która osiąga minimum w punkcie α∗ zerowaniasię pochodnej:

α∗ =Cov(X,Y )V ar(Y )

(3.19)

Podstawiając wzór (3.19) do wzoru (3.17) dostajemy minimalną wariancję:

f(α∗) = V ar(X)− Cov(X,Y )2

V ar(X)V ar(Y )V ar(X) = V ar(X)(1− ρ2), (3.20)

gdzie ρ = Cov(X,Y )√V ar(X)V ar(Y )

jest współczynnikiem korelacji. Redukcja wariancji wynosi 100ρ2%.

Im większa korelacja zmiennych X i Y tym bardziej można zredukować wariancję. Dlategozmienną Y, o znanej wartości oczekiwanej, najlepiej wybrać taką, aby jej wartość oczekiwanabyła zbliżona do pewnego estymatora nieznanej wartości oczekiwanej zmiennej X.

3.3.1. Zastosowanie metody control variates

Niech ponownie nieznanym parametrem, którego wartość chcemy obliczyć będzie:

θ =1∫0e−x

2/2dx

oraz niech X = θISn będzie estymatorem importance sampling z przykładu z poprzedniegorozdziału:

θISn =1n

n∑i=1

e−T2i /2√

2arctan(

1√2

)(1 +

T 2i2

), (3.21)

gdzie Ti są próbkami pochodzącymi z rozkładu o gęstości h, tak jak wcześniej.Rozwinięcie w szereg Taylora funkcji e−x

2/2 w pobliżu zera daje:

e−x2/2 ≈ 1− x2/2. (3.22)

Definiujemy, więc:

µ =∫ 10

(1− x2

2

)dx =

56

(3.23)

i jako zmienną kontrolną używamy zmiennej Y , mającej taką samą gęstość h jaką użyto doestymowania parametru θ (we wzorze 3.21):

Y = µ =1n

n∑i=1

(1− T 2i

2

)√

2arctan(

1√2

)(1 +

T 2i2

)=

1n

n∑i=1

ψ2(Ti). (3.24)

Oczywiście EY = µ, a pozytywną korelację pomiędzy zmiennymi X i Y można zapewnić uży-wając tych samych Ti do generowania X i Y . Ponieważ zachodzi (3.22), wartości oczekiwaneY i X są zbliżone.

Dla α > 0 formułujemy X∗, kontrolowaną wersję X, jako:

X∗ = θCVn = X − α(Y − 5

6

)= θISn − α

(µ− 5

6

). (3.25)

36

Page 39: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Powyższe równanie wyjaśnia, że estymator control variate to skorygowany estymator pier-wotny. Na przykład jeżeli wartości zmiennej kontrolnej µ przewyższają swoją znaną średnią,pozytywna korelacja sugeruje że wartości θISn mogą także być za wysokie, więc estymacja jestkorygowana w dół. Optymalny wybór α nie jest znany, gdyż wartość wyrażenia:

Cov (X,Y ) /V arY = Cov(ψ1(T1), ψ2(T1))/V arψ2(T1) (3.26)

nie jest znana. Można ją jednak przybliżać używając wariancji i kowariancji próby opartej naestymacji.

Przedstawię obliczenia redukcji wariancji, jaką można uzyskać korzystając z metody con-trol variates. Obliczenia wykonam dla n = 100 próbek losowanych z rozkładu jednostajnego.Doświadczenie powtórzę N = 1000 razy. Wariancję porównam z wariancją otrzymaną przywykorzystaniu metody Monte Carlo.

1 # g to funkcja , k t ó r e j wartość c a ł k i na p r z e d z i a l e ( 0 , 1 ) będz i e p rzyb l i żana2 # w tab l i c y MC znajdują s i ę będą ob l i c z one metodą Monte Carlo p r zyb l i ż one

war to ś c i c a ł k i3 # w tab l i c y IS znajdują s i ę będą ob l i c z one metodą importance sampling

pr zyb l i ż one war to ś c i c a ł k i4 # importance sampling ( wzór ( 3 . 1 5 ) )5 # w tab l i c y EY znajdować s i ę będą war to ś c i estymowanego parametru mi ( wzór

3 . 24 )6 f o r ( i in 1 :1000) {7 u <− r un i f (100 , min = 0 , max = 1)8 MC[ i ] <− mean( g (u) )9 IS [ i ] <− mean( g (u) ∗ s q r t (2 ) ∗ atan (1 / sq r t (2 ) ) ∗ (1 + uˆ2 / 2) )10 EY[ i ] <− mean ( (1 − (uˆ2 / 2) ) ∗ s q r t (2 ) ∗ atan (1 / sq r t (2 ) ) ∗ (1 + uˆ2 / 2) )11 }12 # ob l i c z e n i e parametru a − wzór ( 3 . 1 9 )13 a <− cov ( IS , EY) / var (EY)14 # CV to t a b l i c a zaw ie ra jąca war to ś c i estymatorów ob l i c zonych metodą con t r o l

v a r i a t e s ( wzór 3 . 25 )15 CV <− IS − a ∗ (EY − (5 / 6) )16 # war ianc ja po wykorzystaniu metody Monte Carlo17 var (MC)18 [ 1 ] 2 .054094 e−0619 # war ianc ja war to ś c i ob l i c zonych metodą importance sampling20 var ( IS )21 [ 1 ] 1 .117196 e−0722 # war ianc ja war to ś c i ob l i c zonych metodą con t r o l v a r i a t e s23 var (CV)24 [ 1 ] 4 .278394 e−1025 # ob l i c z e n i e r e d k c j i wa r i an c j i26 red <− ( var (MC) − var (CV) ) / var (MC)27 red28 [ 1 ] 0 .9997917

Redukcja wariancji po zastosowaniu metody control variates wynosi około 99, 98% i jestnajwiększa spośród uzyskanych redukcji.

37

Page 40: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W
Page 41: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Podsumowanie

W pracy przedstawiłam wybrane algorytmy optymalizacji, estymacji i redukcji wariancji orazich zastosowania.

W rozdziale pierwszym omówiłam metodę Newtona i metodę złotego podziału – jakoprzykłady metod optymalizacji jednowymiarowej oraz metodę najszybszego wzrostu i wie-lowymiarową metodę Newtona – jako przykłady algorytmów optymalizacji dla funkcji wie-lowymiarowej. Dokonałam optymalizacji funkcji wiarogodności, wykorzystując do tego celuwielowymiarową metodę Newtona. Wyniki, które otrzymałam były bardzo bliskie spodzie-wanemu. Pokazałam także wykorzystanie metod optymalizacji przy curve fitting. W tym celuprzeanalizowałam dane apartments pochodzące z pakietu PBImisc i próbowałam znaleźć naj-lepszą kwadratową zależność pomiędzy ceną za m2 mieszkań a ich całkowitą powierzchnią.Prześledziłam też zmianę uzyskiwanych parametrów funkcji kwadratowej przy zwiększaniumaksymalnej liczby iteracji.

W rozdziale drugim omówiłam metodę momentów, metodę kwantyli i metodę największejwiarogodności, jako przykłady algorytmów estymacji punktowej. Zaprezentowałam przykładzastosowania metody momentów, wykorzystując ponownie dane apartments. Przeanalizo-wałam ceny za m2 mieszkań i założyłam, że pochodzą one z rozkładu gamma. Przy użyciumetody momentów znalazłam parametry tego rozkładu, które najlepiej pasowały do danych.Wykres gęstości uzyskanego rozkładu gamma naniosłam na histogram częstości, obrazującydane empiryczne. Otrzymana gęstość powstała w wyniku estymacji była zbliżona do kształtuhistogramu. W rozdziale tym porównałam także parametry rozkładu Weibulla powstałe wwyniku standardowej metody kwantyli, gdy równań jest tyle samo co estymowanych para-metrów, oraz zmodyfikowanej metody kwantyli, gdy równań jest więcej niż parametrów. Wdrugim przypadku, w celu optymalizacji funkcji straty użytej w zagadnieniu nadokreślonychukładów równań liniowych, wykorzystałam wielowymiarową metodę Newtona. Po zobrazowa-niu wyników wykresami zauważyłam, że wartości parametrów rozkładu Weibulla obliczonetymi dwoma metodami różniły się nieznacznie. Na końcu omawiania estymacji punktowejporównałam estymatory parametru λ rozkładu wykładniczego, powstałe w wyniku metodymomentów, metody największej wiarogodności i metody kwantyli, a wyniki przedstawiłamna wykresach, z których odczytałam, że estymowane parametry metodą największej wiaro-godności były najczęściej bliskie prawdziwej wartości parametru oraz charakteryzowały sięnajmniejszą rozbieżnością wyników. W rozdziale drugim pokazałam także przykład estymacjiprzedziałowej, na podstawie przedziałów ufności. Wykonałam symulację przedziałów ufnościdla średniej w przypadku, gdy wariancja jest znana, używając do tego celu próbek pochodzą-cych z rozkładu normalnego o parametrach (4, 2). Uzyskałam wyniki zgodne z oczekiwaniami.

W rozdziale trzecim omówiłam trzy metody redukcji wariancji: antithetic sampling, im-portance sampling i control variates. Przedstawiłam działanie każdej z metod na jednymprzykładzie, dotyczącym obliczenia przybliżonej wartości całki. Redukcja wariancji otrzyma-na metodą control variates była największa.

39

Page 42: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W
Page 43: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Dodatek A

Implementacja metody Newtona

W implementacji metody Newtona funkcja f3 pobiera argument x i zwraca wektor (f(x), f ′(x), f ′′(x)).W rzeczywistości pochodne funkcji f często obliczane są numerycznie (dodatek D). Ponieważszukany jest taki punkt x∗, że f ′(x∗) = 0 jako warunek stopu przyjęłam |f ′(x(n))| 6 ε.

1 newton <− f unc t i on ( f3 , x0 , t o l = 1e−20, n .max = 100) {2 x <− x03 f 3 . x <− f 3 ( x )4 n <− 05 whi le ( ( abs ( f 3 . x [ 2 ] ) > t o l ) & (n < n .max) ) {6 x <− x − f 3 . x [ 2 ] / f 3 . x [ 3 ]7 f 3 . x <− f 3 ( x )8 n <− n + 19 }10 i f (n == n .max) {11 cat ( ’Metoda Newtona n i e j e s t zb iezna \n ’ )12 }13 e l s e {14 re turn (x )15 }16 }

Metodę Newtona zastosowałam do funkcji będącej gęstością rozkładu gamma(5,1).

1 gamma . 5 . 1 <− f unc t i on (x ) {2 i f ( x < 0) re turn ( c (0 , 0 , 0) )3 i f ( x == 0) return ( c (0 , 0 , NaN) )4 y<−exp(−x )5 re turn ( c ( y∗xˆ4/ 24 , −y∗xˆ3∗ (x−4)/ 24 , y∗xˆ2∗ ( xˆ2−8∗x+12)/ 24) )6 }

1 newton (gamma . 5 . 1 , 3)2 [ 1 ] 43 newton (gamma . 5 . 1 , 1 . 3 )4 [ 1 ] 3 .102875 e−07

Powyższy przykład pokazuje, że metoda Newtona może zbiegać zarówno do punktu, wktórym istnieje maksimum jak i do punktu, w którym nie ma ekstremum, ale pochodna wtym punkcie jest dostatecznie mała.

41

Page 44: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek A.1: Funkcja f(x) = 124x4e−x - gęstość rozkładu gamma, do której zastosowałam

metodę Newtona.

42

Page 45: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Dodatek B

Implementacja metody złotegopodziału

W implementacji metody złotego podziału maksymalizowana jest funkcja jednej zmiennej fgs.Punkty xl, xm, xr są wybrane tak, że xl < xm < xr oraz fgs(xl) 6 fgs(xm), fgs(xr) 6 fgs(xm).Algorytm kończy swoją pracę, gdy xr − xl 6 tol i zwraca xm.

1 g s e c t i on <− f unc t i on ( fgs , x . l , x . r , x .m, t o l = 1e−9){2 gr1 <− 1 + (1 + sq r t (5 ) ) / 23 f . l <− f g s ( x . l )4 f . r <− f g s ( x . r )5 f .m <− f g s ( x .m)6 whi le ( ( x . r − x . l ) > t o l ) {7 i f ( ( x . r − x .m) > ( x .m − x . l ) ) {8 y <− x .m + (x . r − x .m) / gr19 f . y <− f g s ( y )10 i f ( f . y >= f .m) {11 x . l <− x .m12 f . l <− f .m13 x .m <− y14 f .m <− f . y15 }16 e l s e {17 x . r <− y18 f . r <− f . y19 }20 }21 e l s e {22 y <− x .m − ( x .m − x . l ) / gr123 f . y <− f g s ( y )24 i f ( f . y >= f .m) {25 x . r <− x .m26 f . r <− f .m27 x .m <− y28 f .m <− f . y29 }30 e l s e {31 x . l <− y32 f . l <− f . y33 }34 }35 }36 re turn (x .m)

43

Page 46: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

37 }

Do powyższego algorytmu zastosowałam (tak jak w przypadku algorytmu Newtona w dodatkuA) gęstość rozkładu gamma(5,1).

1 gamma . 5 . 1 <− f unc t i on (x ) {2 i f ( x <= 0) return (0 )3 y <− exp(−x )4 re turn (y ∗ xˆ4 / 24)5 }

1 g s e c t i on (gamma . 5 . 1 , 0 , 8 , 5)2 [ 1 ] 43 g s e c t i on (gamma . 5 . 1 , 3 , 8 , 100)4 [ 1 ] 4

Algorytm jest zbieżny do maksimum funkcji jeżeli wybrane punkty początkowe xl, xm, xrspełniają warunki przedstawione na wstępie.

Jeżeli wyszukiwanie zostanie rozpoczęte od punktu xm wybranego tak, że stosunek (xr −xm)/(xm − xl) = ρ lub 1/ρ, to w każdej iteracji długość przedziału zmniejsza się ρ/(1 + ρ)razy i w końcu zbiega do zera.

44

Page 47: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Dodatek C

Implementacja metodynajszybszego wzrostu

W implementacji metody najszybszego wzrostu funkcja ascent przyjmuje za argumenty funk-cje f oraz ∇f . W algorytmie wykorzystywana jest też funkcja line.search, która pobiera:f,x(n),∇fx(n) i zwraca x(n) + αm∇f(x(n)), gdzie αm > 0 maksymalizuje wartość funkcjig(α) = f(x(n) + α∇f(x(n))). W celu obliczenia tego maksimum użyty został algorytm zło-tego podziału. Algorytm złotego podziału rozpoczyna swoje działanie od wyboru punktów:αl < αm < αr takich, że g(αm) > g(αl) oraz g(αm) > g(αr). Przyjmowane jest αl = 0. Jeżeli‖∇f(x(n))‖ > 0 to g′(0) > 0 i istnieje ε > 0 taki, że g(ε) > g(0), więc można przyjąć αm = ε.W praktyce jednak, jeżeli g′(0) jest bardzo małe to g(ε) − g(0) ≈ g′(0)ε jest bardzo małe itrudno jest numerycznie oddzielić g(0) od g(ε). Nie ma także gwarancji, że odpowiednie αristnieje (jest tak np. wtedy gdy funkcja jest rosnąca na całym przedziale [0,∞)). W tym celuprzyjęto więc αmax, które oznacza największy rozmiar kroku. Jeżeli nie da się znaleźć takiegoαr, że g(αr) 6 g(αm) to zwracane jest αmax.

Jeśli funkcja f jest ograniczona to ciąg {f(x(n))}∞n=1 musi być zbieżny. Obserwacja tasugeruje, aby za warunek stopu przyjąć f(x(n)) − f(x(n − 1)) 6 ε, dla pewnego ustalonegoε. Zbieżność ciągu {f(x(n))}∞n=1 nie implikuje zbieżności ciągu {x(n)}∞n=0. Można pokazaćjednak, że jeżeli f jest ciągła, a ∇f jest wektorem funkcji jednostajnie ciągłych (w rozpatry-wanym obszarze) to ciąg {x(n)}∞n=0 jest zbieżny.

1 ascent <− f unc t i on ( f , grad , x0 , t o l = 1e−9, n .max = 100000) {2 x <− x03 x . o ld <− x4 x <− l i n e . s earch ( f , x , grad (x ) )5 n <− 16 whi le ( ( f ( x ) − f ( x . o ld ) > t o l ) && (n < n .max) ) {7 x . o ld <− x8 x <− l i n e . s earch ( f , x , grad (x ) )9 n <− n + 110 }11 re turn (x )12 }

1 l i n e . s earch <− f unc t i on ( f , x , y , t o l = 1e−9, a .max = 2ˆ5) {2 i f (sum( abs (y ) ) == 0) return (x )3 g <− f unc t i on ( a ) re turn ( f ( x + a ∗ y ) )4 a . l <− 05 g . l <− g ( a . l )

45

Page 48: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

6 a .m <− 17 g .m <− g ( a .m)8 whi le ( ( g .m < g . l ) & ( a .m > t o l ) ) {9 a .m <− a .m/210 g .m <− g ( a .m)11 }12 i f ( ( a .m <= to l ) & ( g .m < g . l ) ) r e turn (x )13 a . r <− 2∗a .m14 g . r <− g ( a . r )15 whi le ( ( g .m < g . r ) & ( a . r < a .max) ) {16 a .m <− a . r17 g .m <− g . r18 a . r <− 2∗a .m19 g . r <− g ( a . r )20 }21 i f ( ( a . r >= a .max) & ( g .m < g . r ) ) re turn (x − a .max ∗ y )22 a <− g s e c t i on (g , a . l , a . r , a .m)23 re turn (x + a ∗ y )24 }

Metodę najszybszego wzrostu zastosowałam do funkcji Rosenbrocka. Funkcja Rosenbrockaużywana jest często do testowania algorytmów optymalizacji. Przyjmuje ona swoje minimumglobalne w punkcie (−1, 1) i wyraża się wzorem:

f(x, y) = (1− x)2 + 100(y − x2)2. (C.1)

1 Rosenbrock <− f unc t i on (x ) {2 g <− (1 − x [ 1 ] ) ˆ2 + 100 ∗ ( x [ 2 ] − x [ 1 ] ˆ 2 ) ˆ23 g1 <− −2 ∗ (1 − x [ 1 ] ) − 400 ∗ ( x [ 2 ] − x [ 1 ] ˆ 2 ) ∗ x [ 1 ]4 g2 <− 200 ∗ ( x [ 2 ] − x [ 1 ] ˆ 2 )5 g11 <− 2 − 400∗x [ 2 ] + 1200 ∗ x [ 1 ] ˆ 26 g12 <− −400 ∗ x [ 1 ]7 g22 <− 2008 re turn ( l i s t ( g , grad=c ( g1 , g2 ) , matrix ( c ( g11 , g12 , g12 , g22 ) , 2 , 2) ) )9 }

1 x <− seq (−2 , 2 , . 1 )2 y <− seq (−2 ,5 , . 1 )3 xyz <− data . frame ( matrix (0 , l ength (x ) ∗ l ength (y ) , 3) )4 names ( xyz ) <− c ( ’ x ’ , ’ y ’ , ’ z ’ )5 n <− 06 f o r ( i in 1 : l ength (x ) ) {7 f o r ( j in 1 : l ength (y ) ) {8 n <− n + 19 xyz [ n , ] <− c ( x [ i ] , y [ j ] , Rosenbrock ( c (x [ i ] , y [ j ] ) ) [ [ 1 ] ] )10 }11 }12 l i b r a r y ( l a t t i c e )13 pr in t ( wireframe ( z ˜ x∗y , data = xyz , s c a l e s = l i s t ( arrows = FALSE) ,14 z lab = ’ f (x , y ) ’ , drape = T) )

1 pr in t ( contourp lo t ( z˜x∗y , data = xyz , r eg i on=TRUE,2 aspect=” i s o ” , c o l . r e g i on s=gray ( ( 1 2 : 1 ) / 12) ) )

46

Page 49: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Rysunek C.1: Przestrzenny wykres funkcji Rosenbrocka.

Rysunek C.2: Poziomicowy wykres funkcji Rosenbrocka.

47

Page 50: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Poniżej zastosowałam algorytm najszybszego wzrostu do funkcji Rosenbrocka. Ponieważalgorytm najszybszego wzrostu wyszukuje maksimum, a funkcja Rosenbrocka ma jedno mi-nimum, przy wyszukiwaniu ekstremum tej funkcji należy ją pomnożyć przez −1.

1 g <− f unc t i on (x ) {2 re turn (−((1 − x [ 1 ] ) ˆ2 + 100 ∗ ( x [ 2 ] − x [ 1 ] ˆ 2 ) ˆ2) )3 }4 grad <− f unc t i on (x ) {5 g1 <− −2 ∗ (1 − x [ 1 ] ) − 400 ∗ ( x [ 2 ] − x [ 1 ] ˆ 2 ) ∗ x [ 1 ]6 g2 <− 200 ∗ ( x [ 2 ] − x [ 1 ] ˆ 2 )7 re turn ( c(−g1 , −g2 ) )8 }9 ascent ( g , grad , c (0 , 3 ) )10 [ 1 ] 0 .9993649 0.9987301

Algorytm najszybszego wzrostu wskazuje przybliżone współrzędne ekstremum funkcji Ro-senbrocka.

48

Page 51: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Dodatek D

Implementacja wielowymiarowejmetody Newtona

W implementacji wielowymiarowej metody Newtona założyłam, że funkcja f3 pobiera argu-ment x i zwraca wektor (f(x),∇f(x),H(x)). Jako warunek stopu przyjęłam: ‖∇f(x(n))‖∞ 6ε.

1 newton <− f unc t i on ( f3 , x0 , t o l = 1e−9, n .max = 100000) {2 x <− x03 f 3 . x <− f 3 ( x )4 n <− 05 whi le ( (max( abs ( f 3 . x [ [ 2 ] ] ) ) > t o l ) & (n < n .max) ) {6 x <− x − s o l v e ( f 3 . x [ [ 3 ] ] , f 3 . x [ [ 2 ] ] )7 f 3 . x <− f 3 ( x )8 n <− n + 19 }10 i f (n == n .max) {11 cat ( ’Metoda Newtona n i e j e s t zb ieżna \n ’ )12 }13 e l s e {14 re turn (x )15 }16 }

Po zastosowaniu funkcji Rosenbrocka do metody Newtona dostajemy współrzędne mini-mum funkcji Rosenbrocka:

1 newton ( Rosenbrock , c (0 , 3 ) )2 [ 1 ] 1 1

Częstą trudnością w metodzie Newtona jest obliczenie gradientu i hesjanu. W metodzie naj-szybszego wzrostu obliczany jest tylko gradient, ale czasami też może być to kłopotliwe. Dlawielomianów i prostych funkcji obliczenia te są stosunkowo łatwe, ale nie zawsze tak jest.Istnieje wiele sytuacji, w których f jest znaną funkcją, a ∇f nie jest. Jest tak na przy-kład wtedy, gdy f jest rezultatem numerycznych procedur albo aproksymacji powstałej zsymulacji. W tej sytuacji można poradzić sobie na dwa sposoby. Pierwszy z nich polega nawykorzytsaniu metod, które nie potrzebują gradientu i pochodnych. W jednym wymiarzemożna skorzystać z metody złotego podziału, zaś w przypadku wielowymiarowym istnieje al-gorytm Neldera-Meada, nie używający pochodnych. Druga metoda polega na numerycznymoblczeniu gradientu i Hesjanu.

49

Page 52: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Niech f : Rd → R. Ponieważ:

∂f(x)∂xi

= limε→0

f(x + εei)ε

, (D.1)

to dla małego ε można zapisać:

∂f(x)∂xi

≈ f(x + εei)− f(x)ε

. (D.2)

Podobnie można zapisać dla i 6= j

∂2f(x)∂xi∂xj

≈ f(x + εei + εej)− f(x + εei)− f(x + εej) + f(x)ε2

. (D.3)

oraz:∂2f(x)∂x2i

≈ f(x + 2εei)− 2f(x + εei) + f(x)ε2

. (D.4)

Poniżej zastosowałam algorytm Newtona do funkcji Rosenbrocka korzystając z gradientu ihesjanu obliczonego numerycznie.

1 e1 = c (1 , 0)2 e2 = c (0 , 1)3 eps = 10ˆ−74 g <− f unc t i on (x ) {5 re turn ( (1 − x [ 1 ] ) ˆ2 + 100 ∗ ( x [ 2 ] − x [ 1 ] ˆ 2 ) ˆ2)6 }7 Rosenbrock <− f unc t i on (x ) {8 g <− g (x )9 g1 <− ( g (x + eps ∗ e1 ) − g (x ) ) / eps10 g2 <− ( g (x + eps ∗ e2 ) − g (x ) ) / eps11 g11 <− ( g (x + 2 ∗ eps ∗ e1 ) − 2 ∗ g (x + eps ∗ e1 ) + g (x ) ) / eps ˆ212 g12 <−( g (x + eps ∗ e1 + eps ∗ e2 ) − g (x + eps ∗ e1 ) − g (x + eps ∗ e2 ) + g (x ) )

/ eps ˆ213 g22 <− ( g (x + 2 ∗ eps ∗ e2 ) − 2 ∗ g (x + eps ∗ e2 ) + g (x ) ) / eps ˆ214 re turn ( l i s t ( g , c ( g1 , g2 ) , matrix ( c ( g11 , g12 , g12 , g22 ) , 2 , 2) ) )15 }16 newton ( Rosenbrock , c (0 , 3) )17 [ 1 ] 0 .9999700 0.9999399

Algorytm Newtona wskazał punkt będący przybliżeniem minimum funkcji Rosenbrocka.

50

Page 53: Algorytmy optymalizacji, estymacji i redukcji wariancji · W pracy omówiono algorytmy optymalizacji, estymacji i redukcji wariancji. Praca została podzielona na trzy części. W

Bibliografia

[1] Przemysław Biecek, Przewodnik po pakiecie R, 2008.

[2] Owen Jones, Robert Maillardet, Andrew Robinson, Introduction to Scientific Program-ming and Simulation Using R, 2009.

[3] David Kincaid, Ward Cheney Analiza numeryczna, 2006.

[4] Wojciech Kordecki, Rachunek prawdopodobieństwa i statystyka matematyczna, 2010.

[5] Wojciech Niemiro, Statystyka, 2011.

[6] Wojciech Niemiro, Symulacje stochastyczne i metody Monte Carlo, 2011.

[7] Rafał Czyż, Leszek Gasiński, Marta Kosek, Jerzy Szczepański, Halszka Tutaj-Gasińska,Ekstremum funkcji jednej zmiennej,http://wazniak.mimuw.edu.pl/index.php?title=Analiza−matematyczna−1/Wykład−9:−Pochodna−funkcji−jednej−zmiennej

[8] Piotr Krzyżanowski, Leszek Plaskota, Nadokreślone układy równań liniowych,http://osilek.mimuw.edu.pl/index.php?title=MN12

[9] Przemysław Biecek, Pakiet danych PBImisc,http://cran.r-project.org/web/packages/PBImisc/

51