Alapja a véletlen minták kiértékelése. Sok szabadság fokú csatolt rendszerek



Hasonló dokumentumok
Véletlenszám generátorok és tesztelésük HORVÁTH BÁLINT

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Monte Carlo módszerek a statisztikus fizikában. Az Ising modell. 8. előadás

Sztochasztikus folyamatok alapfogalmak

dimenziója Szirmay-Kalos László N= 1/r D D= (logn) / (log 1/r) D= (log4) / (log 3) = 1.26 N = 4, r = 1/3 Vonalzó ( l ) db r =1/3 N = 4 r 2 N 2 N m r m

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

STATISZTIKA. A maradék független a kezelés és blokk hatástól. Maradékok leíró statisztikája. 4. A modell érvényességének ellenőrzése

Kvantitatív módszerek

STATISZTIKA ELŐADÁS ÁTTEKINTÉSE. Matematikai statisztika. Mi a modell? Binomiális eloszlás sűrűségfüggvény. Binomiális eloszlás

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

Véletlen jelenség: okok rendszere hozza létre - nem ismerhetjük mind, ezért sztochasztikus.

Szám. szim. labor ea. Tőke Csaba U(0,1) GSL. Adott eloszlás. Brown-mozgás. Hivatkozások. BME Fizika Intézet október 7.

Bevezetés. 1. előadás, február 11. Módszerek. Tematika

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Nagy számok törvényei Statisztikai mintavétel Várható érték becslése. Dr. Berta Miklós Fizika és Kémia Tanszék Széchenyi István Egyetem

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

( 1) i 2 i. megbízhatóságú a levont következtetése? A matematikai statisztika eszközeivel értékelje a kapott eredményeket!

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

STATISZTIKA ELŐADÁS ÁTTEKINTÉSE. Mi a modell? Matematikai statisztika. 300 dobás. sűrűségfüggvénye. Egyenletes eloszlás

Hipotézis STATISZTIKA. Kétmintás hipotézisek. Munkahipotézis (H a ) Tematika. Tudományos hipotézis. 1. Előadás. Hipotézisvizsgálatok

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

AliROOT szimulációk GPU alapokon

Mérés és adatgyűjtés

3. Jelöljük meg a numerikus gyökkereső módszerekre vonatkozó egyedüli helyes kijelentést:

Jelek és rendszerek 1. 10/9/2011 Dr. Buchman Attila Informatikai Rendszerek és Hálózatok Tanszék

STATISZTIKAI PROBLÉMÁK A

Gazdasági matematika II. vizsgadolgozat megoldása, június 10

XIII. Bolyai Konferencia Bodnár József Eötvös József Collegium, ELTE TTK, III. matematikus. A véletlen nyomában

BAGME11NNF Munkavédelmi mérnökasszisztens Galla Jánosné, 2011.

Véletlen bolyongás. Márkus László március 17. Márkus László Véletlen bolyongás március / 31

Bevezetés a hipotézisvizsgálatokba

Normák, kondíciószám

Véletlenszám generátorok

Valószínűségi változók. Várható érték és szórás

Numerikus integrálás április 20.

Hajlított tartó elmozdulásmez jének meghatározása Ritz-módszerrel

Megerősítéses tanulás 7. előadás

Matematikai statisztika c. tárgy oktatásának célja és tematikája

Informatika Rendszerek Alapjai

KÖZELÍTŐ INFERENCIA II.

Differenciálegyenletek numerikus integrálása április 9.

Gépi tanulás. Hány tanítómintára van szükség? VKH. Pataki Béla (Bolgár Bence)

y ij = µ + α i + e ij

x, x R, x rögzített esetén esemény. : ( ) x Valószínűségi Változó: Feltételes valószínűség: Teljes valószínűség Tétele: Bayes Tétel:

Tanmenet a évf. fakultációs csoport MATEMATIKA tantárgyának tanításához

Eseményalgebra. Esemény: minden amirl a kísérlet elvégzése során eldönthet egyértelmen hogy a kísérlet során bekövetkezett-e vagy sem.

Kabos: Statisztika II. t-próba 9.1. Ha ismert a doboz szórása de nem ismerjük a

Statisztika I. 4. előadás Mintavétel. Kóczy Á. László KGK-VMI. Minta Mintavétel Feladatok.

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Végeselem modellezés alapjai 1. óra

Statisztika I. 4. előadás Mintavétel. Kóczy Á. László KGK-VMI. Minta Mintavétel Feladatok.

Biometria az orvosi gyakorlatban. Korrelációszámítás, regresszió

