Podczas pracy z łańcuchem Markowa Monte Carlo w celu wyciągnięcia wniosku, potrzebujemy łańcucha, który szybko się miesza, tzn. Szybko porusza się podparcie dystrybucji tylnej. Ale nie rozumiem, dlaczego potrzebujemy tej właściwości, ponieważ z tego, co rozumiem, zaakceptowane losowania kandydujące powinny i będą koncentrować się w części o dużym zagęszczeniu rozkładu bocznego. Jeśli to, co rozumiem, jest prawdą, to czy nadal chcemy, aby łańcuch poruszał się przez podporę (która obejmuje część o niskiej gęstości)?
Ponadto, jeśli korzystam z MCMC do optymalizacji, czy nadal muszę dbać o szybkie miksowanie i dlaczego?
Dziękuję ci, że wyraziłeś swoje zdanie!
Odpowiedzi:
Idealny algorytm Monte Carlo wykorzystuje niezależne kolejne losowe wartości. W MCMC kolejne wartości nie są niezależne, co powoduje, że metoda zbiega się wolniej niż idealna metoda Monte Carlo; jednak im szybciej się miesza, tym szybciej zależność zanika w kolejnych iteracjach¹ i tym szybciej się zbiega.
¹ Mam tutaj na myśli to, że kolejne wartości są szybko „prawie niezależne” od stanu początkowego, a raczej biorąc pod uwagę wartość w jednym punkcie, wartości stają się szybko „prawie niezależne” od miarę wzrostu ; więc, jak mówi qkhhly w komentarzach, „łańcuch nie utknie w pewnym obszarze przestrzeni państwowej”.X ń + k X n kXn Xń +k Xn k
Edycja: Myślę, że poniższy przykład może pomóc
Wyobraź sobie, że chcesz oszacować średnią rozkładu równomiernego na według MCMC. Zaczynasz od uporządkowanej sekwencji ( 1 , … , n ) ; na każdym kroku wybierasz k > 2 elementów w sekwencji i losowo je tasujesz. Na każdym kroku zapisywany jest element w pozycji 1; zbiega się to z rozkładem równomiernym. Wartość k kontroluje szybkość mieszania: gdy k = 2 , jest powolna; gdy k = n , kolejne elementy są niezależne, a mieszanie jest szybkie.{ 1 , … , n } ( 1 , … , n ) k > 2 k k = 2 k = n
Oto funkcja R dla tego algorytmu MCMC:
Zastosujmy go dla i wykreślmy kolejne oszacowanie średniej μ = 50 wzdłuż iteracji MCMC:n = 99 μ = 50
Widać tutaj, że dla (na czarno) konwergencja jest powolna; dla k = 50 (na niebiesko) jest ono szybsze, ale wciąż wolniejsze niż dla k = 99 (na czerwono).k = 2 k = 50 k = 99
Możesz również wykreślić histogram dla rozkładu szacowanej średniej po ustalonej liczbie iteracji, np. 100 iteracji:
źródło
W uzupełnieniu obu wcześniejszych odpowiedzi mieszanie jest tylko jednym aspektem konwergencji MCMC. Jest to rzeczywiście bezpośrednio związane z szybkością zapominania o wartości początkowej lub rozkładzie łańcucha Markowa . Na przykład matematyczne pojęcie mieszania α jest zdefiniowane przez miarę( Xn) α
O twoim konkretnym komentarzu, że
źródło
Założenia, które motywują pragnienie szybkiego mieszania łańcucha, polegają na tym, że zależy ci na czasie obliczeniowym i że chcesz reprezentatywnej próbki z tyłu. To pierwsze będzie zależeć od złożoności problemu: jeśli masz mały / prosty problem, może nie mieć znaczenia, czy Twój algorytm jest wydajny. To ostatnie jest bardzo ważne, jeśli interesuje Cię niepewność a posteriori lub znajomość środka a posteriori z dużą precyzją. Jeśli jednak nie zależy ci na reprezentatywnej próbce tylnej, ponieważ używasz MCMC do przybliżonej optymalizacji, może to nie być dla ciebie bardzo ważne.
źródło