Gibbsin näytteenotto

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 6. kesäkuuta 2019 tarkistetusta versiosta . vahvistus vaatii 1 muokkauksen .

Gibbsin näytteenotto  on algoritmi näytteen muodostamiseksi satunnaismuuttujien joukon yhteisjakaumasta . Sitä käytetään yhteisjakauman arvioimiseen ja Monte Carlo - integraalien laskemiseen . Tämä algoritmi on Metropolis-Hastings-algoritmin erikoistapaus, ja se on nimetty fyysikko Josiah Gibbsin mukaan .

Gibbsin otanta on merkittävä siinä mielessä, että se ei vaadi eksplisiittistä yhteisjakaumaa, vaan vain ehdollisia todennäköisyyksiä jakauman jokaiselle muuttujalle. Algoritmi kussakin vaiheessa ottaa yhden satunnaismuuttujan ja valitsee sen arvon edellyttäen, että muut ovat kiinteitä. Voidaan osoittaa, että saatujen arvojen sarja muodostaa toistuvan Markov-ketjun , jonka vakaa jakauma on juuri haluttu yhteisjakauma.

Gibbsin otantaa käytetään tapauksissa, joissa satunnaismuuttujien yhteisjakauma on erittäin suuri tai eksplisiittisesti tuntematon, mutta ehdolliset todennäköisyydet tunnetaan ja niillä on yksinkertainen muoto. Gibbs-näytteenottoa käytetään erityisen hyvin jälkitodennäköisyyksien käsittelyyn Bayesin verkoissa , koska niille annetaan kaikki tarvittavat ehdolliset todennäköisyydet .

Algoritmi

Olkoon satunnaismuuttujien yhteinen jakauma, ja se voi olla hyvin suuri. Oletetaan , että olemme jo valinneet jonkin arvon vaiheessa . Jokaisessa vaiheessa suoritetaan seuraavat toimet:

  1. Hakemisto on valittu ).
  2. on valittu jakauman mukaan, ja muiden indeksien arvo ei muutu: (j≠i).

Käytännössä indeksi ei yleensä valita satunnaisesti, vaan peräkkäin. Algoritmi on yksinkertainen eikä vaadi erityisiä tietoja ja oletuksia, minkä vuoksi se on suosittu.

Esimerkki

Olkoon kolmen satunnaismuuttujan yhteinen jakauma, joista jokainen on välillä 0-10.

Oletetaan, että vektorin alkuarvo, josta iteratiivinen prosessi alkaa, on .

Seuraavaksi korjataan ja , jonka jälkeen lasketaan ehdollinen todennäköisyys käyttäen kaavaa etukäteen , eli saadaan jokin kuvaaja muuttujan todennäköisyystiheydestä . Sen, minkä alun perin asetimme 5:ksi, unohdamme, tätä arvoa ei enää tarvita.

Nyt sinun on suoritettava näytteenotto - luoda uusi satunnaisarvo saadun todennäköisyystiheyden mukaisesti. Näytteenotto voidaan tehdä esimerkiksi varianssinäytteenottoalgoritmin mukaan . Tätä varten generoidaan satunnaisluku tasaisesti 0-10, minkä jälkeen lasketaan sen todennäköisyys tälle generoidulle luvulle todennäköisyystiheyskaavion mukaisesti .

Esim. generoidaan satunnaisluku 4 ja sen todennäköisyys on tiheysgraafin mukaan 0,2. Sitten varianssinäytteenottoalgoritmin mukaan hyväksymme tämän generoidun luvun todennäköisyydellä 0,2. Ja tätä varten generoimme puolestaan ​​toisen satunnaisluvun 0:sta 1:een tasaisella jakautumisella, ja jos syntyy luku, joka on pienempi kuin 0,2, hyväksymme luvun 4 onnistuneeksi. Muussa tapauksessa toistamme alusta - luomme toisen luvun (esimerkiksi 3 putoaa), sille löydämme todennäköisyyden (esimerkiksi 0,3), sille luomme toisen luvun 0 - 1 (esimerkiksi 0,1) ja sitten lopulta hyväksymme sen tässä iteraatiossa .

Seuraavaksi sinun on toistettava kaikki yllä olevat vaiheet arvolla , ja käytämme jo "uutta" - esimerkissämme yhtä suuri kuin 3. Laskemme siis todennäköisyystiheyden , luomme jälleen satunnaisluvun ehdokkaan roolille uutta arvoa varten tee näyte poikkeamalla ja toista se, jos arvo "hylätään".

Samoin toiminnot toistetaan uusilla arvoilla ja . Gibbsin näytteenottoalgoritmin ensimmäinen iteraatio on valmis. Useiden satojen/tuhansien tällaisten iteraatioiden jälkeen satunnaisarvojen tulisi saavuttaa maksimi tiheys, joka voidaan sijoittaa riittävän kauas ensimmäisestä approksimaatiostamme ja ottaa näytteitä kyseiseltä alueelta. Tuhatta iteraatiota voidaan jo käyttää aiottuun tarkoitukseen (esim. matemaattisen odotuksen etsimiseen ) näytteenä halutun jakauman arvoista, jotka eivät riipu alkuperäisestä vektorista .

Katso myös

Linkit