Markov chain Monte Carlo

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Markov chain Monte Carlo (MCMC, česky asi Monte Carlo pomocí Markovova řetězce) je ve statistice třída algoritmů pro vzorkování z pravděpodobnostního rozdělení založená na konstrukci Markovova řetězce, který má požadované rozdělení jako svou rovnovážnou distribuci. Stav řetězce po několika krocích se pak použije jako vzorek z požadované distribuce. Kvalita vzorku se zvyšuje se zvýšením počtu kroků. Metropolis-Hastings. MCMC se pokusí přiblížit k modré distribuci prostřednictvím oranžové distribuce

Metody Monte Carlo pomocí náhodné procházky tvoří velkou podtřídu MCMC metod.

...

Aplikační domény

MCMC metody jsou primárně využívány pro výpočet numerických aproximací vícerozměrných integrálů, například v Bayesovské statistice, výpočetní fyzice, počítačové biologii a počítačové lingvistice. * V Bayesovské statistice byl nedávný vývoj MCMC metod klíčovým krokem pro možnost počítat velké hierarchické modely, které vyžadují integrace přes více než stovky nebo dokonce tisíce neznámých parametrů. +more * Také se používají pro generování vzorků, které postupně zabydlují/pokrývají řídké oblasti selhání ve vzorkování řídkých událostí.

Klasifikace

Metoda Monte Carlo s náhodnou procházkou

Vícerozměrné integrály

Pokud se použije metoda MCMC pro aproximaci vícerozměrného integrálu, soubor "chodců" se pohybuje náhodně. Pro každý bod, kde chodec zastaví, se hodnota integrandu v tomto bodě započítává do integrálu. +more Chodec pak může provést řadu průběžných kroků po okolí, hledaje místo s přiměřeně velkým přínosem pro integrál, do kterého se přesune v dalším kroku.

Metody Monte Carlo s náhodnou procházkou patří mezi náhodné simulace neboli Monte Carlo metody. Nicméně, náhodné vzorky integrandu používané při běžné Monte Carlo integraci jsou statisticky nezávislé, kdežto ty používané v metodách MCMC jsou korelovány. +more Markovův řetězec je konstruován takovým způsobem, aby měl daný integrand jako svou rovnovážnou distribuci.

Příklady

Příklady metod Monte Carlo s náhodnou procházkou zahrnují následující:

* Metropolisův-Hastingsův algoritmus: Tato metoda generuje náhodnou procházku s využitím navrhované hustoty rozdělení a používá metodu pro odmítnutí některých z navrhovaných vzorků. * Gibbsovo vzorkování: Tato metoda vyžaduje, aby všechny podmíněné distribuce cílové distribuce byly vzorkovány přesně. +more Je populární, částečně proto, že nevyžaduje žádné "ladění". * Slice vzorkování: Tato metoda spočívá na principu, že lze vzorkovat z distribuce pomocí vzorkování rovnoměrně z oblasti pod grafem dané funkce hustoty. Metoda střídá rovnoměrné vzorkování ve svislém směru s rovnoměrným vzorkováním z vodorovného "plátku" (angl. slice) definovaném aktuální vertikální polohou. * Multiple-try Metropolis: Tato metoda je variantou Metropolisova-Hastingsova algoritmu, která umožňuje opakované pokusy v každém bodě. Tím, že je možné vykonat větší kroky při každé iteraci, pomáhá řešit prokletí dimenzionality. * Reversibilní skok: Tato metoda je variantou Metropolisova-Hastingsova algoritmu, která umožňuje návrhy, které mění dimenzionalitu prostoru. MCMC metody, které mění dimenzionalitu, se již dlouho používají v aplikacích statistické fyziky, kde se pro některé problémy používá distribuce, která je velký kanonický soubor (například, když počet molekul v krabici je proměnný). Ale varianta reverzibilního skoku je užitečná, když se dělá MCMC nebo Gibbsovo vzorkování nad neparametrickým bayesovským modelem, například takovým, který zahrnuje Dirichletův proces nebo proces čínské restaurace, kde počet směsných komponent/klasterů/atd. je automaticky odvozen z dat.

Jiné metody MCMC

Markov Chain quasi-Monte Carlo (MCQMC)

Konvergence

Obvykle není těžké sestavit Markovův řetěz s požadovanými vlastnostmi. Obtížnější problém je určit, kolik kroků je zapotřebí ke konvergenci k stacionárnímu rozdělení s přijatelnou chybou. +more Dobrý řetěz bude mít rychlé mísení: stacionární distribuce je dosaženo rychle z libovolné počáteční pozice.

Typicky, MCMC vzorkování pouze aproximuje cílovou distribuci, protože je tam vždy nějaký zbytkový efekt počáteční pozice. Sofistikovanější algoritmy založené na MCMC, jako například coupling from the past můžou produkovat přesné vzorky, za cenu dodatečného výpočtu a neomezeného (i když konečného v očekávání) času běhu.

Mnoho metod Monte Carlo s náhodnou procházkou se pohybuje po rovnovážné distribuci v relativně malých krocích, bez tendence, aby kroky pokračovaly ve stejném směru. Tyto metody jdou snadno implementovat a analyzovat, ale bohužel může trvat dlouhou dobu, než procházka prozkoumá celý prostor. +more Chodec se často vrací zpět a pokrývá již prozkoumaný prostor.

Poznámky

Reference

Christophe Andrieu, Nando De Freitas and Arnaud Doucet, [url=http://www. cs. +moreprinceton. edu/courses/archive/spr06/cos598C/papers/AndrieuFreitasDoucetJordan2003. pdf]An Introduction to MCMC for Machine Learning[/url], 2003 * * * * * (Basic summary and many references. ) * * (See Chapter 11. ).

Externí odkazy

[url=https://web. archive. +moreorg/web/20110531150413/http://www. bioss. ac. uk/students/alexm/MCMCintroPresentation. pdf]MCMC sampling and other methods in a basic overview[/url], by Alexander Mantzaris (original link - now broken), Vzorkování MCMC a jiné metody v základním přehledu * [url=http://www. lbreyer. com/classic. html]Visual demonstration of MCMC sampling methods (Java applet)[/url], by Laird Breyer, Vizuální znázornění metod MCMC odběru vzorků * [url=https://web. archive. org/web/20120316212706/http://www. ece. sunysb. edu/~zyweng/MCMCexample. html]A Toy Example of MCMC sampling[/url], by Zhiyuan Weng, Jednoduchý příklad MCMC vzorkování * [url=http://micans. org/mcl/]MCL - a cluster algorithm for graphs[/url], by Stijn van Dongen, MCL - klastrovací algoritmus pro grafy * [url=http://pymc-devs. github. io/pymc/]PyMC[/url] - Pythonovský modul implementující Bayesovské statistické modely a fitovací algoritmů, včetně Markov chain Monte Carlo.

Kategorie:Bayesovská statistika

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top