Markov chain Monte Carlo
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ů.

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ů.
 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. 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. 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ě. 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. 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. 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, An Introduction to MCMC for Machine Learning, 2003
 
 
 
 
  (Basic summary and many references.)
 
  (See Chapter 11.)

Externí odkazy 
 MCMC sampling and other methods in a basic overview, by Alexander Mantzaris (original link - now broken), Vzorkování MCMC a jiné metody v základním přehledu
 Visual demonstration of MCMC sampling methods (Java applet), by Laird Breyer, Vizuální znázornění metod MCMC odběru vzorků
 A Toy Example of MCMC sampling, by Zhiyuan Weng, Jednoduchý příklad MCMC vzorkování
 MCL - a cluster algorithm for graphs, by Stijn van Dongen, MCL - klastrovací algoritmus pro grafy
 PyMC  - Pythonovský modul implementující Bayesovské statistické modely a fitovací algoritmů, včetně Markov chain Monte Carlo.

Bayesovská statistika