Valószínűségszámítás összefoglaló

Matematikai geodéziai számítások 6.

Matematikai alapok és valószínőségszámítás. Statisztikai becslés Statisztikák eloszlása

Mérési hibák

Közösség detektálás gráfokban

Mintavétel fogalmai STATISZTIKA, BIOMETRIA. Mintavételi hiba. Statisztikai adatgyűjtés. Nem véletlenen alapuló kiválasztás

Funkcionálanalízis. n=1. n=1. x n y n. n=1

4/24/12. Regresszióanalízis. Legkisebb négyzetek elve. Regresszióanalízis

Mátrixhatvány-vektor szorzatok hatékony számítása

Matematikai geodéziai számítások 6.

Ipari matematika 2. gyakorlófeladatok

KÖZELÍTŐ INFERENCIA II.

1. Név:... Neptun Kód:... Feladat: Egy összeszerel½o üzemben 3 szalag van. Mindehárom szalagon ugyanazt

Hipotézis vizsgálatok

Bevezetés az algebrába 2 Differencia- és differenciálegyenlet-rendszerek

14 A Black-Scholes-Merton modell. Options, Futures, and Other Derivatives, 8th Edition, Copyright John C. Hull

Robotok inverz geometriája

Matematika A3 Valószínűségszámítás, 6. gyakorlat 2013/14. tavaszi félév

Biomatematika 2 Orvosi biometria

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

Vektorok, mátrixok, lineáris egyenletrendszerek

Megoldások. ξ jelölje az első meghibásodásig eltelt időt. Akkor ξ N(6, 4; 2, 3) normális eloszlású P (ξ

Abszolút folytonos valószín ségi változó (4. el adás)

Shor kvantum-algoritmusa diszkrét logaritmusra

Regressziós vizsgálatok

Itô-formula. A sztochasztikus folyamatok egyik legfontosabb formulája. Medvegyev Péter Matematika tanszék

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

értékel függvény: rátermettségi függvény (tness function)

Mozgásmodellezés. Lukovszki Csaba. Navigációs és helyalapú szolgáltatások és alkalmazások (VITMMA07)

Adatelemzési eljárások az idegrendszer kutatásban Somogyvári Zoltán

Hipotéziselmélet - paraméteres próbák. eloszlások. Matematikai statisztika Gazdaságinformatikus MSc szeptember 10. 1/58

Mesterséges Intelligencia MI

Gazdasági matematika II. vizsgadolgozat megoldása A csoport

y ij = µ + α i + e ij STATISZTIKA Sir Ronald Aylmer Fisher Példa Elmélet A variancia-analízis alkalmazásának feltételei Lineáris modell

Gazdasági matematika II. vizsgadolgozat, megoldással,

Általánosan, bármilyen mérés annyit jelent, mint meghatározni, hányszor van meg

Molekuláris dinamika I. 10. előadás

egyenletesen, és c olyan színű golyót teszünk az urnába, amilyen színűt húztunk. Bizonyítsuk

TERMÉKSZIMULÁCIÓ. Dr. Kovács Zsolt. Végeselem módszer. Elıadó: egyetemi tanár. Termékszimuláció tantárgy 6. elıadás március 22.

Adaptív dinamikus szegmentálás idősorok indexeléséhez

GPU alkalmazása az ALICE eseménygenerátorában

biometria II. foglalkozás előadó: Prof. Dr. Rajkó Róbert Matematikai-statisztikai adatfeldolgozás

Sajátértékek és sajátvektorok. mf1n1a06- mf1n2a06 Csabai István

Numerikus integrálás április 18.

Adatbányászati szemelvények MapReduce környezetben

n n (n n ), lim ln(2 + 3e x ) x 3 + 2x 2e x e x + 1, sin x 1 cos x, lim e x2 1 + x 2 lim sin x 1 )

Compressed Sensing. Sipos Roland Adatbányászat szeminárium Május 22.

Átírás:

Alapja a véletlen minták kiértékelése Matematikai rendszerek Fizikai szimuláció Sok szabadság fokú csatolt rendszerek Folyadékok, sejt struktúrák, kapcsolt szilárd rendszerek Nagy bizonytalanságú rendszerek Üzleti modellek, kockázat elemzés Nagy dimenziójú integrálok Összetett peremfeltételek

Története 1930, Enrico Fermi Neutron diffúzió 1946, Stanislaw Ulam Manhattan project Nukleáris árnyékolás Neutronok szabad úthossza különböző anyagokban Energia változás szóródás közben Analitikusan nem volt megoldható Neumann János nevezte el Monakói Monte Carlo kaszinó alapján

