Satunnaislukujen generointi

Samankaltaiset tiedostot
Tutkimustiedonhallinnan peruskurssi

Tutkimustiedonhallinnan peruskurssi

Parametrin estimointi ja bootstrap-otanta

The Metropolis-Hastings Algorithm

Tilastollisia peruskäsitteitä ja Monte Carlo

Sovellettu todennäköisyyslaskenta B

Harjoitus 2: Matlab - Statistical Toolbox

Generointi yksinkertaisista diskreeteistä jakaumista

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Satunnaismuuttujien muunnokset ja niiden jakaumat

Johdatus todennäköisyyslaskentaan Satunnaismuuttujien muunnokset ja niiden jakaumat. TKK (c) Ilkka Mellin (2004) 1

Ilkka Mellin Todennäköisyyslaskenta. Osa 2: Satunnaismuuttujat ja todennäköisyysjakaumat. Momenttiemäfunktio ja karakteristinen funktio

Teoria. Satunnaismuuttujan arvonta annetusta jakaumasta

Todennäköisyyslaskun kertaus. Heliövaara 1

Todennäköisyyslaskun kertaus. Vilkkumaa / Kuusinen 1

Osa 2: Otokset, otosjakaumat ja estimointi

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Johdatus todennäköisyyslaskentaan Momenttiemäfunktio ja karakteristinen funktio. TKK (c) Ilkka Mellin (2005) 1

Käytetään satunnaismuuttujaa samoin kuin tilastotieteen puolella:

Otosavaruus ja todennäköisyys Otosavaruus Ë on joukko, jonka alkiot ovat kokeen tulokset Tapahtuma on otosavaruuden osajoukko

Tutkimustiedonhallinnan peruskurssi

Sovellettu todennäköisyyslaskenta B

Ilkka Mellin Tilastolliset menetelmät Osa 2: Otokset, otosjakaumat ja estimointi Estimointi

Lisää Diskreettejä jakaumia Lisää Jatkuvia jakaumia Normaalijakaumasta johdettuja jakaumia

4.1. Olkoon X mielivaltainen positiivinen satunnaismuuttuja, jonka odotusarvo on

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

Tehtäväsarja I Tehtävät 1-5 perustuvat monisteen kappaleisiin ja tehtävä 6 kappaleeseen 2.8.

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Todennäköisyyslaskenta IIa, syys lokakuu 2019 / Hytönen 3. laskuharjoitus, ratkaisuehdotukset

Tilastomatematiikka Kevät 2008

Ilkka Mellin Todennäköisyyslaskenta Osa 3: Todennäköisyysjakaumia Jatkuvia jakaumia

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Sovellettu todennäköisyyslaskenta B

Generoivat funktiot, Poisson- ja eksponenttijakaumat

Johdatus tilastotieteeseen Estimointi. TKK (c) Ilkka Mellin (2005) 1

2. Jatkoa HT 4.5:teen ja edelliseen tehtavään: Määrää X:n kertymäfunktio F (x) ja laske sen avulla todennäköisyydet

7.4 Sormenjälkitekniikka

P (A)P (B A). P (B) P (A B) = P (A = 0)P (B = 1 A = 0) P (B = 1) P (A = 1)P (B = 1 A = 1) P (B = 1)

(b) Onko hyvä idea laske pinta-alan odotusarvo lähetmällä oletuksesta, että keppi katkeaa katkaisukohdan odotusarvon kohdalla?

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Todennäköisyysjakaumia

Poisson-prosessien ominaisuuksia ja esimerkkilaskuja

Tilastotieteen kertaus. Vilkkumaa / Kuusinen 1

HY, MTO / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIa, syksy 2018 Harjoitus 3 Ratkaisuehdotuksia.

Kertausluento. Tilastollinen päättely II - 2. kurssikoe

tilastotieteen kertaus

Johdatus todennäköisyyslaskentaan Jatkuvia jakaumia. TKK (c) Ilkka Mellin (2005) 1

