-
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