Numeričke metode u ekonomiji Dr. sc. Josip Matejaš, EFZG http://web.math.hr/~rogina/001096/num_anal.pdf Numerička analiza
G R E Š K E
Prvi uvodni primjer 50 50 1/ 5 33554 43 1.414 1356... 50 1.414 1356 33554 431. 56 50 1.414 1356 33554 49. 18 50 1.414 136 33554 476. 64 50 1.414 14 33 554 951. 17 50 1.414 1 33 550 06. 1 50 1.414 33538 346. 35 1.414 1.41 50 50 33 30 01. 01 8 903 845. 88 50 1.4 0 48 916.4 3
Drugi uvodni primjer 100 1 1 0.1% 10% 100 1.001 1.105115... 100 1 1 1% 170% 100 1.01.70481... 4
Treći uvodni primjer 55 55 55? 55 55 55? 55 55 55? 0 0 55 5
1. Ulazne greške a) Greške u polaznim podacima nastaju zbog grešaka u mjerenju ili procjeni polaznih veličina, zbog smještavanja podataka u računalo te zbog grešaka u prethodnim računanjima. b) Greške modela Nastaju zamjenom složenih sustava jednostavnijima koje možemo opisati matematičkim zapisom, a onda i riješiti (simulacije realnih situacija ekonomskih, meteroloških, tehničkih i sl.) c) Greške metode Tipovi grešaka u numeričkom računanju Nastaju kad se beskonačni procesi zamjenjuju konačnim. Razlikujemo greške diskretizacije (kontinuiranu veličinu zamjenjujemo konačnim skupom točaka) i greške odbacivanja (beskonačni niz ili red zamjenjujemo konačnim). 6
. Greške zaokruživanja Nastaju u računalima kod vršenja računskih operacija a zbog konačne aritmetike (teorija grešaka zaokruživanja) i zbog osjetljivosti problema na pomake u polaznim podacima (teorija perturbacija) 7
Odredite Primjer (zaokruživanje) a b, a b, ( a b) ( a b) a 13456000000, b 13456 na 8 i 6 značajnih znamenaka. ako je uz zaokruživanje Na 8: 13 456 000 000 13 456 a b 134561 10 a b 1345588 10 4 ( a b) ( a b) 4 10 40000 4 4 8
Na 6: 13 456 000 000 13 456 a b 13456 10 a b 13456 10 ( a b) ( a b) 0 6 6 9
Primjer (osjetljivost problema) f ( x ) 4005x 99x x 10 10.1 0 0.1 30 30.1 f(x) 30150 30351.51 40500 40503.51 31050 30855.51 + 00.51 + 3.51-194.49 Naći mjeru osjetljivosti problema u odnosu na promjene polaznih podataka... teorija kaosa... 10
Određivanje i izražavanje grešaka Neka je x aproksimacija broja x x, G (apsolutna greška) A x. Definiramo x x x 1, G R (relativna greška) x x x Primijetimo da je x x, x x, x x x (1 ) x, x, 1. 1 x Relativna greška nije definirana za x 0. 11
Primjer Proizvod A cijene 10 kuna i proizvod B cijene 1000 kuna poskupljuje svaki za 1 kunu. Koji je proizvod poskupio više? 1 A... x 10, x 11 G A 1, G R 0.1 10% 10 B... x 1000, x 1001 G 1, G R 1 0.001 0.1% 1000 Apsolutna greška je mjera udaljenosti aproksimacije od točne vrijednosti. Relativna greška izražava prosječno odstupanje po jedinici promatrane veličine pa se izražava u postocima i može se usporediti sa relativnom greškom neke druge veličine. 1 A
Relativna greška ne ovisi o skaliranju, x x x x G R( x, x ) G R( x, x ) x x Na primjer x 10, x 9.99 G 0.01, G 0.001 A x 0, x 19.98 G 0.0, G 0.001 10x 100, 10x 99.9 G 0.1, G 0.001... x 10, x 9.99 G 0.01, G 0.001 A A A R R R R 13
Ako je poznata gornja ograda za grešku, imamo G A A A A x A x x A, x A x x A. G R R R R x x (1 R ) x x (1 R ) x, x. 1R 1R 14
Točnost i preciznost Značajne znamenke u zapisu nekog broja su znamenke koje počinju sa prvom lijevom netrivijalnom znamenkom, npr. 0.0079 (3 značajne znamenke) 7.9 10 450000 (6 značajnih znamenaka) 4.5 10 0.00090009 (5 značajnih znamenaka) 9.0009 10 10.10 (4 značajne znamenke) 1.01 10 1 3 5 4 15
Kažemo da aproksimacija nekog broja ima p korektnih značajnih znamenaka ako je apsolutna greška manja od jedne polovine jedinice u p-toj značajnoj znamenci, npr. 1 x 9.5171, x 9.504 G A 0.0033 0.005 0.01, x ima 4 korektne znamenke; 1 y 0.098, y 0.0971 G A 0.0009 0.005 0.01, y ima 1 korektnu znamenku; 1 z 0.49, z 0.43 G A 0.06 0.5 1, z nema korektnih znamenaka. 16
Korektne značajne znamenke: Korektne znamenke G A S (10 ) 1 D (10 ) 0 J (10 ) 1 d (10 ) s (10 ) 3 t (10 ) 4 dt (10 ) 50 5 0.5 0.05 0.005 0.0005 0.00005 17
TOČNOST je mjera aproksimacije neke veličine izražava se apsolutnom ili relativnom greškom ili brojem značajnih znamenaka. PRECIZNOST operacije. je točnost kojom se izvršavaju računske 18
Aritmetika s pomičnom točkom (floating point) Svaki realni broj x možemo na jednoznačan način prikazati u obliku x m b, 1 m b, e a nazivamo ga,,znanstvena notacija ili,,normalizirani zapis broja x. Pri tome je m mantisa (signifikantni ili razlomljeni dio broja), b je baza, dok je e eksponent (red veličine) broja. Brojevi se u računala spremaju na ovaj način (floating point representation) i čine BSPT pri čemu je b b b (kod većine računala), 16 (IBM), 10 (kod većine kalkulatora). 19
Primjeri 0.007 10 0 10 7 10.07 10 3 4 4 3 1 0 4 46000 4 10 6 10 0 10 0 10 0 10 4.6 10 1.34 1 10 10 3 10 4 10 1.34 10 6 6 10 1 0 1 1 0 4 4 3 1 11010 1.101 1 1 0 1 6 10.01 1.001 1 1 1 0 0 0 1 1.5 Najčešće se, npr..07 10 zapisuje kao.07e. 0
Reprezentacija brojeva u računalu Tipovi brojeva: cjelobrojni, realni, kompleksni, brojevi u dvostrukoj i brojevi u proširenoj točnosti. Većina današnjih računala koristi za spremanje brojeva ćelije sa 3 bita: 1 bit za predznak, 8 za eksponent i 3 za mantisu (bez vodeće jedinice). Uočimo da se u 3-bitnu ćeliju može smještavati 3 =4 94 967 96 različitih brojeva. Mantisa se uvijek zaokružuje na 3 bita. Prekoračenje (overflow) nastaje ako rezultat računskih operacija nije reprezentabilan broj. 1
Strojna preciznost Preciznost brojevnog sustava p je broj bitova u mantisi (računa se i skriveni bit 1). To je najčešće p=4. Strojna preciznost (u) ili strojni epsilon (machine epsilon) je razmak između broja 1 i prvog reprezentabilnog broja većeg od 1. Ako je preciznost p, imamo u ( 1) p Tako za današnja računala imamo: u,,,10 3 5 64 1 single double extended calculator 7 16 0 1. 10. 10 5.4 10
IEEE standard Institute of Electrical and Electronics Engineers, IEEE 754 (1985). Zahtjevi standarda: 1. Konzistentna reprezentacija BPT: jednostruki format (1+8+3) i dvostruki format (1+11+5).. Korektno zaokruživanje u računskim operacijama: zaokruživanje prema najbližem. 3. Konzistentno tretiranje izvanrednih situacija npr. a / 0, a / 0, / a,..., NaN, 0 / 0 NaN,... 3
4. Za računske operacije zahtjeva se: fl ( x y ) (1 ) ( x y ),,,,:, fl x (1 ) x, pri čemu je u. Tu su x i y reprezentabilni brojevi. Dakle, greška u osnovnim računskim operacijama,,,, :, ne smije biti veća od strojne preciznosti. 4
Stabilnost numeričkog računanja Promatramo y=y(x). U egzaktnoj aritmetici x y. Računanjem u konačnoj aritmetici dobijemo fl(y) umjesto y, gdje su y i y y fl ( y ) y y y greške unaprijed (forward errors). Te greške možemo,,vratiti u polazne podatke. Pitamo se za koji x vrijedi Tu su x i fl ( y ) y x x y x x x greške unatrag ili povratne greške (backward errors). 5
x konačna aritmetika y y y x x x Približno računanje s točnim podacima shvaćamo kao točno računanje s približnim podacima. f ( x ) y (točno računanje s točnim podacima) f ( x ) y (približno računanje s točnim podacima) f ( x ) y (točno računanje s približnim podacima) 6
Primjer x f ( x), (zaokruživanje na 3 decimale) 9 4 x 4, y 0.444444..., fl ( y ) y 0.444 9 4 y 0.444 0.000444444... (greška unaprijed) 9 x 0.444 x 3.996 x 0.004 (greška unazad) 9 4 konačna aritmetika 0.444 3.996 7
Uvjetovanost ili kondicija To je osjetljivost problema na promjene ulaznih podataka. Promatramo y y ( x ), y y y ( x x ) Koristimo Taylorov red: y y 3 y y y y x x x...! 3! y y y xy x x O x y y y y x Uvjetovanost ili kondicija ( y ) 8
y y ( y ) x x greška unaprijed kondicija greška unazad Kod ekonomskih funkcija kondicija se naziva i elastičnost. Ako uvjetovanost nije velika metoda je stabilna unaprijed (male greške ulaznih podataka uzrokuju male greške u rezultatu). povratna stabilnost stabilnost unaprijed, obratno ne mora važiti. 9
Kondicija nekih elementarnih funkcija n 1. y x, ( y ) n... C n C 0 r m 1. y x, ( y )... rkonformni m r m n nominalni np x 100 3. y e, ( y ) x... C n C 0e 1 4. y ln x, ( y ),... p lnq ln x ( y ) xy xy veliko ili y malo ( y ) veliko y 30
Analiza grešaka zaokruživanja kod osnovnih računskih operacija Pomoćni rezultat (lema). Neka je i u 1, i 1,,..., n. Tada je 1. (1 )(1 )... (1 ) 1... ( ) 1 n 1 n Ou 1 1. 1 1 Ou ( ) 1 3. 1 1 0.5 Ou ( ) 1 1 4. a b 0 a(1 ) b(1 ) ( a b)(1 ), 1 min, max, 1 1 31
Neka su x, y, z Prvi primjer točni podaci. Imamo xy (1 ) x(1 3) y fl (1 3 1) 3 z (1 4 )(1 5 ) z xy 1 1 3 4 5 3 z pa je ukupna relativna pogreška u u u u u u 1 3 4 5 5 3
Drugi primjer Neka su x, y, z točni podaci a x, y, z aproksimacije spremljene u računalo, tj. njihove x (1 ) x, y (1 ) y, z (1 ) z. xy fl (1 1) z x y z (1 ) x(1 )(1 ) y (1 ) x y 3 (1 )(1 )(1 ) 3 3 3 4 5 z xy 1 1 x y 3 4 5 3 z 3 z Ako je, npr. u, 5 u, 11 u, imamo x y z u u u 5u u u u 311u 49u z 33
Neka je x 0. Treći primjer Imamo fl x 1 x (1 1) x (1 ) (1 3)(1 x ) (1 1) x (1 ) 1 0.5 3 1 x (1 1) x 1 0.5 3 1 x (1 1) 1 0.5 3 x 1 x 1 1 0.5 3 x 1 x pa je ukupna relativna greška u u 0.5u.5u 34
Neka je fl x 1 x Četvrti primjer x 0 i x (1 ) x (1 1) (1 x) x (1 ) (1 3) 1 (1 x) x (1 1) (1 x) x (1 ) (1 3)(1 x)(1 x) x njegova aproksimacija. (1 1) (1 x) x 1 0.5 3 0.5 x 1 x 1 1 max x, 0.5 3 0.5 x x 1 x Ako je, npr. 4 x u imamo u max 4 u, 3.5u 5u 35
Neka je Oduzimanje xy 0, x (1 ) x, y (1 ) y. fl x y (1 1) (1 x) x (1 y) y x (1 1) x y xx yy xx yy (1 1) 1 x y x y xx yy 1 1 x y x y x y Ako je max,, tada je ukupna relativna greška y x 1 u max, x y. 1 36 y
Peti primjer Neka je x 100 50, y 100. Imamo x y? x y.535301 10 101 50 30 x y? x y 1.606938044 10 00 150 60 x : y? x 50 : y 1 1 x y? x y 1.15899907 10 50 15 37