Seurauksia. Seuraus. Seuraus. Jos asteen n polynomilla P on n erisuurta nollakohtaa x 1, x 2,..., x n, niin P on muotoa

Todennäköisyyden ominaisuuksia

Tilastotieteen kertaus. Kuusinen/Heliövaara 1

Jatkuvat satunnaismuuttujat

1. Kuusisivuista noppaa heitetään, kunnes saadaan silmäluku 5 tai 6. Olkoon X niiden heittojen lukumäärä, joilla tuli 1, 2, 3 tai 4.

Miten voidaan arvioida virheellisten komponenttien osuutta tuotannossa? Miten voidaan arvioida valmistajan kynttilöiden keskimääräistä palamisaikaa?

Johdatus todennäköisyyslaskentaan Normaalijakaumasta johdettuja jakaumia. TKK (c) Ilkka Mellin (2005) 1

Estimointi. Estimointi. Estimointi: Mitä opimme? 2/4. Estimointi: Mitä opimme? 1/4. Estimointi: Mitä opimme? 3/4. Estimointi: Mitä opimme?

30A02000 Tilastotieteen perusteet

Maximum likelihood-estimointi Alkeet

2 exp( 2u), kun u > 0 f U (u) = v = 3 + u 3v + uv = u. f V (v) dv = f U (u) du du f V (v) = f U (u) dv = f U (h(v)) h (v) = f U 1 v (1 v) 2

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Gripenberg. MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi Tentti ja välikoeuusinta

3. laskuharjoituskierros, vko 6, ratkaisut

Todennäköisyyslaskennan ja tilastotieteen peruskurssi Esimerkkikokoelma 3

Tilastollisen analyysin perusteet Luento 6: Korrelaatio ja riippuvuus tilastotieteessä

Tilastollinen aineisto Luottamusväli

MAT Todennäköisyyslaskenta Tentti / Kimmo Vattulainen

Estimointi. Vilkkumaa / Kuusinen 1

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

MAT Todennäköisyyslaskenta Tentti / Kimmo Vattulainen

JATKUVAT JAKAUMAT Laplace-muunnos (Laplace-Stieltjes-muunnos)

MTTTA1 Tilastomenetelmien perusteet 5 op Luento Kokonaisuudet johon opintojakso kuuluu

Sovellettu todennäköisyyslaskenta B

D ( ) Var( ) ( ) E( ) [E( )]

Mat Sovellettu todennäköisyyslasku A

Tilastollinen päättely. 5. Väliestimointi Johdanto Luottamusvälien konstruointi Luottamusvälien vertailu

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Esimerkki: Tietoliikennekytkin

Normaalijakaumasta johdettuja jakaumia

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

ABHELSINKI UNIVERSITY OF TECHNOLOGY

0 kun x < 0, 1/3 kun 0 x < 1/4, 7/11 kun 1/4 x < 6/7, 1 kun x 1, 1 kun x 6/7,

Datan käsittely R-ohjelmistolla

Signaalien generointi

5. laskuharjoituskierros, vko 8, ratkaisut

MTTTA1 Tilastomenetelmien perusteet 5 op Luento , osa 1. 1 Kokonaisuudet johon opintojakso kuuluu

Ilkka Mellin (2008) 1/5

Sovellettu todennäköisyyslaskenta B

Johdatus tilastotieteeseen Testit laatueroasteikollisille muuttujille. TKK (c) Ilkka Mellin (2004) 1

Harjoitus 7: NCSS - Tilastollinen analyysi

Satunnaismuuttujan odotusarvo ja laskusäännöt

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Ilkka Mellin Todennäköisyyslaskenta. Osa 3: Todennäköisyysjakaumia. Diskreettejä jakaumia. TKK (c) Ilkka Mellin (2007) 1

Väliestimointi (jatkoa) Heliövaara 1

Mat Sovellettu todennäköisyyslasku A

Harjoitus 8: Monte Carlo -simulointi (Matlab)

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

031021P Tilastomatematiikka (5 op) viikko 2