Monte Carlo szimuláció Valószínűség eloszlás mintavételezése A minták alapján lehetséges kimenetek meghatározása A lehetséges kimenetek valószínűségének számítása

Numerikus integrálás Kis dimenzió esetén jól működik Nagy dimenzió esetén problémás A függvény kiértékelések száma robbanásszerűen nő A peremfeltételeket nem könnyű 1D integrálokra visszavezetni Monte Carlo integrálás Véletlen mintapontokban az integrál kiértékelése Az eredmények átlagolása Konvergencia 1/ N, a nagy számok törvénye alapján

Monte Carlo integrálás V b a n n b a b a d x x f x x x f dx dx dx I n n, 1, 2, 2 1 2 2 1 1 N i i n f V x f N V Q I 1 1 N N Q I lim

Monte Carlo integrálás hibája Var f 2 N 1 N 1 N x f f i1 2 Var Q N V Var Var f N N i1 Y i V N i1 Var 2 2 2 N N Y i ha sorozat korlátos, akkor a variancia nullához tart aszimptotikusan 1/ N -nel 2 2 2 1, 2,, n

Monte Carlo integrálás hibája Q N Var Q N V 2 N N a hiba 1/ N -nel csökken

1D Monte Carlo integrálás / 2 I sin( x) dx 0 cos x cos / 2 cos 0 1 / 2 0

Hatékonyan implementálható a GPU-n Független minták kiértékelhetőek szálanként Az eredmény redukcióval számítható #define M_PIP2 1.57796327f kernel void mcint1d(const int samplenumber, global float* integral){ int id = get_global_id(0); float w = 1.0f / samplenumber; float partialintegral = 0.0f; for(int i = 0; i < samplenumber; ++i){ float rnd = (float)rand(); partialintegral += sin(rnd * M_PIP2) * w * M_PIP2; integral[id] = partialintegral;

1D Monte Carlo integrálás Minták száma Integrál 1+e1 0.981062 1+e1 1.04901 1+e3 1.00353 1+e4 1.0059 1+e5 1.00888 1+e6 1.00751 1+e7 1.00716

A Monte Carlo módszerek lelke Hogyan generálhatóak? Milyen tulajdonságaik vannak? http://xkcd.com/221/

Valódi véletlen szám generátor Valamilyen fizikai folyamat alapján Atmoszférikus zaj (random.org) Hardware megszakítások (linux kernel) Radioaktív bomlások száma és ideje Kvantum mechanikai folyamatok Titkosításhoz használják elsődlegesen Tipikusan lassú és nehézkes a használatuk

Kvázi random szám generátor A cél az n dimenziós tér egyenletes kitöltése A konstrukció során alacsony diszkrepancia Halton sorozat Sobol sorozat van der Corput sorozat Magasabb dimenzióknál nehézkes lehet alkalmazni

Álvéletlen szám generátor Determinisztikus algoritmusok Legyen hasonlóan kaotikus mint a valódi véletlen Legyen hosszú a periódus ideje Problémák Bizonyos kiinduló állapotokra a periódus rövidül Nagy mintaszámnál sérülhet az eloszlás Korrelálhatnak a generált minták Nagy dimenziókra kiterjesztés

A véletlen számok minősége kulcsfontosságú! Statisztikai minőség Mennyire kaotikus? Mennyire jó eloszlást generál? Periódus hossz Mikor kapunk vissza egy korábbi minta sorozatot? Diszkrepancia Mennyire egyenletesen tölti ki a teret?

Diehard tesztek Születésnap paradoxon Véletlen pontok távolságának exponenciális eloszlásúnak kell lennie. Squeeze teszt Szorozzuk a 2 31 -ent [0:1] közötti véletlen számmal addig amíg az eredmény 1 lesz. A szükséges szorzások számának azonos eloszlásúnak kell lennie mint az eredeti eloszlás. Parkoló teszt Helyezzünk el véletlenszerűen egység köröket egy 100x100-as négyzetben. Amennyiben az aktuális kör átlapolódna egy másikkal válasszunk új pozíciót. 12,000 próba után a sikeresen elhelyezett körök száma normál eloszlást kell kövessen.

A determinisztikus generátor körbe fog fordulni! A kérdés az, hogy mikor! Mitől függ a periódus hossza? Hogyan növelhető? Mikor elfogadható a periódus? Ha n véletlen mintát használunk, a periódus legyen legalább n 2

