Markov chain Monte Carlo
Author
Albert FloresMarkov 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)
Important
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 mohou 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.
Související články
Bayesovská statistika * Bayesovská síť * Coupling from the past * Gibbsovo vzorkování * Metoda Quasi-Monte Carlo * Hybridní Monte Carlo * Metropolisův-Hastingsův algoritmus * Multiple-try Metropolis * Částicový filtr * Reversible-jump * Slice sampling * Paralelní temperování alias Replika exchange MCMC vzorkování
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.