x 4 e 2x dx Γ(r) = x r 1 e x dx (1)

Harjoitus 8: Monte-Carlo simulointi (Matlab)

Transkriptio:

Satunnaislukujen generointi Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 1/27 Kevät 2003

Lähteet Knuth, D., The Art of Computer Programming, Volume 2: Seminumerical Algorithms, luku 3 Numerical Recipes in C, luku 7 Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 2/27 Kevät 2003

Johdanto edellä olemme tutustuneet menetelmiin, jotka perustuvat satunnaislukujen generointiin Monte Carlo -testaus: generoidaan arvoja tunnetusta populaatiojakaumasta satunnaistustestaus: muodostetaan (kahden) otoksen permutaatioita bootstrap: generoidaan pseudo-otoksia valitsemalla satunnaisesti alkioita otoksesta takaisinpanolla Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 3/27 Kevät 2003

Johdanto (2) satunnaistus ja bootstrap edellyttävät satunnaislukujen generoimista tasaisesta jakaumasta tasaisesti jakautuneiden satunnaislukujen generointiin ohjelmointikielissä kirjastofunktiot Monte Carlo -testauksen kohdalla populaatiojakauma voi luonnollisesti olla mikä tahansa jakauma kuinka generoidaan satunnaislukuja muista kuin tasaisista jakaumista? vaikka populaatiojakauma tunnettaisiinkin, ei välttämättä ole aivan suoraviivaista generoida siitä otoksia Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 4/27 Kevät 2003

Diskreettejä jakaumia satunnaismuuttuja noudattaa aina jotakin todennäköisyysjakaumaa jos muuttujan arvot ovat diskreettejä jakauma on diskreetti diskreetin todennäköisyysjakauman määrittää pistetodennäköisyysfunktio p(x), jolle i p(i) = 1 keskeisiä diskreettejä jakaumia: diskreetti tasainen jakauma binomijakauma Poisson-jakauma geometrinen jakauma Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 5/27 Kevät 2003

Keskeisiä jatkuvia jakaumia muuttujan arvot jatkuvia jakauma jatkuva jatkuvan jakauman määrittää tiheysfunktio f(x = x), jolle f(x)dx = 1 tiheysfunktion integraalifunktiota F (x) = P (X x) nimitetään jakaumafunktioksi (kertymäfunktioksi) keskeisiä jatkuvia jakaumia tasainen jakauma, X T as(a, b) f(x = x) = 1 b a, a < x < b normaalijakauma eksponenttijakauma gammajakauma Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 6/27 Kevät 2003

Tasaisesti jakautuneet s-luvut If the numbers are not random, they are at least higgledy-piggledy ( sikin sokin ) GEORGE MARSAGLIA (1984) tietokoneen generoimat satunnaisluvut ovat pseudo-satunnaislukuja deterministisesti määräytyneitä, ei oikeasti satunnaisia mikä on riittävän satunnaista yhdelle sovellukselle ei välttämättä ole sitä toiselle Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 7/27 Kevät 2003

Tasaisesti jakautuneet s-luvut olemassa tilastollisia testejä, joilla testataan satunnaisuutta sama siemenluku periodi alkaa samasta kohdasta sama sarja satunnaislukuja käytännössä siemenluvun voi ottaa esim. systeemin kellonajasta testausvaiheessa on hyvä että siemenluvun voi asettaa käsin yleisin tasaisesti jakautuneiden satunnaislukujen generoimismenetelmä on linear congruential method Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 8/27 Kevät 2003

Linear congruential method m modulus a kertoja c lisäys X 0 alkuarvo satunnaislukusekvenssi saadaan rekursioyhtälöstä X n+1 = (ax n + c) mod m, n 0 menetelmä on syklinen sykliä nimitetään periodiksi parametrien m, a, c valinta on erittäin keskeinen kysymys toimivuuden kannalta Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 9/27 Kevät 2003