Mennyire egyenletesek a generált minták? lim n s, 1, s n c, d Diszkrepancia D( N) n sup acd b d c b a s,, s c, d 1 n N d c b a A sorozat egyenletes eloszlású, ha lim N 0 D N

Halton sorozat Kvázi véletlen, alacsony diszkrepanciájú sorozat FUNCTION(index, base) BEGIN result = 0; f = 1 / base; i = index; WHILE (i > 0) BEGIN result = result + f * (i % base); i = FLOOR(i / base); f = f / base; END RETURN result; END b = 2 1/2 1/4 3/4 1/8 5/8 3/8 7/8 1/16 9/16 b = 3 1/3 2/3 1/9 4/9 7/9 2/9 5/9 8/9 1/27

kernel void haltonsequence(const int randomnumbers, const int base, global float* randomgpu){ int id = get_global_id(0); int maxid = get_global_size(0); float inv_base = 0.0; float rng = 0.0; seedhalton(id * randomnumbers, base, &inv_base, &rng); for(int i=0; i < randomnumbers; ++i){ randomgpu[id+i*maxid]=stephalton(&rng, inv_base);

void seedhalton(ulong i, int base, float* inv_base, float* value){ float f = (*inv_base) = 1.0/base; (*value) = 0.0; while( i > 0){ (*value) += f * (float)(i % base); i /= base; f *= (*inv_base);

float stephalton(float *value, float inv_base){ float r = 1.0 - (*value) - 0.0000000001; if(inv_base < r) { (*value) += inv_base; else { float h = inv_base, hh; do{ hh = h; h *= inv_base; while (h >= r); (*value) += hh + h - 1.0; return (*value);

Lineáris kongruencia generátor Knuth (1969) Átmenet függvény: Könnyen implementálható Ismert statisztikai hibái vannak! x m ax n1 n c mod

uint steplcg(uint *z, uint A, uint C){ return (*z) = (A * (*z) + C); kernel void randomlcg(const int randomnumbers, global float* randomsseed, global float* randomgpu){ int id = get_global_id(0); int maxid = get_global_size(0); uint rng = randomsseed[id]; for(int i=0; i < randomnumbers; ++i){ randomgpu[id + i * maxid] = (float)steplcg(&rng, 1664525, 1013904223UL) / 0xffffffff;

Késleltetett Fibonacci Generátor Knuth (1969) Átmenet függvény: Statisztikailag jó, ha k nagy Nagy állapot változó tér x x x mod m n1 n nk

uint steplfg(uint *z, global uint *znmk, uint A, uint C){ return (*znmk) = (*z) = (A * (*z) + C) + (*znmk); kernel void randomlfg(const int randomnumbers, global float* randomsseed, const int randomstatesize, global uint* randomstate, global float* randomgpu){ int id = get_global_id(0); int maxid = get_global_size(0); // bootstrap uint rng = randomsseed[id]; for(int i=0; i < randomstatesize; ++i){ randomstate[id + i * maxid] = steplcg(&rng, 1664525, 1013904223UL); // Lagged Fibonacci Generator int nmkindex = 0; for(int i=0; i < randomnumbers; ++i){ randomgpu[id + i * maxid] = (float)steplfg(&rng, &randomstate[nmkindex], 1664525, 1013904223UL) / 0xffffffff; nmkindex = (nmkindex + 1) % randomstatesize;

Kombinált Tausworthe Generátor Az alapja egy bináris mátrix transzformáció Vektor sorozatokat állít elő A független sorozatokat kombinálja Nagyobb peridóus idejű (pl. 2 113 ) Magasabb dimenziókban korrelációt mutathat!

uint stepctg(uint *z, uint S1, uint S2, uint S3, uint M){ uint b=((((*z)<<s1)^(*z))>>s2); return (*z) = ((((*z)&m)<<s3)^b); kernel void randomctg(const int randomnumbers, global float2* randomsseed, global float* randomgpu){ int id = get_global_id(0); int maxid = get_global_size(0); uint rng1 = randomsseed[id].x; uint rng2 = randomsseed[id].y; for(int i=0; i < randomnumbers; ++i){ uint randnum = stepctg(&rng1, 13, 19, 12, 4294967294UL)^ stepctg(&rng2, 2, 25, 4, 4294967288UL); randomgpu[id + i * maxid] = (float)randnum / 0xffffffff;

Hibrid Generátor Különböző típusú generátor kombinációja Pl. Lineáris Kongruencia és Tausworthe Jobb statisztikai tulajdonság és hosszabb periódus float stephybrid(uint* rng1, uint* rng2, uint* rng3, uint* rng4){ return 2.3283064365387e-10 * ( // 2^121 stepctg(rng1, 13, 19, 12, 4294967294UL) ^ // 2^31-1 stepctg(rng2, 2, 25, 4, 4294967288UL) ^ // 2^30-1 stepctg(rng3, 3, 11, 17, 4294967280UL) ^ // 2^28-1 steplcg(rng4,1664525,1013904223ul) // 2^32 );

Mersenne Twister Makoto Matsumo és Takuji Nishimura (1997) Periódus ideje egy Mersenne prím szám Mersenne prím: M p 2 p 1 Nagyon nagy periódus idő (2 19937-1) Nagyon jó statisztikai tulajdonságokkal rendelkezik

kernel void MersenneTwister( global float* d_rand, global mt_struct_stripped* d_mt, int nperrng){ int globalid = get_global_id(0); int istate, istate1, istatem, iout; unsigned int mti, mti1, mtim, x; unsigned int mt[mt_nn], matrix_a, mask_b, mask_c; //Load bit-vector Mersenne Twister parameters matrix_a = d_mt[globalid].matrix_a; mask_b = d_mt[globalid].mask_b; mask_c = d_mt[globalid].mask_c; //Initialize current state mt[0] = d_mt[globalid].seed; for (istate = 1; istate < MT_NN; istate++) mt[istate] = (1812433253U * (mt[istate - 1] ^ (mt[istate - 1] >> 30)) + istate) & MT_WMASK; istate = 0; mti1 = mt[0]; for (iout = 0; iout < nperrng; iout++) { istate1 = istate + 1; istatem = istate + MT_MM; if(istate1 >= MT_NN) istate1 -= MT_NN; if(istatem >= MT_NN) istatem -= MT_NN; mti = mti1; mti1 = mt[istate1]; mtim = mt[istatem]; // MT recurrence x = (mti & MT_UMASK) (mti1 & MT_LMASK); x = mtim ^ (x >> 1) ^ ((x & 1)? matrix_a : 0); mt[istate] = x; istate = istate1; //Tempering transformation x ^= (x >> MT_SHIFT0); x ^= (x << MT_SHIFTB) & mask_b; x ^= (x << MT_SHIFTC) & mask_c; x ^= (x >> MT_SHIFT1); //Convert to (0, 1] float and write to global memory d_rand[globalid + iout * MT_RNG_COUNT] = ((float)x + 1.0f) / 4294967296.0f;

Végtelen sok minta esetén végtelenül pontos eredményt kapunk. Nem túl praktikus Mitől függ az integrálás pontossága? A minták szórásától: μ = 1 n i=1 n V X 1 n 1 x i E X n i=1 x i μ 2 Hogyan befolyásolható a szórás?

Adaptív mintavételezés Állítsunk felső korlátot a szórásra Iteratívan értékeljük ki a mintákat Számítsuk újra a várható értéket és a szórást Amennyiben a szórás a korlát alá kerül a várható érték jó közelítése az integrálnak! A nehézség a felső korlát meghatározása Kevés minta esetén nem biztos, hogy jó az eredmény! (Egy darab minta szórása nulla!)

Rétegzett mintavételezés A minták tartományát csökkentve csökken a szórás Osszuk fel a teljes tartományt kisebb régiókra és függetlenül mintavételezzük! V X + Y = V X + V Y Minden régióba kell mintának esnie, így nő a szükséges minták száma!

Fontosság szerinti mintavétel Egy minta hozzájárulása: f, f a minta értéke és p a p mintához tartozó valószínűség Egyenletes mintavételezés esetén egy kis valószínűségű minta elrontja az átlagot. Válasszuk a minták valószínűségét az értékükkel arányosan! Az eloszlás hasonlítson az integrandusra Valószínűségi súlyozást alkalmazzunk

Differenciál egyenlet Az ismeretlen deriváltjai is megjelennek benne 0 ) ( d d d d 2 2 2 2 2 y x x y x x y x Bessel féle differenciál egyenlet t t t t S t S dw d ds Black Scholes differenciál egyenlet

Black-Scholes egyenlet Részvény ár változás t t S t : a részvény t időpontbeli ára :a sztochasztikus folyamat átlagának változása (stochastic drift) : az ár változási valószínűsége (volatility) W :Wiener féle sztochasztikus folyamat (Brown mozgás) ds S dt S t dw t

Monte Carlo szimuláció Egymástól független trajektóriák számítása Várható érték számítás Szórás számítás N t S t S E N i i 1 ) ( )] ( [ ) ) ( ( )) ( ( ) ( 2 2 t S E t S E t