uporaba numeri cne integracije pri nalo zbeni strategiji · 2018. 8. 24. · kvadraturne formule....

75
Univerza v Mariboru Fakulteta za organizacijske vede Diplomsko delo univerzitetnega ˇ studija Smer organizacijska informatika Uporaba numeriˇ cne integracije pri naloˇ zbeni strategiji Mentor: dr. Mi´ co Mrkai´ c Kandidat: Emil Polajnar Kranj, september 2006

Upload: others

Post on 01-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • Univerza v Mariboru

    Fakulteta za organizacijske vede

    Diplomsko delo univerzitetnega študija

    Smer organizacijska informatika

    Uporaba numerične integracije prinaložbeni strategiji

    Mentor: dr. Mićo Mrkaić Kandidat: Emil Polajnar

    Kranj, september 2006

  • Be always displeased at what thou art, if thou desire to attain to what

    thou art not; for where thou hast pleased thyself, there thou abidest.

    Nikoli ne bodi zadovoljen s tistim, kar si, če želiš postati, kar nisi;

    kajti tam, kjer si postal zadovoljen, boš tudi ostal.

    FRANCIS QUARLES, 1592 - 1644

    Pisanje zahvale je zahtevno opravilo. Veliko je oseb, ki so s

    svojimi dejanji vplivale na moje življenje med pisanjem diplomske

    naloge. Poimensko naštevanje bi bilo krivično, saj bi se mi

    zagotovo pripetilo, da bi koga izpusti. Ker ta nekdo vsekakor

    ni nič manj pomemben od ostalih, bi bil upravičeno užaloščen.

    Zato bo tokratna zahvala nekoliko drugačna.

    Najprej bi se rad zahvalil mentorju za njegovo pomoč, usmer-

    janje in postavljanje ravno prav zapletenih vprašanj, na katera

    sprva nisem znal odgovoriti, vendar sem bil sposoben poiskati

    odgovore. Nadalje bi se zahvalil vsem, ki so ob napornem delu

    ali v prostem času skupaj z mano delili veselje in žalost, me spod-

    bujali, mi pomagali ali nagajali. Vsak je prispeval pomemben del.

    Nenazadnje bi se zahvalil tistim posebnim osebam, ki same dobro

    vedo, kako polepšati dan—naj bo to telefonski klic, povabilo na

    pijačo ali kakšna druga pozornost.

  • Povzetek

    Prvi del je namenjen pregledu metod za numerično integracijo v eni in več dimenzijah. Zafunkcijo ene spremenljivke so predstavljene Newton-Cotesove interpolacijske in Gaussovekvadraturne formule. Za več dimenzij uporabljamo tenzorski produkt enodimenzionalnihformul, kubaturne formule in Monte Carlo integracijo. Vsaka metoda je implementi-rana z računalnǐskim algoritmom v jeziku fortran ali C. Podana je analiza in primerjavauspešnosti (natančnost, časovna zahtevnost) metod med seboj na konkretnih funkcijah.

    V drugem delu je predstavljen statični naložbeni problem z dvema vrednostnima papir-jema, od katerih je eden brez tveganja. Agent maksimira svoje končno premoženje napodlagi pričakovane vrednosti potenčne funkcije koristnosti. Za njen izračun uporabimodiskretizacijo prostora stanj ali zvezno porazdelitev donosa vrednostnega papirja. Pred-stavljena in analizirana je naložbena strategija za vlagatelja, ki ima kot tvegan vrednostnipapir na voljo vzajemni sklad. Končamo s seznamom možnih izbolǰsav in nadaljnjih nalog.

    Ključne besede: numerična integracija, potenčna funkcija koristnosti, statični naložbeniproblem.

    Abstract

    We start with an overview of methods for one-dimensional and multi-dimensional nu-merical integration. One-dimensional methods include Newton-Cotes interpolation andGauss quadrature formulas. Multi-dimensional integrals methods include tensor products(of one-dimensional formulas), cubature formulas and Monte Carlo integration. Eachmethod is implemented as a computer code in fortran or C. Analysis and comparison(accuracy, time consumption) between methods is done with several functions.

    In the second part we present a static portfolio problem. The agent can allocate herwealth to a risk-free asset and a single risky asset. She maximizes her expected powerutility of terminal wealth. Expected utility is calculated in two ways, either with discrete(a finite number of possible states of the world) or continuous (log-normal) return distri-bution. We give the optimal portfolio choice for the agent investing in a Slovenian broadmarket index. We conclude with a list of proposed improvements.

    Key words: numerical integration, power utility function, static portfolio problem.

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    Kazalo

    1 Uvod 7

    2 Integracija funkcije ene spremenljivke 92.1 Newton-Cotesove formule . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2.1.1 Trapezno pravilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.1.2 Simpsonovo pravilo . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2 Gaussove kvadraturne formule . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.1 Gauss-Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.2 Gauss-Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2.3 Gauss-Laguerre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3 Integracija funkcije več spremenljivk 163.1 Tenzorski produkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Ali obstajajo bolǰse formule od tenzorskega produkta? . . . . . . . . . . . . 183.3 Kubatura tretjega reda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.4 Radon 7-point formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4 Monte Carlo 224.1 Naključna števila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.2 Osnovna metoda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.3 Izbolǰsave osnovne metode Monte Carlo . . . . . . . . . . . . . . . . . . . . 24

    4.3.1 Nivojsko vzorčenje (Stratified sampling) . . . . . . . . . . . . . . . 254.3.2 Pomembnostno vzorčenje (Importance sampling) . . . . . . . . . . . 254.3.3 Metoda Soboleva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    5 Analiza in rezultati 305.1 Primerjava metod numeričnega integriranja v 1D . . . . . . . . . . . . . . 30

    5.1.1 Polinomska funkcija f(x) . . . . . . . . . . . . . . . . . . . . . . . . 305.1.2 Racionalna funkcija f(x) = p(x)/q(x) . . . . . . . . . . . . . . . . . 315.1.3 Funkcija f(x) = 1/(1 + x2) . . . . . . . . . . . . . . . . . . . . . . . 325.1.4 Funkcija f(x) = 1/

    √x . . . . . . . . . . . . . . . . . . . . . . . . . 33

    5.1.5 Funkcija f(x) = ln x/(x − 1) . . . . . . . . . . . . . . . . . . . . . . 345.1.6 Funkcija f(x) = |x2 − 7x + 10| . . . . . . . . . . . . . . . . . . . . . 355.1.7 Primerjava relativnih napak . . . . . . . . . . . . . . . . . . . . . . 36

    5.2 Primerjava metod numeričnega integriranja v 2D . . . . . . . . . . . . . . 375.2.1 Funkcija f(x, y) = x sin y + y cos x . . . . . . . . . . . . . . . . . . . 375.2.2 Funkcija f(x, y) = (x + y) ln (x2 + y2) . . . . . . . . . . . . . . . . . 38

    5.2.3 Funkcija f(x, y) =√

    ln x/(x − 1) + ln y/(y − 1) . . . . . . . . . . . 38

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 5 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    5.2.4 Funkcija f(x, y) = sin xy . . . . . . . . . . . . . . . . . . . . . . . . 395.2.5 Primerjava relativnih napak . . . . . . . . . . . . . . . . . . . . . . 405.2.6 Naključna števila proti kvazi-naključnim številom . . . . . . . . . . 41

    5.3 Časovna zahtevnost algoritmov . . . . . . . . . . . . . . . . . . . . . . . . 425.3.1 Numerična integracija v 1D . . . . . . . . . . . . . . . . . . . . . . 425.3.2 Numerična integracija v 2D . . . . . . . . . . . . . . . . . . . . . . 43

    5.4 Programski paketi za numerično integriranje . . . . . . . . . . . . . . . . . 44

    6 Formulacija ekonomskega problema 466.1 Pojasnitev osnovnih pojmov . . . . . . . . . . . . . . . . . . . . . . . . . . 466.2 Matematični zapis naložbene strategije . . . . . . . . . . . . . . . . . . . . 486.3 Diskretizacija prostora stanj . . . . . . . . . . . . . . . . . . . . . . . . . . 496.4 Zvezno porazdeljen donos . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    7 Rezultati za naložbeno strategijo 527.1 Izmǐsljena primera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527.2 Podatki o donosu vzajemnih skladov . . . . . . . . . . . . . . . . . . . . . 547.3 Izračun naložbene strategije . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    8 Zaključek 598.1 Kaj smo spoznali? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598.2 Nadaljnje naloge in izbolǰsave . . . . . . . . . . . . . . . . . . . . . . . . . 60

    A Računalnǐski programi za 1D numerično integracijo 63A.1 Trapezno pravilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63A.2 Simpsonovo pravilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64A.3 Gauss-Legendre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64A.4 Gauss-Laguerre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65A.5 Gauss-Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66A.6 Monte Carlo 1D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    B Računalnǐski programi za 2D numerično integracijo 69B.1 Kubatura tretjega reda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69B.2 Radon 7-point formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70B.3 Monte Carlo 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

    C Generatorja naključnih števil 73C.1 Generator psevdo-naključnih števil . . . . . . . . . . . . . . . . . . . . . . 73C.2 Sobolev generator kvazi-naključnih števil . . . . . . . . . . . . . . . . . . . 74

    stran 6 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    Poglavje 1

    Uvod

    Ekonomski problemi so se dolgo časa reševali opisno, toda sodobna ekonomija se je sskokovitim razvojem računalnǐstva v zadnjem obdobju pomaknila bliže eksaktnim vedamin matematiki kot kdajkoli prej. Praktično vsi pomembni ekonomski problemi so zapisaniz enačbami. Velika večina med njimi ni analitično rešljivih, saj na končno vrednost re-zultata vpliva preveliko število znanih, neznanih in tudi nepredvidljivih vplivov. Zaraditega je razvoj numeričnih orodij neprecenljive vrednosti, saj bomo lahko le na ta načinzagotovili verodostojne napovedi v realnem času.

    Naložbena strategija igra v ekonomiji precej osrednjo vlogo. Za vse je pomembno, kakonajbolje naložiti sedanje premoženje, da bomo od tega v naslednjem koraku (jutri, čezeno leto, . . . ) imeli največ. Nepredvidljivost vplivov nam onemogoča natančne napovedi,a kljub temu lahko izračunamo najbolǰso strategijo. Ta je seveda dobra toliko, kot sozanesljivi naši pretekli podatki in ocena prihodnosti.

    V tej diplomski nalogi se bomo ukvarjali z izračunom najbolǰse naložbene strategije vnajbolj preprostem primeru. Agentu sta na voljo dve naložbi (dva vrednostna papirja),od tega je ena brez tveganja. Gre za statično naložbo, kar pomeni, da agent sedanjepremoženje razporedi med oba vrednostna papirja ter ju v naslednjem obdobju proda,s čimer pridobi končno premoženje. V agentovem interesu je, da maksimira dobiček vskladu z njegovo pripravljenostjo na tveganje. Zelo previden agent za povečanje svojegapremoženja ni pripravljen veliko tvegati in je zato zadovoljen tudi z nižjim donosom.

    Reševanje statične naložbene strategije zahteva resen numeričen pristop na vsaj treh ra-zličnih področjih. Poglejmo si jih na kratko.

    1. Statistična obdelava podatkov. Kar največ razpoložljivih podatkov o tveganemvrednostnem papirju je potrebno preoblikovati v obliko za nadaljnje delo.

    2. Numerična integracija. Bolǰse naložbe od slabših med seboj ločimo po vrednostifunkcije koristnosti. To izračunamo kot pričakovano vrednost razporeditve premo-ženja med vrednostnima papirjema, in sicer s pomočjo integralov, ki niso analitičnorešljivi.

    3. Optimizacija. Med vsemi možnimi strategijami se odločimo za tisto, ki agentuprinese največjo korist oziroma zadovoljstvo.

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 7 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    Noben od naštetih problemov ni enostaven. Poleg tega od numeričnega reševanja zahte-vamo skoraj nemogoče. Pričakujemo stabilen algoritem, ki pride do rešitve hitro in toza katerikoli problem. To žal največkrat ni dosegljivo. Sprijazniti se je treba z delnimi,včasih tudi nepopolnimi rešitvami. V tej diplomski nalogi se bomo podrobneje posvetilinumerični integraciji. Naš namen je predstaviti osnovne pristope pri numeričnem inte-griranju v eni in več dimenzijah. Podali bomo tako kratko teoretično ozadje kot tudipraktično preverili algoritme (kolikor bo to mogoče) na različnih funkcijah. Poskušalibomo omeniti prednosti in slabosti vsakega izmed njih. V statistično obdelavo podatkovin optimizacijo se ne bomo poglabljali, saj bi to zahtevalo preveč prostora. Oba problemasta dovolj obsežna za samostojno obravnavo.

    Vrnimo se k diplomski nalogi. V drugem poglavju bomo začeli z integracijo funkcije enespremenljivke. Najprej bomo spoznali Newton-Cotesove formule in nadaljevali z Gausso-vimi kvadraturnimi formulami. Oba algoritma uporabljata interpolacijske formule, kjerintegracijsko funkcijo f(x) aproksimiramo s polinomom določene stopnje. Tretje poglavjeje namenjeno večdimenzionalni integraciji. Znotraj tega so razložene tenzorske formule,ki jih dobimo enostavno z množenjem enodimenzionalnih formul. Sledijo jim namenskoizpeljane kubaturne formule. Algoritmi z njimi so hitreǰsi, a je do formul težje priti kotv primeru tenzorskih formul. Četrto poglavje je namenjeno integracijski metodi MonteCarlo. Od ostalih metod se razlikuje po dejstvu, da napake integracije ne moremo večnatančno oceniti, saj uporablja prijeme iz verjetnostnega računa. Izbolǰsave metodeMonte Carlo so predstavljene na koncu poglavja. Peto poglavje je posvečeno analizivečini predstavljenih metod na različnih primerih matematičnih funkcij ene oziroma dvehspremenljivk. Vsi algoritmi so implementirani v programskem jeziku fortran ali C terpriloženi v dodatkih.

    Sledi ekonomski del diplomske naloge. V šestem poglavju so najprej predstavljeni osnovniekonomski pojmi. Temu sledi natančna predstavitev ekonomskega problema, to je statičninaložbeni strategiji v dva vrednostna papirja. Kot rešitev lahko uporabimo diskretizacijoprostora stanj ali zvezno porazdelitev donosa tveganega vrednostnega papirja. Sedmopoglavje se začne z izmǐsljenima vrednostnima papirjema. Osnovni lekciji sledita izračunin analiza naložbene strategije v konkreten vrednostni papir na slovenskem trgu. Osmopoglavje je namenjeno hitremu pregledu in glavnim ugotovitvam.

    stran 8 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    Poglavje 2

    Integracija funkcije ene spremenljivke

    2.1 Newton-Cotesove formule

    Newton-Cotesove formule so znane že dolgo časa in zelo preproste. Še vedno so pogosto vuporabi. Najraje jih uporabljamo za hitro oceno vrednosti integrala. Spadajo med inter-polacijske formule. To pomeni, da integracijsko funkcijo f(x) nadomestimo s polinomomstopnje n. Od stopnje polinoma bo odvisna natančnost aproksimacije naše funkcije in stem je povezana natančnost končnega rezultata, to je vrednost integrala.

    Poglejmo si to podrobneje. Izračunati moramo integral funkcije f(x) na intervalu [a, b],kar ponazorimo z zapisom

    I =∫ b

    af(x) dx.

    Razdelimo sedaj interval [a, b] na n ekvidistančnih delov, tako da dobimo n + 1 vozelnihtočk, ki jih označimo z xi.

    x0 = a xn = b h =b − a

    2xi = x0 + i h i = 0, 1, 2, . . . , n

    Zapǐsimo splošno Newton-Cotesovo formulo kot

    ∫ b

    af(x) dx =

    n∑

    i=0

    Aif(xi) + Rn, (2.1)

    kjer je Rn ostanek (napaka) integracije in so xi ekvidistančne točke. Za to formulo lahkozahtevamo točnost za vse polinome stopnje manǰse ali enake n. Obstaja elegantna rešitevv obliki Lagranževih polinomov [9], vendar je računanje koeficientov Ai na ta način nu-merično nestabilno. Zato za nizke stopnje polinomov uporabljamo metodo nedoločenihkoeficientov. V (2.1) namesto f(x) zapovrstjo vstavljamo polinome 1, x, x2, . . . in xn,katerih integrale znamo izračunati analitično. Na ta način pridemo do n + 1 enačb zan + 1 neznanih koeficientov Ai.

    Omeniti je potrebno, da za velike n koeficienti Ai začnejo alternirati v predznaku. Podrob-neje se v to ne bomo spuščali. Povejmo le toliko, da je to s stalǐsča numeričnega izračunanezaželeno, saj odštevanje dveh približno enakih števil vodi do velike zaokrožitvene na-pake. V praksi se zato uporabljajo formule nizkih stopenj. Dve izmed njih si bomopodrobneje pogledali v nadaljevanju.

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 9 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    2.1.1 Trapezno pravilo

    a bx

    0.5

    1

    1.5

    2

    2.5f HxL

    Slika 2.1: Interpolacija funkcije f(x) naintervalu [a, b] z linearno funkcijo.

    a a+h a+2h bx

    0.5

    1

    1.5

    2

    2.5f HxL

    Slika 2.2: K izpeljavi trapeznega pravilaz razdelitvijo na več podintervalov.

    Trapezna formula je najbolj preprosta izmed interpolacijskih formul. Izpeljemo jo lahkoanalitično ali grafično, od koder izhaja tudi njeno ime (slika 2.1). Zahtevajmo, da jeNewton-Cotesova formula v splošni obliki (2.1) točna za vse polinome stopnje 1 ali manj.Torej imamo n = 1 in

    ∫ b

    af(x) dx = A0f(a) + A1f(b) + R1.

    Da bi dobili koeficienta A0 in A1, moramo vanjo vstaviti polinoma 1 in x. Dobimo dveenačbi, in sicer

    f(x) = 1 −→∫ b

    a1 dx = A0 + A1 = b − a,

    f(x) = x −→∫ b

    ax dx = A0 a + A1 b =

    b2 − a22

    .

    Sistem enačb preprosto rešimo in dobimo

    A0 =b − a

    2in A1 =

    b − a2

    .

    Končno obliko trapezne formule sedaj zapǐsemo

    ∫ b

    af(x) dx =

    b − a2

    (

    f(a) + f(b))

    + R1, (2.2)

    kjer napako trapezne formule R1 dobimo s pomočjo teorije polinomske aproksimacije inLagranževih polinomov. Na tem mestu bomo izpustili izračun in navedimo samo rezultat

    R1 = −(b − a)3

    12f ′′(ξ), ξ ∈ [a, b].

    Opazimo lahko, da je napaka povezana z velikostjo drugega odvoda. Ponavadi je težkodoločiti pravo vrednost napake R1, zato se največkrat zadovoljimo z njeno oceno, saj velja

    |R1| ≤(b − a)3

    12M2, kjer je M2 = max

    ξ∈[a,b]f ′′(ξ).

    stran 10 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    Pri izpeljavi napake privzamemo, da je funkcija f(x) vsaj dvakrat zvezno odvedljiva. Vveliki večini primerov to ni ovira. Če drugega odvoda slučajno ne moremo izračunati,potem ne moremo oceniti napake, čeprav je numerična vrednost ocene vrednosti integralaobičajno še vedno pravilna.

    Od trapezne formule (2.2) ne moremo pričakovati natančnih rezultatov, če je intervalvelik. Tedaj interval [a, b] razdelimo na manǰse intervale, najraje kar ekvidistančne, in navsakem izmed njih uporabimo trapezno formulo ter vse prispevke seštejemo. Imejmo nekvidistančnih intervalov ter označimo s h širino posameznega intervala in z xi vozelnetočke, tako da imamo

    h =b − a

    nin xi = a + i h.

    S tem pridemo do sestavljene formule ali trapeznega pravila.

    ∫ b

    af(x) dx =

    h

    2

    (

    f(x0) + 2f(x1) + 2f(x2) + · · · + 2f(xn−1) + f(xn))

    + R (2.3)

    Napako trapeznega pravila ocenimo z izrazom

    |R| = h2 (b − a)

    12M2, kjer je M2 = max

    ξ∈[a,b]f ′′(ξ).

    Napako imenujemo tudi ostanek integracije in je pri trapeznem pravilu sorazmerna s h2. Zmanǰsanjem širine intervala h, se manǰsa tudi napaka, in sicer se pri zmanǰsanju intervalana polovico napaka zmanǰsa na četrtino. Hitrost manǰsanja napake je ključnega pomena inz njeno pomočjo ugotavljamo kakovost algoritma ali potrebno število funkcijskih izračunov(vozelnih točk) za dosego želenega rezultata.

    2.1.2 Simpsonovo pravilo

    a a + b2

    bx

    1

    2

    3

    4

    5

    6

    7f HxL

    Slika 2.3: Interpolacija funkcije f(x) na intervalu [a, b] s pomočjo parabole.

    Naslednja po vrsti med interpolacijskimi formulami je izredno priljubljena in skriva manǰsepresenečenje. Od Newton-Cotesovih formul (2.1) zahtevamo točnost za vse polinome dovključno druge stopnje, kar je ekvivalentno uporabi kvadratnega interpolacijskega poli-noma (slika 2.3) za integracijsko funkcijo f(x). Do koeficientov Ai pridemo z metodo

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 11 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    nedoločenih koeficientov, ki smo jo pokazali pri trapezni formuli, zato postopka tu nebomo ponavljali. Končni rezultat je Simpsonova formula

    ∫ b

    af(x) dx =

    b − a3

    (

    f(a) + 4f

    (

    a + b

    2

    )

    + f(b)

    )

    + R2, (2.4)

    kjer je R2 napaka integracije, do katere pridemo s pomočjo teorije polinomske interpolacije.Tu bomo navedli le rezultat

    R2 = −(b − a)5

    90f (4)(ξ), ξ ∈ [a, b].

    Raje od tega uporabimo oceno za največjo možno napako, ki se izraža kot

    |R2| ≤(b − a)5

    90M4, kjer je M4 = max

    ξ∈[a,b]f (4)(ξ).

    Pozornost nam vzbudi napaka, ki je odvisna od četrtega odvoda, torej je Simpsonovaformula točna za vse polinome do vključno tretjega reda, čeprav smo pri izpeljavi zahte-vali natančnost za polinome druge stopnje. Prav zaradi tega dejstva je formula izrednopriljubljena, kajti naslednja po vrsti izmed interpolacijskih formul (ko bi od Newton-Cotesove formule zahtevali natančnost do tretjega reda) nam glede napake ne prinesenobene izbolǰsave.

    Naslednje opozorilo dostikrat ostane spregledano, zato ga na tem mestu še enkrat pona-vljamo. Pri izračunu napake (posledično je to povezano z interpolacijo samo) se opiramona zveznost četrtega odvoda. Tudi zato neradi uporabljamo integracijske formule vǐsjegareda, saj neredko naletimo na probleme, kjer funkcija ni dovoljkrat zvezno odvedljiva.Kar še posebej velja, če podatke za funkcijo f(x) dobimo z eksperimentom.

    Tudi od Simpsonove formule ne moremo pričakovati natančnih rezultatov za velike inter-vale [a, b], zato postopamo podobno kot pri trapeznem pravilu. Interval razdelimo na nekvidistančnih podintervalov, pri čemer mora biti n sodo število. To nam zagotovi lihoštevilo vozelnih točk xi, ki jih potrebujemo, saj moramo za interpolacijski polinom drugestopnje (parabola) med seboj povezati tri zaporedna vozlǐsča.

    h =b − a

    nin n sodo in xi = a + i h

    Na vsakem izmed podintervalov uporabimo Simpsonovo formulo ter vse prispevke sešte-jemo. Tako dobimo sestavljeno formulo, ki jo imenujemo Simpsonovo pravilo.∫ b

    af(x) dx =

    h

    3

    (

    f(x0)+4f(x1)+2f(x2)+4f(x3)+ · · ·+2f(xn−2)+4f(xn−1)+f(xn))

    +R

    (2.5)Napako Simpsonovega pravila R ocenimo s pomočjo

    |R| ≤ h4 (b − a)

    180M4, kjer je M4 = max

    ξ∈[a,b]f (4)(ξ).

    Še enkrat opozorimo na ostanek integracije, ki je odvisen od h4. Če zmanǰsamo širinointervala na polovico, se napaka integracije zmanǰsa na eno šestnajstino. V veliki večiniprimerov pohlevnih integracijskih funkcij f(x) je potrebnih le malo ponovitev z zmanj-šanjem intervalov, da dosežemo želeno natančnost. Skupaj s preprostostjo pravila inposledično enostavne implementacije v računalnǐskih algoritmih to Simpsonovemu praviluzagotavlja široko uporabnost.

    stran 12 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    2.2 Gaussove kvadraturne formule

    Gauss, eden izmed največjih matematikov (če ne celo največji), je prǐsel na genialnozamisel. Za Newton-Cotesove formule (2.1) velja, da koeficiente Ai izberemo z zahtevo, daso formule točne za polinome čim vǐsje stopnje, medtem ko so vozlǐsča xi vnaprej izbrana—ponavadi ekvidistančno. Gauss je predlagal, da bi tudi vozlǐsča postala parametri izbire.Na voljo imamo torej 2n parametrov, to je vozlǐsča x1, x2, . . . , xn in koeficiente A1,A2, . . . , An. Newton-Cotesova formula zato lahko postane točna za polinome do vključnostopnje 2n−1. Imenujemo jo Gaussova kvadraturna formula in jo v splošni obliki zapǐsemokot

    ∫ b

    aw(x)f(x) dx =

    n∑

    i=1

    Ai(xi)f(xi) + R. (2.6)

    Medtem ko je bila utež za Newton-Cotesove formule praviloma enaka w(x) = 1 (če-prav Newton-Cotesove formule lahko izpeljemo tudi za druge uteži), igra izbira uteži priGaussovih kvadraturnih formulah pomembno vlogo. Z njeno pomočjo lahko zakrijemosingularnost ali omogočimo integriranje na neskončnem intervalu.

    Napako R Gaussovih kvadraturnih formul izračunamo podobno kot pri Newton-Cotesovihformulah. Podrobneje se s tem ne bomo ukvarjali in ocena napake bo pri vseh izpeljanihformulah izpuščena. Povejmo le toliko, da je napaka sorazmerna z f (2n)(ξ) in ξ ∈ [a, b].Če hočemo izkoristiti vse prednosti Gaussovih kvadraturnih formul, potem od integra-cijske funkcije f(x) spet zahtevamo zvezno odvedljivost tega odvoda. Na srečo je zaradiposebnih lastnosti ortogonalnih polinomov (ti so omenjeni v nadaljevanju) za konvergencok vrednosti integrala pri n → ∞ dovolj, da je f(x) zvezna funkcija, a na račun tega sedrastično zmanǰsa natančnost izračuna.

    S pomočjo uteži definiramo skalarni produkt dveh funkcij na intervalu [a, b] kot

    〈f |g〉 =∫ b

    aw(x)f(x)g(x) dx. (2.7)

    Hkrati z utežjo določimo poseben razred funkcij. Zanimajo nas tiste, za katere velja〈pi|pj〉 = δij. Imenujemo jih ortogonalni polinomi. Za pomembne uteži w(x) so polinomiin njihove lastnosti dobro znane. Pomembno je dejstvo, da so pri Gaussovi integracijiz n vozlǐsči xi ta hkrati tudi ničle ortogonalnega polinoma pn stopnje n. Vse ničle soenostavne (nimamo večkratnih ničel) in ležijo na intervalu [a, b]. Pripadajoči koeficientiAi so pozitivni, kar zagotavlja numerično stabilnost (pri Newton-Cotesovih formulah smoopozorili, da za velike n koeficienti Ai postanejo alternirajoči v predznaku). Računanjeničel in koeficientov je zahteven nelinearen numeričen problem, zato tega ne delamo vsakičsproti, ampak si potrebne podatke pripravimo vnaprej.

    V nadaljevanju si oglejmo kvadraturne formule za najpomembneǰse uteži. Pri tem je trebaopozoriti, da smo z izbiro uteži zaradi ortogonalnih polinomov vezani na določen interval[a, b]. Da so zgledi konkretneǰsi in da smo izpeljane formule lahko uporabili pri pisanjuračunalnǐskih algoritmov, so uporabljene kvadraturne formule, ki za izračun potrebujejodeset funkcijskih vrednosti. Delamo torej z ortogonalnimi polinomi desete stopnje, kiimajo deset ničel. Formule so zaradi tega točne za vse polinome do vključno devetnajstestopnje.

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 13 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    2.2.1 Gauss-Legendre

    Je najbolj pogosto uporabljena izmed kvadraturnih formul. Ima utež w(x) = 1, definiranaje na intervalu [−1, 1] in vozlǐsča so ničle n-tega Legendrovega polinoma Pn(x). Da bidobili splošno uporabno formulo, uporabimo transformacijo

    t =b − a

    2x +

    a + b

    2,

    ki preslika interval [−1, 1] na splošni interval [a, b]. Gauss-Legendrovo kvadraturno formulotako lahko zapǐsemo kot

    ∫ b

    af(x) dx ≈ b − a

    2

    n∑

    i=1

    Ai f

    (

    b − a2

    xi +a + b

    2

    )

    . (2.8)

    Podatki o vozlǐsčih in vrednostih uteži so zbrane v spodnji tabeli.

    i xi Ai

    1 -0.973906528517 0.06667134430872 -0.865063366689 0.1494513491513 -0.679409568299 0.2190863625164 -0.433395394129 0.269266719315 -0.148874338982 0.2955242247156 0.148874338982 0.2955242247157 0.433395394129 0.269266719318 0.679409568299 0.2190863625169 0.865063366689 0.14945134915110 0.973906528517 0.0666713443087

    Tabela 2.1: Vozlǐsča in uteži za Gauss-Legendrovo kvadraturno formulo z desetimi vozlǐsči.

    2.2.2 Gauss-Hermite

    Ta formula omogoča integracijo na intervalu [−∞,∞]. Za utež imamo w(x) = e−x2 , pričemer uporabimo Hermitove ortogonalne polinome Hn(x). Če utež ni del integracijskefunkcije f(x), moramo to ustrezno popraviti, tako da dobimo integral naslednje oblike

    −∞

    f(x) dx =∫

    −∞

    e−x2

    g(x) dx =∫

    −∞

    e−x2[

    ex2

    f(x)]

    dx.

    Gauss-Hermitovo kvadraturno formulo tako lahko zapǐsemo na naslednji način, pri čemermoramo biti vedno pozorni, ali je utež del naše integracijske funkcije ali ne, saj to vplivana vrednost koeficienta Ai.

    −∞

    f(x) dx =∫

    −∞

    e−x2

    g(x) dx ≈n∑

    i=1

    Aig(xi) (2.9)

    −∞

    f(x) dx =∫

    −∞

    e−x2[

    ex2

    f(x)]

    dx ≈n∑

    i=1

    (

    Ai ex2

    i

    )

    f(xi) (2.10)

    stran 14 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    i xi Ai Ai ex2

    i

    1 -3.43615911884 0.00000764043285523 1.025451691372 -2.53273167423 0.00134364574678 0.8206661264053 -1.7566836493 0.0338743944555 0.7414419319444 -1.03661082979 0.240138611082 0.7032963231055 -0.342901327224 0.610862633735 0.6870818539516 0.342901327224 0.610862633735 0.6870818539517 1.03661082979 0.240138611082 0.7032963231058 1.7566836493 0.0338743944555 0.7414419319449 2.53273167423 0.00134364574678 0.82066612640510 3.43615911884 0.00000764043285523 1.02545169137

    Tabela 2.2: Vozlǐsča in uteži za Gauss-Hermitovo kvadraturno formulo z desetimi vozlǐsči.

    2.2.3 Gauss-Laguerre

    S pomočjo te formule lahko izvedemo integracijo na intervalu [0,∞]. Imamo utež w(x) =e−x in z njo povezane Laguerrove ortogonalne polinome Ln(x). Če utež ni del integracijskefunkcije f(x), moramo to ustrezno popraviti, tako da dobimo integral naslednje oblike

    0f(x) dx =

    0e−xg(x) dx =

    0e−x [ex f(x)] dx.

    Gauss-Laguerrovo kvadraturno formulo tako lahko zapǐsemo na naslednji način, pri čemermoramo biti vedno pozorni, ali je utež del naše integracijske funkcije ali ne, saj to vplivana vrednost koeficienta Ai.

    0f(x) dx =

    0e−xg(x) dx ≈

    n∑

    i=1

    Aig(xi) (2.11)

    0f(x) dx =

    0e−x [ex f(x)] dx ≈

    n∑

    i=1

    (Ai exi) f(xi) (2.12)

    i xi Ai Ai exi

    1 0.13779347054 0.308441115765 0.3540097386072 0.729454549503 0.401119929155 0.8319023010443 1.80834290174 0.218068287612 1.330288561754 3.40143369785 0.0620874560987 1.863063903115 5.55249614006 0.00950151697517 2.450255558086 8.33015274676 0.000753008388588 3.122764155147 11.8437858379 0.0000282592334963 3.93415269568 16.2792578314 0.000000424931398502 4.992414872269 21.996585812 0.00000000183956482398 6.5722024851310 29.9206970123 0.000000000000991182721958 9.78469584034

    Tabela 2.3: Vozlǐsča in uteži za Gauss-Laguerrovo kvadraturno formulo z desetimi vozlǐsči.

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 15 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    Poglavje 3

    Integracija funkcije več spremenljivk

    Integrale funkcije dveh ali več spremenljivk imenujemo večdimenzionalni integrali. Nji-hovo reševanje ni samo preprosta razširitev enodimenzionalnih integracijskih formul, tem-več zahteva poseben in pazljiv pristop. Množica različnih funkcij in integracijskih območijje osupljiva. Zaradi tega načeloma od večdimenzionalnih numeričnih algoritmov ne mo-remo pričakovati natančnosti enodimenzionalnih pri enaki časovni zahtevnosti. Večkrat semoramo zadovoljiti s slabšo oceno. To še posebej velja v primerih, ko dimenzija prostora(število spremenljivk) preseže deset.

    V nadaljevanju si bomo ogledali dva klasična pristopa, ki sta razširitev kvadraturnih for-mul v eni dimenziji. V več dimenzijah pravila imenujemo kubaturne formule. Tenzorskeformule dobimo tako, da za vsako dimenzijo (spremenljivko) uporabimo kvadraturno for-mulo za eno dimenzijo. Poleg tega obstajajo tudi posebej izpeljane kubaturne formule, kizagotavljajo največjo možno natančnost s kar najmanj funkcijskimi izračuni. Postopek jeidentičen izpeljavi Gaussovih kvadraturnih formul (2.6) v eni dimenziji. Posebno poglavjeje namenjeno integraciji Monte Carlo. Pri vseh metodah in postopkih se bomo konkretnoposvetili izpeljavi formul za integracijo funkcije dveh spremenljivk f(x, y).

    Še preden nadaljujemo, si poglejmo največja problema, ki ločita enodimenzionalno inte-gracijo od večdimenzionalne.

    1. Število matematičnih operacij. Enostavne metode v eni dimenziji uporabljajo dolo-čeno število funkcijskih vrednosti (N) za dosego želene natančnosti. Če to prenesemov več dimenzij (d), potem potrebujemo za vsako dimenzijo enako število funkcij-skih vrednosti. Število uporabljenih funkcijskih vrednosti za izračun integrala torejnarašča kot N d. Število funkcijskih vrednosti je povezano s številom matematičnihoperacij, to pa neposredno s časom računanja. Ker nimamo na voljo ne časa nedovolj hitrih računalnikov, metoda postane z večanjem dimenzij neuporabna.

    2. Integracijsko območje. V eni dimenziji se nikoli zares nismo spraševali, po kakšnemobmočju bomo integrirali. Najslabša možnost je integracija po več intervalih, apravzaprav smo že sami namerno delili intervale na podintervale za doseganje večjenatančnosti, tako da s tem nikoli nismo imeli težav. Že v dveh dimenzijah niso vsaobmočja pravokotna. Prav lahko se znajdemo pred območjem, ki ga ne moremoenostavno zapisati. Pomislimo samo na krožni kolobar. A to lahko rešimo s preho-dom na cilindrične koordinate. Kaj pa torus v treh dimenzijah ali druga območja,ki so definirana z neenakostmi?

    stran 16 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    3.1 Tenzorski produkt

    Tenzorski produkt lahko izpeljemo za enostavna območja, tako da za vsako spremenljivkoposebej uporabimo eno od že znanih pravil za integracijo v eni dimenziji. Kot je bilo žeomenjeno, se bomo omejili le na funkcije dveh spremenljivk f(x, y). Enostavno območjev koordinatni ravnini xy predstavlja pravokotnik, ki ga predstavimo kot [a1, a2]× [b1, b2].Dlje časa se bomo pomudili pri izpeljavi s trapezno formulo (2.2), se sprehodili do končnegarezultata s pomočjo Simpsonove formule (2.4) in le navedli splošno obliko pri uporabiGauss-Legendrove formule (2.8), saj bi bilo pisanje stotih koeficientov in vozelnih točknesmiselno.

    Izračunati moramo določeni integral funkcije dveh spremenljivk na pravokotnem območju,to je

    I =∫ a2

    a1

    ∫ b2

    b1f(x, y) dx dy.

    Opǐsimo vse korake najprej z besedami, čemur bodo sledile še formule. Za vsako spre-menljivko posebej bomo uporabili trapezno formulo. Najprej to naredimo v y. Napakointegracije R bomo tu izpustili. Po izvedbi integracije po y, še enkrat uporabimo trapeznoformulo za integracijo po x. Pri tem upoštevamo, da je integral vsote dveh funkcij enakvsoti integralov. V zadnji vrstici preuredimo vrstni red členov in zamenjamo koeficienteA0, A1, B0 in B1 s konkretnimi vrednostmi. Dobili smo tenzorski produkt trapeznegapravila.∫ a2

    a1

    ∫ b2

    b1f(x, y) dx dy ≈

    ∫ a2

    a1

    (

    B0f(x, b1) + B1f(x, b2))

    dx (3.1)

    ≈ B0A0(

    f(a1, b1) + f(a2, b1))

    + B1A1

    (

    f(a1, b2) + f(a2, b2))

    ≈ a2 − a12

    · b2 − b12

    (

    f(a1, b1) + f(a1, b2) + f(a2, b1) + f(a2, b2))

    Pričakovati smemo, da formula ni zelo natančna za velika območja. Takrat območjerazdelimo na manǰse pravokotnike in na vsakem posebej uporabimo tenzorski produkttrapeznega pravila ter vrednosti seštejemo. Na tem mestu tega ne bomo podrobnejeobravnavali, saj implementacija za namen računalnǐskega algoritma ni težavna.

    Podobno izpeljemo tenzorski produkta Simpsonovega pravila. Uporabimo enodimenzio-nalno Simpsonovo formulo (2.4), najprej na integracijski spremenljivki y in nato na x.Ker se postopek ne razlikuje od preǰsnjega, ga ne bomo ponavljali. Območje integracijenaj bo [a1, a2]× [b1, b2] in zanj velja naslednja oblika tenzorskega produkta Simpsonovegapravila.

    ∫ a2

    a1

    ∫ b2

    b1f(x, y) dx dy ≈ a2 − a1

    2· b2 − b1

    2

    [

    f(a1, b1) + 4f

    (

    a1,b1 + b2

    2

    )

    + f(a1, b2)

    + 4f(

    a1 + a22

    , b1

    )

    + 16f

    (

    a1 + a22

    ,b1 + b2

    2

    )

    + 4f(

    a1 + a22

    , b2

    )

    + f(a2, b1) + 4f

    (

    a2,b1 + b2

    2

    )

    + f(a2, b2)

    ]

    (3.2)

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 17 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    Za velika območja integracije to seveda ne zadostuje, zato območje razdelimo na večmanǰsih pravokotnikov in opravimo integracijo na vsakem izmed njih z zgornjo formuloter prispevke seštejemo. Implementacija z računalnǐskim algoritmom je enostavna.

    Postopno drobljenje območja na več manǰsih območij imenujemo adaptivno integriranje.Pri tem z manǰsanjem območij nadaljujemo toliko časa, da dosežemo želeno natančnost.Tudi če bi imeli oceno za napako tenzorskega produkta R, si s tem v praksi ne po-magamo. Uporabljamo namreč primerjavo vrednosti integrala med dvema zaporednimaizračunoma, pri čemer v drugi ponovitvi velikost območja razpolovimo (v vsaki smeriintegracije). Za dve spremenljivki to pomeni, da v prvem koraku izračunamo integral zacelotno območje I(1), v drugem koraku pa v obeh smereh interval razpolovimo, tako dadobimo štiri območja in vrednost integrala I(4). Če je razlika med obema vrednostma|I(1)−I(4)| večja od naše tolerance ε, z drobljenjem nadaljujemo in v naslednji ponovitvidobimo šestnajst območij ter vrednost integrala I(16).

    Podobno kot za zgornja dva primera izpeljemo še tenzorski produkt, ki uporablja enoizmed Gaussovih kvadraturnih formul (2.6), najpogosteje Gauss-Legendrovo. Predenzapǐsemo splošno obliko formule povejmo le toliko, da formule za visoke stopnje n nisopreveč zaželene, saj s tem zahtevamo 2n-kratno zvezno odvedljivost funkcije po vsakiizmed spremenljivk. Ai in Aj so ustrezni koeficienti, xi in yi pa ustrezna vozlǐsča, kipripadajo Gaussovim kvadraturnim formulam v eni dimenziji (v pripadajočem poglavjuso za n = 10 zbrani v tabelah).

    ∫∫

    f(x, y) dx dy ≈n∑

    i=1

    n∑

    j=1

    AiAjf(xi, yj) (3.3)

    3.2 Ali obstajajo bolǰse formule od tenzorskega pro-

    dukta?

    Zaradi nazornosti primerjave še vedno vztrajamo v prostoru dveh spremenljivk x in y.Tenzorski produkt Gaussove kvadraturne formule stopnje n nam zagotavlja natančnostza vse funkcije, ki so sestavljene iz polinomskih členov tipa

    xαyβ in α, β ≤ 2n − 1.

    Pri tem potrebujemo za izračun integrala n2 funkcijskih vrednosti, izhajajoč iz formule(3.3). Omenjena formula pa ni več točna za vse vrste enostavnih polinomskih členov

    xα in α > 2n − 1,

    čeprav je α ≤ 2(2n − 1), kolikor največ lahko znaša vsota potenc v mešanih polinomskihčlenih xy. V tem smislu tenzorski produkt ni optimalen, saj lahko s kubaturno formulo(3.5) dosežemo polinomsko natančnost večjo od stopnje 2n−1 pri potrebnem številu funk-cijskih vrednosti manǰsem od n2. To bomo v tem podpoglavju še podrobneje pojasnili.

    Poglejmo si, kaj lahko dosežemo z namensko kubaturno formulo v primerjavi s tenzorskimproduktom. Ostajamo v dveh dimenzijah. Zanima nas število baznih polinomov oziromaštevilo funkcijskih vrednosti (morda se to dvoje vedno ne ujema), ki jih potrebujemo za

    stran 18 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    točen izračun integrala funkcije v obliki polinomov do vključno stopnje 2n− 1, kar bomooznačili z m. Vsak bazni polinom lahko zapǐsemo kot

    xαyβ, kjer velja α + β = 0, 1, 2, . . . ,m in α, β ≥ 0.

    Naj v pojasnilo navedemo konkreten zgled. Bazni polinomi za polinomske funkcije dostopnje m = 2 so: 1, x, y, x2, xy in y2. Število baznih polinomov stopnje M dobimo zizračunom števila možnih rešitev enačbe

    α + β = M pri pogoju α, β ≥ 0.

    S pomočjo kombinatorike lahko pokažemo, da je takih parov (α, β)

    (

    M + 2 − 12 − 1

    )

    =(M + 1)!

    M ! 1!= M + 1.

    Število vseh baznih polinomov do stopnje m je torej enako

    m∑

    M=0

    (

    M + 1

    1

    )

    = 1 + 2 + 3 + · · · + (m + 1) = (m + 1)(m + 2)2

    . (3.4)

    Splošna kubaturna formula za integral funkcije dveh spremenljivk je

    ∫∫

    f(x, y) dx dy ≈N∑

    i=1

    Aif(xi, yi). (3.5)

    Da bomo določili koeficiente Ai, xi in yi, v enačbo zapovrstjo vstavimo vse bazne polinomenamesto funkcije f(x, y) in zahtevamo enakost izrazov na obeh straneh enačaja. Na tanačin pridemo do nelinearnega sistema enačb. Kako določimo pravo vrednost N? Vidimo,da imamo za vsako funkcijsko vrednost na voljo 3 parametre (skupaj torej 3N), medtemko bi za splošno dimenzijo d dobili N(d + 1) parametrov. Po enačbi (3.4) imamo na voljo(m+1)(m+2)/2 baznih polinomov. Da bo kvadraturna formula točna za vse izmed njih,mora biti izpolnjena neenakost

    3N ≥ (m + 1)(m + 2)2

    .

    Še enkrat opozarjamo, da smo dobili sistem nelinearnih enačb, ki nima nujno rešitve. V večdimenzijah tudi ne obstajajo ortogonalni polinomi, ki so nam bili v pomoč pri reševanju veni dimenziji. Rešitve v obliki kubaturne formule obstajajo samo za določene vrednosti N .

    Kolikšen napredek smo dosegli v primerjavi s tenzorskim produktom in koliko se splačavložiti v napor za reševanje nelinearnega sistema enačb? V literaturi obstaja mnogorešitev za posebne namene, vendar nobena od teh metod ne ponuja take univerzalneuporabnosti, kot smo jo navajeni pri enodimenzionalnih integralih. Zato če se le da,poskušamo večdimenzionalni integral s spremembo koordinatnega sistema pretvoriti venodimenzionalnega. Na primer iz kartezičnega (x, y) v cilindrični (r, ϕ) koordinatni si-stem, ko ni kotne odvisnosti. Preden predstavimo dve posebni kubaturni formuli, si vtabeli poglejmo primerjavo o uporabljenem številu funkcijskih vrednosti za izračun inte-grala med tenzorskim produktom in namensko izpeljanimi kubaturnimi formulami.

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 19 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    tenzorski produktstopnja polinoma n 2 3 4 5število funkcijskih vrednosti n2 4 9 16 25točnost do vključno stopnje 2n − 1 3 5 7 9namenska kubaturna formulatočnost do vključno stopnje m 3 5 7 9število baznih polinomov 10 21 36 55število funkcijskih vrednosti 4 7 12 19razlika glede na tenzorski produkt 0 -2 -4 -6

    Tabela 3.1: Primerjava števila potrebnih funkcijskih vrednosti za dosego enake natan-čnosti med tenzorskim produktom in namensko izpeljano kubaturno formulo.

    3.3 Kubatura tretjega reda

    Najbolj preprosta izmed vseh kubaturnih formul v dveh dimenzijah je formula, ki namzagotavlja točen izračun vseh polinomov do vključno tretjega reda (m = 3). Za to uporabištiri funkcijske vrednosti v (3.5) in je s tem enakovredna produktnemu pravilu dveh eno-dimenzionalnih Gaussovih kvadraturnih formul.

    ∫∫

    f(x, y) dx dy ≈ A1f(x1, y1) + A2f(x2, y2) + A3f(x3, y3) + A4f(x4, y4)

    Za izpeljavo pravila za integriranje funkcije f(x, y) na intervalu [−1, 1] × [−1, 1] upora-bimo metodo nedoločenih koeficientov. Zapǐsimo sistem nelinearnih enačb, ki ga pri temdobimo, da bo bralec dobil občutek težavnosti reševanja za vǐsje stopnje.

    f(x, y) = 1 −→∫ 1

    −1

    ∫ 1

    −11 dx dy = A1 + A2 + A3 + A4 = 4

    f(x, y) = x −→∫ 1

    −1

    ∫ 1

    −1x dx dy = A1x1 + A2x2 + A3x3 + A4x4 = 0

    f(x, y) = y −→∫ 1

    −1

    ∫ 1

    −1y dx dy = A1y1 + A2y2 + A3y3 + A4y4 = 0

    f(x, y) = x2 −→∫ 1

    −1

    ∫ 1

    −1x2 dx dy = A1x

    21 + A2x

    22 + A3x

    23 + A4x

    24 =

    4

    3

    f(x, y) = xy −→∫ 1

    −1

    ∫ 1

    −1xy dx dy = A1x1y1 + A2x2y2 + A3x3y3 + A4x4y4 = 0

    f(x, y) = y2 −→∫ 1

    −1

    ∫ 1

    −1y2 dx dy = A1y

    21 + A2y

    22 + A3y

    23 + A4y

    24 =

    4

    3

    f(x, y) = x3 −→∫ 1

    −1

    ∫ 1

    −1x3 dx dy = A1x

    31 + A2x

    32 + A3x

    33 + A4x

    34 = 0

    f(x, y) = x2y −→∫ 1

    −1

    ∫ 1

    −1x2y dx dy = A1x

    21y1 + A2x

    22y2 + A3x

    23y3 + A4x

    24y4 = 0

    f(x, y) = xy2 −→∫ 1

    −1

    ∫ 1

    −1xy2 dx dy = A1x1y

    21 + A2x2y

    22 + A3x3y

    23 + A4x4y

    24 = 0

    f(x, y) = y3 −→∫ 1

    −1

    ∫ 1

    −1y3 dx dy = A1y

    31 + A2y

    32 + A3y

    33 + A4y

    34 = 0

    stran 20 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    Od tod izračunamo neznane koeficiente Ai in vozelne točke xi in yi ter tako dobimo končnoobliko kubaturnega pravila tretjega reda.

    ∫ 1

    −1

    ∫ 1

    −1f(x, y) dx dy ≈ f

    2

    3, 0

    + f

    −√

    2

    3, 0

    + f

    0,

    2

    3

    + f

    0,−√

    2

    3

    (3.6)

    Če hočemo pravilo uporabiti na intervalu [a, b]× [c, d], moramo uporabiti naslednji trans-formaciji spremenljivk

    t =b − a

    2x +

    a + b

    2,

    u =d − c

    2y +

    c + d

    2.

    Vrednost integrala se sedaj izračuna po formuli

    ∫ b

    a

    ∫ d

    cf(t, u) dt du ≈ b − a

    2· d − c

    2

    4∑

    i=1

    f(ti, ui),

    pri čemer moramo uporabiti ustrezne vrednosti za xi in yi iz (3.6), ko računamo funkcijskevrednosti f(ti, ui).

    3.4 Radon 7-point formula

    Naslednja v vrsti in zadnja, ki si jo bomo ogledali, je kvadraturna formula točna za vsepolinome do vključno petega reda in uporablja sedem funkcijskih vrednosti za izračunintegrala. Spodaj napisana formula je primerna za uporabo na intervalu [−1, 1]× [−1, 1].Da bi jo uporabili na splošnem intervalu [a, b]×[c, d], moramo izvesti enako transformacijospremenljivk, kot smo jo navedli v preǰsnjem primeru, zato tega na tem mestu ne bomoše enkrat pisali.

    ∫ 1

    −1

    ∫ 1

    −1f(x, y) dx dy ≈ 8

    7f(0, 0)

    +5

    9f

    1

    3,

    5

    3

    +5

    9f

    −√

    1

    3,

    5

    3

    +5

    9f

    1

    3,−√

    5

    3

    +5

    9f

    −√

    1

    3,−√

    5

    3

    +20

    63f

    14

    15, 0

    +20

    63f

    −√

    14

    15, 0

    Pri tej formuli je potrebno opozoriti, da se dve funkcijski vrednosti nahajata izven območjaintegracije. To postane pomembno v primerih, ko funkcija f(x, y) izven območja ni defi-nirana, saj takrat te formule ne smemo uporabiti.

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 21 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    Poglavje 4

    Monte Carlo

    4.1 Naključna števila

    Integracijska metoda Monte Carlo temelji na uporabi naključnih števil, zato se bomonajprej seznanili s tem področjem. Poznamo tri vrste naključnih števil.

    1. Naključna števila, ki so matematični pojem in jih uporabljamo v teoriji.

    2. Psevdo-naključna števila so generirana z determinističnim algoritmom. Od njihzahtevamo, da imajo podobne lastnosti kot naključna števila.

    3. Kvazi-naključna števila nimajo lastnosti naključnih števil. Njihovo ime izhaja izdejstva, da imajo nekatere lastnosti psevdo-naključnih števil.

    Zavedati se je treba, da je generiranje psevdo-naključnih števil s pomočjo računalnikatežka naloga, saj poskušamo z determinističnim algoritmom doseči naključnost. Idealnigenerator psevdo-naključnih števil bi moral poskrbeti za števila, ki so enakomerno poraz-deljena (na intervalu [0, 1]), nekorelirana, katerih zaporedje lahko ponovimo z uporabozačetnega semena, katerih generiranje je hitro in ki zadostijo vsem statističnim testomza naključnost. Takega generatorja seveda ni. Posebej nevarna je uporaba generatorjevpsevdo-naključnih števil, ki jih dobimo skupaj s programsko opremo, saj ti večinoma nisoustrezni [4, 11]. Opozoriti je potrebno, da niti generator, ki uspešno opravi statističneteste, ni primeren za vse aplikacije. Zato je dobro pri vsaki nalogi simulacijo ponoviti zvsaj dvema različnima generatorjema psevdo-naključnih števil.

    Monte Carlo simulacije so se izkazale za primerno testno območje generatorjev psevdo-naključnih števil. Eden izmed bolj kakovostnih testov je Monte Carlo simulacija dvodi-menzionalnega Isingovega modela kristala [4], ki je analitično rešljiv za končno dvodimen-zionalno mrežo. Tako lahko simulacijske izračune energije in specifične toplote kristalaprimerjamo s pravimi vrednostmi ter s tem pridobimo oceno o kakovosti generatorja. Zanaše namene bomo uporabili enega izmed generatorjev psevdo-naključnih števil (koda jepodana v dodatku) iz knjige Numerical Recipes [11], ki ga avtor predlaga kot najbolǰsega.Trditev ni pretirana, saj so njegovo odličnost pokazali tudi testi na Isingovem modelu [4].

    stran 22 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    4.2 Osnovna metoda

    Eno izmed področij uporabe metode Monte Carlo je numerična integracija. Kako upo-rabimo metode statistike in vzorčenja za numerično računanje integralov, bomo pokazalina primeru integriranja funkcije ene spremenljivke. Rezultat enostavno razširimo na inte-griranje funkcije več spremenljivk. Radi bi izračunali integral funkcije f(x) na intervalu[a, b]. Spomnimo se, da lahko zapǐsemo verjetnostno gostoto enakomerno porazdeljenespremenljivke na istem intervalu kot

    p(x) =

    1

    b − a , a ≤ x ≤ b

    0 , sicer

    Ob dani verjetnostni gostoti p(x) izračunamo povprečno vrednost funkcije f(x) kot

    E[f(x)] =∫ b

    af(x)p(x) dx.

    Zapǐsimo integral naše funkcije na nekoliko spremenjen način. Pomnožimo in delimointegracijsko funkcijo f(x) z verjetnostno gostoto enakomerno porazdeljene spremenljivkep(x) na istem intervalu. Dobili smo∫ b

    af(x) dx =

    ∫ b

    af(x) · 1

    b − a · (b − a) dx = (b − a)∫ b

    af(x)p(x) dx = (b − a) · E[f(x)].

    Formula v tej obliki nam še ne olaǰsa računanja integrala. Če bi znali izračunati povprečnovrednost funkcije, bi znali izračunati tudi integral v prvotni obliki. Ključ do uspehaleži v statističnem vzorčenju. Povprečno vrednost naključne spremenljivke v populacijiizračunamo s pomočjo vzorca N , ki ga izberemo naključno. Povprečno vrednost funkcijef(x) lahko torej ocenimo z vzorcem N naključno izbranih točk xi, kar zapǐsemo kot

    E[f(x)] =1

    N

    N∑

    i=1

    f(xi). (4.1)

    Pri tem velja centralno-limitni izrek za velike vzorce

    limN→∞

    E[f(x)] =I

    b − a, kjer je I =∫ b

    af(x) dx.

    Izračunajmo še oceno napake (pravo napako bi lahko izračunali le v primeru, če bi poznalipravo vrednost integrala I), ki smo jo pri tem naredili. V statistiki odstopanje merimo sstandardnim odklonom oziroma varianco (Var = σ2), in sicer ga izračunamo kot

    σ2 = E[

    (x − E[x])2]

    = E[x2] − E2[x].

    Napaka integracije je torej

    σ2 =1

    N

    N∑

    i=1

    f 2(xi) − E2[f(x)]. (4.2)

    Za dovolj velike vzorce (N −→ ∞) je napaka po centralno-limitnem izreku porazdeljenanormalno, s povprečno vrednostjo nič in varianco (standardnim odklonom)

    Var(f) =(b − a)2 σ2

    Nin σf =

    (b − a) σ√N

    . (4.3)

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 23 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    Izračunana vrednost integrala konvergira k pravi vrednosti z večanjem vzorca kot 1/√

    N .Da bi po formulah (4.1) in (4.2) dobili verodostojne vrednosti, moramo za vzorčenjeuporabiti dobre generatorje psevdo-naključnih števil. O problemih v zvezi s tem smonekaj malega povedali na začetku tega poglavja.

    Ker konvergenca ocene integrala—formuli (4.2) in (4.3)—ni odvisna od števila integracij-skih spremenljivk, metoda Monte Carlo svojo pravo vrednost pokaže pri večdimenzional-nih integralih, ko deterministične metode zaradi eksponentnega povečevanja števila vozel-nih točk odpovedo. Napǐsimo torej posplošeno formulo za računanje večdimenzionalnihintegralov. Imejmo funkcijo g, ki bi jo radi integrirali po območju V . Če iz kakršnihkolirazlogov ne moremo generirati psevdo-naključnih števil samo znotraj prostora V , potemcelotno integracijsko območje kar najbolj tesno (zaradi hitrosti in natančnosti računanja)zapremo z območjem W , tako da je V ⊂ W , in definiramo novo funkcijo na območju Wkot

    f(x) =

    g(x), x ∈ V0, sicer

    Vrednost integrala izračunamo s pomočjo generatorja psevdo-naključnih števil po formuli∫

    Wf(x) dW ≈ W

    N

    N∑

    i=1

    f(xi). (4.4)

    Za konec si poglejmo nekatere prednosti in slabosti integracijske metode Monte Carlo.Najprej omenimo statistično naravo metode, saj je vrednost integrala naključna spremen-ljivka. To z drugimi besedami pomeni, da lahko določimo interval zaupanja prave vred-nosti integrala s pomočjo ocene napake σf , kot smo to navajeni pri ocenjevanju parametroviz statistike. Kvadraturne in kubaturne formule imajo za razliko od metode Monte Carlonapako, ki jo lahko natančno izračunamo oziroma izračunamo njeno zgornjo oceno. Vtem smislu je metoda Monte Carlo slabša od kvadraturnih formul. Natančnost izračunaali bolje rečeno oženje napake σf dosežemo z večanjem vzorca N . Če dobro pogledamoformulo (4.4), potem lahko opazimo, da je vrednost integrala odvisna le od N in pravnič od dimenzije prostora (števila integracijskih spremenljivk). S tem metoda MonteCarlo izstopa iz množice ostalih metod, kajti število funkcijskih vrednosti za potrebnonatančnost ni odvisno od dimenzije prostora V . Poleg tega nam tudi zapletena območjane povzročajo težav, saj moramo enostavno generirati psevdo-naključna števila (točke)znotraj želenega območja, kar dokaj enostavno implementiramo z uporabo neenakosti,pri čemer neustrezne točke enostavno izvržemo. Kaj takega pri kubaturnih formulah niizvedljivo.

    4.3 Izbolǰsave osnovne metode Monte Carlo

    Obljubili smo, da bomo posebno poglavje namenili tehnikam in metodam za izbolǰsanjekonvergence integracije Monte Carlo, ki je v osnovi enaka 1/

    √N in neodvisna od števila

    integracijskih spremenljivk. Obstajata dva različna pristopa. Prvi je redukcija variance(variance reducing techniques) [11, 14], v okviru katerega si bomo na kratko ogledalidve priljubljeni metodi. Druga možnost je uporaba kvazi-naključnih števil, kjer bomopredstavili metodo Soboleva [11, 14]. Da bi tehnike prikazali kar najbolj nazorno, sebomo omejili na enodimenzionalne integrale, a se vse povedano seveda da posplošiti naveč dimenzij.

    stran 24 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    4.3.1 Nivojsko vzorčenje (Stratified sampling)

    Ideja tehnike temelji na dejstvu, da lahko integral razdelimo na vsoto dveh (ali več)integralov na sledeč način

    ∫ b

    af(x) dx =

    ∫ c

    af(x) dx +

    ∫ b

    cf(x) dx in c ∈ [a, b].

    Za integral na celotnem integracijskem območju [a, b] z uporabo metode Monte Carlo naobeh podintervalih—formula (4.1)—dobimo oceno

    E[f(x)] =c − aN1

    N1∑

    i=1

    f(xi) +b − cN2

    N2∑

    i=1

    f(xi).

    Izračunamo še oceno napake, to je varianco σ2f . V formuli (4.3) imamo sedaj namestoizraza (b − a)2 σ2/N vsoto varianc po posameznih podintervalih ali s formulo

    σ2f =(c − a)2

    N1σ21 +

    (b − c)2N2

    σ22,

    kjer σ1 in σ2 izračunamo po formuli (4.2). S primerno izbiro števila podintervalov, njihovevelikosti in števila vzorčnih točk Ni na posameznem podintervalu lahko skupno variancomočno zmanǰsamo. Opozoriti velja, da neprimerna izbira vodi tudi k povečanju variance.Splošno pravilo pravi, da skupno varianco najbolj zmanǰsamo, če je število vzorčnih točkv posameznem podintervalu sorazmerno z velikostjo variance na tem delu [14].

    4.3.2 Pomembnostno vzorčenje (Importance sampling)

    Pri tej metodi uporabimo vzorec naključnih števil iz porazdelitve, ki se po obliki karnajbolj prilega integracijski funkciji f(x). S tem dobimo največjo gostoto vzorčnih točkna mestu, kjer funkcija f(x) zavzame največje vrednosti. Da bi to dosegli, potrebujemoverjetnostno gostoto p(x), za katero velja

    p(x) ≥ 0 in∫ b

    ap(x) dx = 1

    ter je poleg tega kar najbolj podobna funkciji |f(x)|. Tedaj lahko integral funkcije f(x)zapǐsemo kot

    ∫ b

    af(x) dx =

    ∫ b

    a

    f(x)

    p(x)p(x) dx =

    ∫ b

    a

    f(x)

    p(x)dP (x) in dP (x) = p(x)dx.

    Če imamo na voljo generator psevdo-naključnih števil s porazdelitvijo P (x), potem vred-nost integrala po formuli (4.1) ocenimo z

    E[f(x)] =1

    N

    N∑

    i=1

    f(xi)

    p(xi),

    pri čemer je ocena variance po formuli (4.2) enaka

    σ2 =1

    N

    N∑

    i=1

    (

    f(xi)

    p(xi)

    )2

    − E2[f(x)].

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 25 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    Pomembna količina v obeh izrazih je kvocient f(x)/p(x). Če bi bila ta vrednost konstan-tna ∀x ∈ [a, b], bi bil integral po metodi Monte Carlo ocenjen brez napake, kar ni težkopokazati [14]. Od tod zahteva po kar najbolj prilegajoči se funkciji p(x). V praksi izbe-remo tak p(x), da zanj obstaja generator naključnih števil in ki se še zadovoljivo prilega|f(x)|. Omenimo še glavno slabost pomembnostnega vzorčenja. Če se na nekem območjup(x) hitro približa vrednosti 0 ali jo celo zavzame, medtem ko f(x) temu ne sledi, potemkvocient f(x)/p(x) postane izredno velik. Skladno s tem naraste tudi varianca σ2 in ocenaza integral postane neuporabna [14].

    4.3.3 Metoda Soboleva

    Z uporabo naključnih števil pri osnovni metodi Monte Carlo dosežemo konvergenco 1/√

    N .Vprašanje je, če lahko z drugačnim načinom izbora točk rezultat izbolǰsamo? Spomnimose na trapezno pravilo (formula (2.3)), kjer smo uporabili vnaprej pripravljene ekvidistan-čne točke in dosegli zmanǰsevanje napake linearno z N . Ekvidistančne točke so v nasprotjuz naključnimi deterministične. Njihova slabost je, da so določene vnaprej. Če ugotovimo,da s prvotnim naborom vozlǐsč nismo dosegli želene natančnosti, bomo v naslednjemkoraku povečali njihovo število. Vendar to pomeni, da moramo najprej izračunati novavozlǐsča in nato še funkcijske vrednosti v teh točkah, pri čemer ne moremo uporabiti vred-nosti iz predhodnega izračuna (razen v posebnih primerih), glej sliko 4.1.

    Iščemo torej metodo, pri kateri bomo vozlǐsča dodajali postopno, medtem ko bo v vsakemkoraku mreža vozlǐsč kar najbolj ekvidistančna. Zaporedjem takih številom pravimo kvazi-naključno zaporedje (low-discrepancy, sub-random, quasi-random sequence) in jih dobimos pomočjo generatorjev kvazi-naključnih števil.

    Ena izmed možnosti je metoda Soboleva [2, 11, 14]. V nadaljevanju bomo nakazalipostopek računanja zaporedja v eni dimenziji. Naš cilj je generiranje kvazi-naključnegazaporedja x1, x2, x3, . . . in xi ∈ [0, 1]. Za izračun potrebujemo primitivne polinome pomodulu 2 in smerna števila (direction numbers).

    Primitivni polinom stopnje q po modulu 2

    p(x) = aqxq + aq−1x

    q−1 + · · · + a1x + a0 in ai ∈ {0, 1} (4.5)

    mora izpolnjevati naslednja pogoja (delamo v aritmetiki po modulu 2):

    • ne moremo ga faktorizirati; polinom x2 + 1 ne zadošča temu pogoju, saj ga lahkozapǐsemo kot produkt (x + 1)(x + 1) in

    • najmanǰsa potenca p, za katero primitivni polinom deli polinom xp+1, je p = 2q +1.

    Smerna števila vi dobimo s pomočjo relacije

    vi =mi2i

    , kjer je 0 < mi < 2i in mi liho. (4.6)

    Pri izračunu Sobolevega zaporedja potrebujemo za vsak bit števila xi eno smerno število.Če uporabljamo 16-bitni zapis števil, potrebujemo 16 smernih števil. Najprej izberemoprimitivni polinom, praviloma najnižje možne stopnje. Nato v skladu s stopnjo polinoma

    stran 26 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    primitivni mi vistopnja q polinom i mi dvojǐsko dvojǐsko a b a ⊕ b

    1 x + 1 1 1 1 0.1 0 0 02 x2 + x + 1 2 1 1 0.01 1 0 13 x3 + x + 1 3 11 0.11 0 1 1

    x3 + x2 + 1 3 1 1 0.001 1 1 04 x4 + x + 1 3 11 0.011

    x4 + x3 + 1 5 101 0.1017 111 0.111

    Tabela 4.1: Preglednica za pomoč pri konstrukciji Sobolevega zaporedja kvazi-naključnihštevil. Na levi je predstavljenih nekaj prvih primitivnih polinomov po modulu 2. Vsredini so podane možnosti za izbiro mi in pripadajoča smerna števila vi. Na desni jetabela pravil za logično operacijo ekskluzivni ali.

    q poljubno izberemo števila m1, m2, . . . , mq, da le zadoščajo zahtevi v (4.6). S temso določena tudi smerna števila v1, v2, . . . , vq. Vsa nadaljnja smerna števila dobimo spomočjo enačbe (4.6) in rekurzivne relacije

    mi = 2aq−1mi−1 ⊕ 22aq−2mi−2 ⊕ · · · ⊕ 2q−1a1mi−q+1 ⊕ 2qmi−q ⊕ mi−q. (4.7)

    Števila ai so koeficienti primitivnega polinoma (4.5), ⊕ pa je logična operacija ekskluzivniali opravljena na vsakem bitu posebej (bit-by-bit XOR).

    Sedaj lahko generiramo Sobolevo zaporedje kvazi-naključnih števil kot

    xn = b1v1 ⊕ b2v2 ⊕ b3v3 ⊕ · · · , (4.8)

    kjer je . . . b3b2b1 dvojǐski zapis števila n [2]. Antonov in Salev sta izbolǰsala omenjenialgoritem s pomočjo uporabe tako imenovane Gray code. Gray code je bijektivna funkcija,ki nenegativnim celim številom priredi vrednost, tako da se dvojǐski zapis dveh zaporednihštevil razlikuje v natanko enem bitu [11]. Najbolj pogost zapis je

    G(n) = . . . g3g2g1 = . . . b3b2b1 ⊕ . . . b4b3b2. (4.9)

    Z uporabo (4.8) in (4.9) lahko pokažemo [2, 11], da se Sobolevo zaporedje kvazi-naključnihštevil enostavneje in časovno bolj učinkovito izračuna kot

    xn+1 = xn ⊕ vc. (4.10)

    Pri tem je vc smerno število in c položaj prvega bita v dvojǐskem zapisu številu xn zvrednostjo 0 od desne proti levi. Če število xn ne vsebuje bita z vrednostjo 0, dodamo tabit na skrajno levi konec števila.

    Da bo postopek bolj jasen, si poglejmo izračun nekaj prvih členov Sobolevega zaporedja veni dimenziji. Pri tem nam bo v pomoč tabela 4.2. Najprej izberemo primitivni polinomin s pomočjo koeficientov zapǐsemo rekurzivno relacijo za izračun smernih števil.

    p(x) = x + 1 mi = 2mi−1 ⊕ mi−1

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 27 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    Smerna števila izračunamo vnaprej, da so pripravljena za uporabo. Ker je p(x) primitivnipolinom prve stopnje, je potrebno izbrati le eno število m1. Izberemo lahko le m1 = 1, sajmora biti m1 liho in 0 < m1 < 2. Po formuli (4.6) dobimo v dvojǐskem zapisu v1 = 0.1.Za m2 uporabimo rekurzivno formulo (4.7) in računamo v dvojǐskem sistemu, tako dadobimo m2 = 10 ⊕ 1 = 10 ⊕ 01 = 11 in v2 = 0.11. Na tak način so izračunane vsevrednosti v tabeli 4.2. Naslednji korak je inicializacija zaporedja. Imamo n = 0, to jezačetna točka zaporedja, za katero vzamemo x0 = 0. Da bi določili smerno število vc,potrebujemo dvojǐski zapis števila n, ki je enak n = 0. Prvi bit od desne proti levi zvrednostjo 0 v tem zapisu je na prvem mestu, zato je c = 1 in vc = 0.1. Naslednji člen vzaporedju dobimo s formulo (4.10). Vse račune izvajamo v dvojǐskem sistemu in imamotorej x1 = x0 ⊕ v1 = 0 ⊕ 0.1 = 0.0 ⊕ 0.1 = 0.1. Dopolnimo vrstico tabele do konca.Vrednost n = 1 v dvojǐskem sistemu zapǐsemo kot n = 1. Ker ta zapis nima nobenegabita z vrednostjo 0, dodamo bit 0 na skrajno levi konec zapisa. Dobimo n = 01, s čimersame vrednosti nismo nič spremenili. Od tod preberemo c = 2 in v2 = 0.11. S pomočjotega lahko določimo x2, in sicer imamo x2 = x1 ⊕ v2 = 0.10 ⊕ 0.11 = 0.01. Nadaljujemoz računanjem, dokler potrebujemo nove člene zaporedja.

    i mi vi n n dvojǐsko c vc xn dvojǐsko xn1 1 0.1 0 0 1 0.1 0.0 0.02 11 0.11 1 01 2 0.11 0.10 0.53 101 0.101 2 10 1 0.10 0.01 0.254 1111 0.1111 3 011 3 0.101 0.110 0.75

    4 100 1 0.100 0.011 0.3755 101 2 0.110 0.111 0.8756 110 1 0.100 0.001 0.125

    Tabela 4.2: V levi tabeli so zbrana smerna števila vi v dvojǐskem zapisu, ki jih potrebujemoza izračun Sobolevega zaporedja kvazi-naključnih števil v eni dimenziji. V desni tabeli sopotrebni podatki za izračun prvih šest členov zaporedja.

    Na sliki 4.1 je prikazano, kako členi zaporedja poskušajo kar najbolj enakomerno zapolnitiinterval [0, 1]. Na desni strani sta dodatno prikazana intervala [0, 1], eden s štirimi in drugis petimi ekvidistančnimi točkami. Pri taki razporeditvi se nobena izmed točk ne ujema,zato bi bilo potrebno za izračun integrala ponovno izračunati vse funkcijske vrednosti,medtem ko pri Sobolevem zaporedju potrebujemo izračun samo ene funkcijske vrednosti,tiste ki smo jo nazadnje dodali.

    0 0.25 0.5 0.75 1 10 0.25 0.5 0.75

    x0x1

    x2x3

    x4x5

    x6

    Slika 4.1: Na levi je prikazano, kako poskušajo členi Sobolevega zaporedja kvazi-naključnihštevil enakomerno zapolniti interval [0, 1]. Na desni sta dva intervala [0, 1], eden je raz-deljen na štiri in drugi na pet ekvidistančnih točk—za uporabo trapeznega pravila.

    stran 28 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    V več dimenzijah namesto točk dobimo zaporedje kvazi-naključnih vektorjev xi. Sedajmoramo za vsako komponento vektorja—za vsako dimenzijo—izračunati Sobolevo kvazi-naključno število. Pri tem postopamo enako kot v enodimenzionalnem primeru. Pazitije potrebno, da za vsako dimenzijo izberemo svoj primitivni polinom. Na tem mestu sipoglejmo, kako se v dveh dimenzijah Sobolevo zaporedje (slika 4.3) razlikuje od psevdo-naključnega zaporedja (slika 4.2). Medtem ko pri naključnih točkah opazimo rahlo zdru-ževanje v gruče, tega pri Sobolovem zaporedju ni, kajti vsaka nadaljnja točka se trudizapolniti vrzeli, ki jih je za seboj pustilo zaporedje, kot smo to že videli na sliki 4.1.

    0.2 0.4 0.6 0.8 1

    0.2

    0.4

    0.6

    0.8

    1

    0.2 0.4 0.6 0.8 1

    0.2

    0.4

    0.6

    0.8

    1

    0.2 0.4 0.6 0.8 1

    0.2

    0.4

    0.6

    0.8

    1

    Slika 4.2: Zaporedje psevdo-naključnih točk v dveh dimenzijah. Levo so narisane točkeod 1 do 128, v sredini točke od 129 do 512, na desni sliki pa vse točke od 1 do 512.

    0.2 0.4 0.6 0.8 1

    0.2

    0.4

    0.6

    0.8

    1

    0.2 0.4 0.6 0.8 1

    0.2

    0.4

    0.6

    0.8

    1

    0.2 0.4 0.6 0.8 1

    0.2

    0.4

    0.6

    0.8

    1

    Slika 4.3: Točke Sobolovega zaporedja v dveh dimenzijah. Levo so narisane točke od 1do 128, v sredini točke od 129 do 512, na desni sliki pa vse točke od 1 do 512.

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 29 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    Poglavje 5

    Analiza in rezultati

    5.1 Primerjava metod numeričnega integriranja v 1D

    V tem poglavju bomo na kolikor mogoče različnih in reprezentativnih funkcijah primerjalimed seboj integracijske metode za funkcije ene spremenljivke, ki smo jih pred tem spoznaliteoretično. To so trapezno pravilo (2.3), Simpsonovo pravilo (2.5), Gaussove kvadraturneformule (2.6) in metoda Monte Carlo (4.4). Vse metode so bile prevedene v računalnǐskialgoritem s pomočjo programskega jezika fortran ali C . Skušali bomo prikazati predno-sti in slabosti posamezne metode ter ugotovili, da enostavno ni najbolǰse. Za dober inverodostojen rezultat moramo čim bolj poznati integracijsko funkcijo. Z zamenjavo inte-gracijske spremenljivke in/ali spretno spremembo integracijskih mej lahko dosežemo večod slepega integriranja po eni izmed omenjenih integracijskih metod.

    Pri medsebojnem primerjanju smo skušali izenačiti število matematičnih operacij (funk-cijskih vrednosti) in pri tem pogoju ovrednotili dobljene rezultate. Tako smo na primerinterval [a, b] razdelili na 100 podintervalov za trapezno pravilo in s tem uporabili 100funkcijskih vrednosti, medtem ko smo pri uporabi Gauss-Legendrove kvadraturne for-mule (2.8) interval razdelili na 10 podintervalov, saj že sama kvadraturna formula naenem podintervalu uporabi 10 funkcijskih vrednosti—skupaj 100 funkcijskih vrednosti.

    5.1.1 Polinomska funkcija f(x)

    Najprej si bomo ogledali enostaven primer integralske funkcije. Vzemimo polinom četrtestopnje, katerega graf je predstavljen na sliki (5.1). Vrednost integrala na intervalu [−2, 3]lahko izračunamo analitično, in sicer

    ∫ 3

    −2f(x) dx =

    ∫ 3

    −2

    (

    x4 − 2x3 − 3x2 + 4x + 3)

    dx =25

    2= 12.5.

    Zadostuje en sam pogled v tabelo, da ugotovimo odličnost Gauss-Legendrove kvadraturneformule, ki nam s samo 10 funkcijskimi vrednostmi vrne točen rezultat. To smo tudi priča-kovali, saj so Gaussove kvadraturne formule točne za polinome do vključno stopnje 2n−1,če uporabijo n funkcijskih vrednosti. Kljub povedanemu niti obe enostavneǰsi Newton-Cotesovi formuli nista za odmet, še posebej če upoštevamo napor potreben za izračunGauss-Legendrovih vozelnih točk in uteži. Pri metodi Monte Carlo opazimo verjetnostnonaravo metode, saj rezultat ne konvergira enakomerno proti pravi vrednosti.

    stran 30 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    -2 -1 1 2 3x

    -5

    -2.5

    2.5

    5

    7.5

    10

    12.5

    15f HxL

    Slika 5.1: Graf funkcije f(x) = x4 − 2x3 − 3x2 + 4x + 3. Integracijski interval je [−2, 3].

    n trapezno pravilo Simpsonovo pravilo Gauss-Legendre Monte Carlo

    10 14.156253 12.54166667 12.5 13.394720450 12.56665 12.50006667 12.5 12.7809871

    100 12.51666562 12.50000417 12.5 12.9037767200 12.5041666 12.50000026 12.5 13.7889424

    1 000 12.50016667 12.5 12.5 12.1050139

    Tabela 5.1: Primerjava metod za numerično integriranje na omejenih intervalih. Številofunkcijskih vrednosti uporabljenih za izračun je n. Z rdečo barvo so označene napačnedecimalne vrednosti.

    5.1.2 Racionalna funkcija f(x) = p(x)/q(x)

    5 10 15 20x

    15

    20

    25

    30

    35

    40

    45

    50f HxL

    Slika 5.2: Graf funkcije f(x) = (x2 + 3x − 10) /(x − 3). Integracijski interval je [4, 6].

    Pri integriranju racionalne funkcije na omejenem intervalu pričakujemo še večje razlikemed primerjanimi metodami. Imejmo racionalno funkcijo, katere graf je predstavljen nasliki (5.2). Določeni integral na intervalu [4, 6] je enak

    ∫ 6

    4f(x) dx =

    ∫ 6

    4

    x2 + 3x − 10x − 3 dx = 22 + ln 6561 = 30.78889831 . . .

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 31 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    n trapezno pravilo Simpsonovo pravilo Gauss-Legendre Monte Carlo

    10 30.81249861 30.78928479 30.78889831 30.361685750 30.78984629 30.78889898 30.78889831 30.4106310

    100 30.78913534 30.78889835 30.78889831 30.6085933200 30.78895757 30.78889831 30.78889831 30.6697376

    1 000 30.78890068 30.78889831 30.78889831 30.7426605

    Tabela 5.2: Primerjava metod za numerično integriranje na omejenih intervalih. Številofunkcijskih vrednosti uporabljenih za izračun je n. Z rdečo barvo so označene napačnedecimalne vrednosti.

    Numerično integracijo smo izvedli pri različnem številu vozelnih točk. Gauss-Legendrovakvadraturna formula nam vrne točno vrednost (glede na izpisano število decimalnih mest)s samo 10 funkcijskimi vrednostmi. Presenetljivo dobro se odrežeta trapezno in Simp-sonovo pravilo. Prvo nam sicer nikoli ne vrne točnega rezultata, Simpsonova formula pavrne točno vrednost z 200 funkcijskimi vrednostmi.

    5.1.3 Funkcija f(x) = 1/(1 + x2)

    -10 -5 5 10x

    0.5

    1

    1.5f HxL

    Slika 5.3: Graf funkcije f(x) = 1/(1 + x2). Integracijski interval je [−∞,∞].

    Funkcijo na sliki 5.3 integriramo na intervalu [−∞,∞]. Takim intervalom je name-njena Gauss-Hermitova kvadraturna formula (2.10). Vendar si bomo za primerjavo v temrazdelku dovolili uporabiti prav vse formule. Tiste s končnim intervalom bomo razširili nadovolj velik interval in upali, da je preostanek integrala zanemarljiv. Ker je integral anali-tično rešljiv, pravzaprav lahko točno določimo končen interval za zadovoljivo natančnost.Meje intervala smo postavili na [−100, 100] in tako bo končni rezultat obremenjen z na-pako nekaj več kot pol procenta. Zanimalo nas bo, kdaj (če sploh?) bodo intervalneformule bolǰse od Gauss-Hermitove. Uporabili bomo tudi Gauss-Laguerrovo kvadraturnoformulo (2.12). Ker je funkcija soda, velja

    −∞

    f(x) dx = 2∫

    0f(x) dx.

    To dejstvo bomo uporabili pri Gauss-Laguerrovi kvadraturni formuli ter vseh intervalnihmetodah. Za primerjavo rezultatov v tabeli navedimo še točna rezultata.

    −∞

    f(x) dx =∫

    −∞

    dx

    1 + x2= π = 3.141592654 . . .

    ∫ 100

    −100f(x) dx =

    ∫ 100

    −100

    dx

    1 + x2= 2 arctan 100 = 3.121593320 . . .

    stran 32 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    n trapezno pravilo Simpsonovo pravilo Gauss-Legendre Monte Carlo

    10 10.30680972 7.027715676 2.943042908 0.15160350 3.133348428 3.042672410 3.21402476 3.07111

    500 3.121593306 3.121593004 3.12159332 2.431641 000 3.121593316 3.12159332 3.12159332 2.61179

    Tabela 5.3: Primerjava metod za numerično integriranje na omejenih intervalih. Integra-cijski interval je [0, 100]. Število funkcijskih vrednosti uporabljenih za izračun je n.

    Poglejmo si sedaj še rezultata, ki ju dobimo s formulami za neskončne intervale.

    • Gauss-Laguerrova (n = 10) kvadraturna formula 3.085152684.

    • Gauss-Hermitova (n = 10) kvadraturna formula 2.652028006.

    Kakšne zaključke lahko dobimo iz dobljenih rezultatov? Pri kvadraturnih formulah zaneskončni interval ne moremo uporabljati podintervalov. Bolǰso natančnost bi dosegli spovečanjem števila vozlǐsč, vendar je to povezano z iskanjem ničel pripadajočih ortogo-nalnih polinomov, kar ni ravno lahko opravilo. Če upoštevamo 10 funkcijskih vrednosti,potem nam najbolǰsi rezultat vrne Gauss-Laguerrova kvadraturna formula. Z več vo-zelnimi točkami pa dosežemo bolǰse rezultate celo s trapeznim pravilom. Za točneǰsirezultat bi morali razširiti meje končnega intervala, a tudi z napako manj kot enega pro-centa smo lahko zadovoljni, saj je to dosti bolǰsa ocena od Gauss-Laguerrove z napakoskoraj dveh procentov. Na tem primeru vidimo, da namenska formula (Gauss-Hermitova)ne daje nujno najbolǰsega rezultata. Razlog je seveda v tem, da sta s kvadraturno formulopovezana tako interval kot utež. Prednost namenskih formul spoznamo, če je utež že delnaše integracijske funkcije.

    5.1.4 Funkcija f(x) = 1/√

    x

    0.5 1 1.5 2x

    1

    2

    3

    4

    5

    6f HxL

    Slika 5.4: Graf funkcije f(x) = 1/√

    x. Integracijski interval je [0, 1].

    Funkcijo na sliki 5.4 integriramo na intervalu [0, 1], kjer ima funkcija singularnost v točkix = 0. Ker je singularnost v enem izmed krajǐsč integracijskega intervala, ne moremo

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 33 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    direktno uporabiti trapeznega (2.3) ali Simpsonovega (2.5) pravila. V ta namen obsta-jajo posebne oblike odprtih integracijskih formul, vendar jih mi nismo obravnavali. Zanaše potrebe se bomo singularnosti izognili tako, da bomo premaknili začetek integracij-skega intervala, in sicer bo novi interval [0.001, 1]. Zaradi tega bodo rezultati integracijeobremenjeni z napako, kar je potrebno upoštevati pri primerjavi rezultatov, saj Gauss-Legendrova integracijska formula (2.8) nima prej omenjene pomanjkljivosti.

    ∫ 1

    0

    dx√x

    = 2∫ 1

    0.001

    dx√x

    = 1.9367544467966 . . .

    n trapezno pravilo Simpsonovo pravilo Gauss-Legendre Monte Carlo

    10 3.113451658 2.650676944 1.917063942 1.50882100 1.999399196 1.965721198 1.973773316 2.01485

    1 000 1.938005703 1.936901966 1.991706394 1.8873610 000 1.936767588 1.936754479 1.997377332 2.00575

    Tabela 5.4: Primerjava metod za numerično integriranje na omejenih intervalih. Pritrapeznem in Simpsonovem pravilu smo integrirali na intervalu [0.001, 1]. Število funkcij-skih vrednosti uporabljenih za izračun je n.

    Pogled v tabelo nam pove, da nobena od metod ne vrne točnega rezultata. Vendar nitežko potegniti končnega sklepa, da nam Gauss-Legendrova formula ponuja mnogo večjonatančnost pri malem številu uporabljenih funkcijskih vrednosti ter hkrati omogoča lažjokontrolo napake pri povečanju n. Kajti tako pri trapeznem kot Simpsonovem pravilumoramo upoštevati neizogibno napako zaradi premaknitve intervala integracije, zaradičesar nikoli ne moremo doseči večje natančnosti od Gauss-Legendrove formule pri istemštevilu uporabljenih funkcijskih vrednosti.

    5.1.5 Funkcija f(x) = ln x/(x − 1)

    0.5 1 1.5 2x

    0.51

    1.52

    2.53

    3.54f HxL

    Slika 5.5: Graf funkcije f(x) = ln x/(x − 1). Integracijski interval je [0, 1].

    Funkcijo f(x) (slika 5.5) integriramo na intervalu [0, 1]. Hitro lahko ugotovimo, da imafunkcija singularnost samo v točki x = 0, saj velja

    limx→0

    ln x

    x − 1 = ∞ toda limx→1ln x

    x − 1 = 1.

    stran 34 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    Singularnosti se bomo pri integriranju s trapeznim (2.3) oziroma Simpsonovim (2.5) pra-vilom izognili s spremembo integracijskega intervala na [0.001, 1], medtem ko spremembaza Gauss-Legendrovo (2.8) integracijo ni potrebna. Pri primerjanju metod med sebojmoramo upoštevati ustrezno vrednost integrala

    ∫ 1

    0

    ln x dx

    x − 1 =π2

    6= 1.64493406685 . . . in

    ∫ 1

    0.001

    ln x dx

    x − 1 = 1.63702260528 . . .

    n trapezno pravilo Simpsonovo pravilo Gauss-Legendre Monte Carlo

    10 1.776408595 1.710231196 1.639218399 1.44489100 1.642091614 1.638839685 1.644360646 1.61270

    1 000 1.637102976 1.637028381 1.644876706 1.6184710 000 1.637023431 1.637022606 1.644928331 1.64923

    Tabela 5.5: Primerjava metod za numerično integriranje na omejenih intervalih. Pritrapeznem in Simpsonovem pravilu smo integrirali na intervalu [0.001, 1]. Število funkcij-skih vrednosti uporabljenih za izračun je n. Z rdečo barvo so označene napačne decimalnevrednosti glede na točno vrednost integrala, to je π2/6.

    Pri zadnjih dveh primerih funkcij smo videli, da z Gauss-Legendrovo integracijsko formulolahko računamo tudi integrale s singularnostmi. Pri tem nam ni treba paziti na lokacijosingularnosti, saj je zelo neverjetno, da bi singularnost padla točno na enega izmed vozlǐsč,medtem ko krajǐsči tako ali tako nista vključeni v računanje vrednosti integrala. Čistodrugače se obnašata trapezno in Simpsonovo pravilo, saj se moramo tu s spremembointervala izogniti singularnosti na krajǐsču ali v sredini intervala na naslednji način:

    • če je singularnost v točki a, uporabimo [a, b] −→ (a, b],

    • če je singularnost v točki b, uporabimo [a, b] −→ [a, b) in

    • če je singularnost v točki x0, uporabimo [a, b] −→ [a, x0)⋃

    (x0, b].

    5.1.6 Funkcija f(x) =∣

    ∣x2 − 7x + 10∣

    1 2 3 4 5 6x

    -1

    1

    2

    3

    4

    5

    6f HxL

    Slika 5.6: Graf funkcije f(x) = |x2 − 7x + 10|. Integracijski interval je [1, 7].

    Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji stran 35 od 75

  • Diplomsko delo univerzitetnega študija Univerza v Mariboru – Fakulteta za organizacijske vede

    Kot zadnji primer si poglejmo funkcijo, ki nima zveznega odvoda. To enostavno dosežemoz uporabo absolutne vrednosti. Graf funkcije je predstavljen na sliki (5.6). Integral lahkoizračunamo analitično in njegova vrednost na intervalu [1, 7] je enaka

    ∫ 7

    1f(x) dx =

    ∫ 7

    1

    ∣x2 − 7x + 10∣

    ∣ dx = 15.

    n trapezno pravilo Simpsonovo pravilo Gauss-Legendre Monte Carlo

    10 15.48 15.088 14.98583045 14.858828650 15.0192 15.005056 15.00034244 18.1895114

    100 15.0048 15 15.00293478 16.1693953

    Tabela 5.6: Primerjava metod za numerično integriranje na omejenih intervalih. Z rdečobarvo so označene napačne decimalne vrednosti.

    Algoritme smo namenoma preskusili samo na majhnem številu podintervalov in v tabelilahko vidimo, kako dobro opravijo nalogo metode za numerično integracijo. Nezveznostprvega odvoda ne vpliva bistveno na najpreprosteǰsa algoritma. Največ posledic je deležnaGaussova kvadraturna formula, saj se ji hitrost konvergence drastično zmanǰsa. Težavaje seveda v tem, da hočemo s polinomom desete stopnje opisati funkcijo, ki ima v točkah2 in 5 koleno.

    5.1.7 Primerjava relativnih napak

    Do sedaj smo metode med seboj primerjali po absolutni napaki v odvisnosti od številauporabljenih funkcijskih vrednosti n za izračun ocene vrednosti integrala. V praksi jevečkrat pomembneǰsa relativna napaka, zato tokrat za merilo kakovosti vzemimo rela-tivno odstopanje od prave vrednosti. Pod drobnogled bomo vzeli tri metode, in sicerSimpsonovo pravilo, Gauss-Legendrovo kvadraturno formulo in Monte Carlo integracijos Sobolevimi kvazi-naključnimi števili. Uporabili bomo testno funkcijo, katere integral jeanalitično rešljiv, in sicer

    f(x) dx =∫ dx

    (x − 1)2 + 125

    = 5 arctan 5(x − 1).

    Za vrednost integrala na intervalu [0, 3] tako dobimo 14.22264221 . . . Če analitičnega re-zultata nimamo na voljo, potem relativno napako izračunamo glede na ocenjeno vrednostintegrala pri dovolj velikem številu funkcijskih vrednosti n.

    Graf funkcije in rezultati so prikazani na sliki 5.7. Lepo je videti, da pri determinističnihmetodah (Simpsonova in Gauss-Legendrova) relativna napaka enakomerno pada, medtemko relativna napaka pri statistični metodi (Monte Carlo) globalno sicer pada, vendar solokalni odkloni tako pozitivni kot negativni. Kadar vrednost integrala ni vnaprej znana,pri prvih dveh metodah lažje predvidimo potrebno število funkcijskih vrednosti za dosegoželene natančnosti. Pri metodi Monte Carlo je potrebno uporabiti precej večje številofunkcijskih vrednosti, preden napaka obstane pod določeno mejo.

    stran 36 od 75 Emil Polajnar: Uporaba numerične integracije pri naložbeni strategiji

  • Univerza v Mariboru – Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija

    0.5 1 1.5 2 2.5 3x

    5

    10

    15

    20

    25f HxL

    20 40 60 80 100n

    0.02

    0.04

    0.06

    0.08

    0.1

    0.12

    0.14relativna napaka

    Slika 5.7: Na levi je graf funkcije 1/ ((x − 1)2 + 1/25). Integracijski interval je [0, 3].Na desni je primerjava relativnih napak v odvisnosti od števila uporabljenih funkcijskihvrednosti n. S črno je označena Simpsonova, z rdečo Gauss-Legendrova in z modro MonteCarlo integracija.

    5.2 Primerjava metod numeričnega integriranja v 2D

    Na konkretnih funkcijah dveh spremenljivk si bomo ogledali primerjavo med kubaturnimaformulama, osnovno metodo Mo