Kertymäfunktio ja sen käänteisfunktio Helsingin yliopisto todennäköisyysjakauma voidaan siis ilmaista sen kertymäfunktion F (x) = P (X x) avulla F (x) on aina monotoninen (kasvava) funktio siis F (x 1 ) F (x 2 ), jos x 1 x 2 F saa arvot välillä [0, 1] kun F (x) on jatkuva ja aidosti kasvava, sillä on käänteisfunktio F 1 (y), 0 < y < 1 y = F (x) jos ja vain jos x = F 1 (y) käänteisfunktiota voidaan käyttää satunnaislukujen generoimiseen kyseisestä jakaumasta Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 10/27 Kevät 2003

Transformaatiomenetelmä olkoon f(y) sen jakauman tiheysfunktio, josta halutaan generoida satunnaislukuja ja F (y) vastaava kertymäfunktio oletetaan että kertymäfunktiolla on käänteisfunktio y = F 1 (x), 0 < x < 1 transformaatiomenetelmä: 1. generoi satunnaisluku x T as(0, 1) 2. y = F 1 (x) on satunnaisluku joka noudattaa haluttua jakaumaa Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 11/27 Kevät 2003

Esimerkki: eksponenttijakauma keskeisin jakauma tasaisen jakauman ja normaalijakauman jälkeen jos tulostimelle saapuu keskimäärin µ tulostuspyyntöä aikayksikköä kohti ja saapumisajat ovat satunnaisia, niiden välit noudattavat eksponenttijakaumaa F (x) = 1 e x/µ, x > 0 siis F 1 (y) = µ log(1 y) µ log(1 U) Exp(µ) koska 1 U on tasaisesti jakautunut silloin kun U on x = µ log U on eksponenttijakautunut odotusarvolla µ Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 12/27 Kevät 2003

Hylkäämismenetelmä rejection sampling myös hyväksymis-hylkäämismenetelmä ei edellytä kertymäfunktion eikä sen käänteisfunktion tuntemista on tunnettava apufunktio g(x), joka saa kaikkialla suuremman arvo kuin f(x) josta otoksia halutaan g:n alan oltava äärellinen Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 13/27 Kevät 2003

Algoritmi olkoon g(x) f(x), kaikilla x R olkoon A = g(x)dx ja G(x) vastaava integraalifunktio jolla on käänteisfunktio joka pystytään laskemaan 1. generoi luku y T as(0, A) 2. kandidaatti x saadaan transformaatiomenetelmellä x = G 1 (y) 3. generoi Z T as(0, g(x)) 4. if z < f(x) tulosta x else goto 1 Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 14/27 Kevät 2003

Toinen muotoilu menetelmälle oletetaan että (i) h on sellaisen jakauman H tiheysfunktio, josta voidaan generoida arvoja (ii) f(x) c h(x), kaikille x, jollakin vakiolla c Algoritmi 1. generoi kandidaatti z H 2. generoi u T as(0, 1) 3. if u f(z)/(ch(z)) return z; else goto 1 tehokkuus riippuu c:stä Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 15/27 Kevät 2003

Hyvin simppeli esimerkki halutaan generoida satunnaislukuja jakaumasta, jonka tiheysfunktio on neljännesympyrän kehä G(x)=cx g(x)=c πr 2 = 4 πr 2 /4 = 1 r = 2/ (π) Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 16/27 Kevät 2003

Jatkoa olkoon apufunktio g(x) = c, c > r G(x) = cx 1. generoidaan satunnaisluku y T as(0, c 2 ) 2. määritetään kandidaatti x = G 1 (y) = y/c 3. generoidaan satunnaisluku u T as(0, g(x) = c) 4. jos f(x) = ( 4 π x2 ) < u palautetaan x muuten palataan kohtaan 1 Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 17/27 Kevät 2003

Tosielämässä monista keskeisistä jakaumista voidaan generoida satunnaislukuja hylkäämismenetelmää käyttäen esim. normaali-, gamma-, Poisson-, binomijakaumat keskeinen apufunktio g on Lorentzin jakauma tiheysfunktio; kyseisen jakauman integraalifunktio on tangenttifunktio Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 18/27 Kevät 2003

Arvojen riippumattomuus hylkäämismenetelmässä jokainen kandidaatti generoitiin siten, että peräkkäiset arvot eivät riippuneet toisistaan jos vakio c suuri, vain pieni osa arvauksista osuu oikeaan avaruus on liian harva, arvaukset osuvat liian harvoin hyvin monimutkaisista jakaumista (paljon ulottuvuuksia ja riippuvuuksia niiden välillä) ei riippumattomia arvoja voi generoida tilastollisessa mallintamisessa saatetaan tarvita otoksia hyvin hankalista jakaumista Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 19/27 Kevät 2003

MCMC-menetelmä Markovin ketju Monte Carlo sallitaan, että peräkkäiset arvot ovat toisistaan riippuvia kun on tehty hyvä arvaus, kokeillaan seuraavaksi jotakin lähellä olevaa arvoa joka kerta kun generoidaan arvoa halutusta jakaumasta, otetaan huomioon edellinen arvo, mutta ei muita Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 20/27 Kevät 2003

Markovin ketju Markovin ketju on jono satunnaismuuttujia siten, että jonon seuraava muuttuja riippuu edellisestä (mutta ei muista) P r(x n X 1,..., X n 1 ) = P r(x n X n 1 ) idea: generoidaan ketju, jonka tilojen jakauma on otos halutusta jakaumasta Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 21/27 Kevät 2003

Algoritmi (Metropolis-Hastings) valitse alkutila x 0 toista K kertaa: generoi kandidaatti x jostakin jakaumasta Q(x) hyväksy x todennäköisyydellä α(x n, x ) muussa tapauksessa aseta x n+1 := x n Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 22/27 Kevät 2003

Käänteisyysehto M-H -algoritmi perustuu käänteisyysehtoon jos kaikille pareille x, y E pätee ketjun tilojen jakauma on f f(x) T (x, y) = f(y) T (y, x) x T(y,x) y T(x,y) kuinka valita siirtymätodennäköisyydet T (x, y)? Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 23/27 Kevät 2003

Milloin pitää hylätä? ilmaistaan käänteisyysehto seuraavasti: f(x) q(x, x ) α(x, x ) = f(x ) q(x, x), α(x, x ) on siis todennäköisyys, että kandidaatti hyväksytään jos f(x) q(x, x ) > f(x ) q(x, x) hyväksytään aina muuten α(x, x ) = f(x ) q(x, x) f(x) q(x, x ). Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 24/27 Kevät 2003

Hyväksymistodennäköisyys M-H -algoritmi edellyttää siis, että f(x ) f(x) pystytään laskemaan käytännön kannalta sopivan ehdotusjakauman Q löytäminen tärkeää Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 25/27 Kevät 2003

Konvergenssi alkutila vaikuttaa tilojen jakaumaan jotta vaikutus eliminoitaisiin tarvitaan lämmittelyjakso, jonka aikana ei vielä kerätä generoituja arvoja mikä on sopiva lämmittelyjakson pituus? vaikea ongelma toinen keskeinen ongelma on, kuinka kauan simulaatiota pitää jatkaa, jotta otos olisi kattava Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 26/27 Kevät 2003

Yhteenveto satunnaislukujen generoiminen halutusta jakaumasta on tarpeen esimerkiksi Monte Carlo -testauksen yhteydessä tietokoneen generoimat satunnaisluvut ovat pseudo-satunnaislukuja tasaisesti jakautuneiden satunnaislukujen avulla voidaan generoida muita jakaumia noudattavia lukuja transformaatiomenetelmä käyttää halutun jakauman kertymäfunktion käänteisfunktiota hylkäämismenetelmässä käytetään apufunktiota josta osataan generoida otoksia ja joka sulkee sisäänsä halutun tiheysfunktion Hannu Toivonen, Marko Salmenkivi, Inkeri Verkamo Tutkimustiedonhallinnan peruskurssi Satunnaislukujen generointi 27/27 Kevät 2003