MCMC w ograniczonej przestrzeni parametrów?

18

Próbuję zastosować MCMC do problemu, ale moje priorytety (w moim przypadku są to α[0,1],β[0,1] )) są ograniczone do obszaru? Czy mogę użyć normalnego MCMC i zignorować próbki, które wypadną poza strefę ograniczoną (która w moim przypadku wynosi [0,1] ^ 2), tj. Funkcja przejścia do ponownego wykorzystania, gdy nowe przejście wypadnie z obszaru ograniczonego (ograniczonego)?

Cupitor
źródło
@Zen, nie jestem do końca pewien, ale odpowiedź sugerowana przez Xiana brzmi: podpróbować, ale zamiast używać MH, użyć próbnika Gibbsa i powtórzyć, jeśli jedna z wartości wymiaru przekracza granicę, mam rację?
Cupitor
1
Jeśli MH zaproponuje coś poza przestrzenią parametrów, prawdopodobieństwo akceptacji jest ustawione na i wszystko działa dobrze. Myślę MH tylko interpretuje 0 / 0 jako 0 (przejaw 0 = 0 w teorii miary). 00/000=0
facet
@guy, ale zgodnie z dyskusją na stronie Xian (powyższy link autorstwa Zen) wygląda na to, że Gibbs ma przewagę bez podania żadnego powodu!
Cupitor
1
@Cupitor Nie widzę, żeby to mówił. Myślę, że implikacją jest to, że Gabriel robił Metropolis wewnątrz Gibbs.
facet

Odpowiedzi:

27

Masz kilka fajnych, mniej lub bardziej prostych opcji. Twój mundur przełożony pomaga je uprościć.

Opcja 1: Próbnik niezależności. Możesz po prostu ustawić rozkład propozycji równy równomiernemu rozkładowi na kwadrat jednostki, co zapewnia, że ​​próbki nie spadną poza strefę ograniczoną, jak ją nazywasz. Potencjalny minus: jeśli tył jest skoncentrowany w bardzo małym obszarze kwadratu jednostki, możesz mieć bardzo niski wskaźnik akceptacji. OTOH, ciężko jest generować losowe liczby szybciej niż z rozkładu U (0,1). Potencjalny plus: mniej pracy dla Ciebie.

Opcja 2: przekształć parametry w coś, co nie jest ograniczone, przygotuj propozycje transformowanych parametrów, a następnie przekształć parametry z powrotem do użycia w funkcjach prawdopodobieństwa. Zauważ, że w tym przypadku przeor będzie dotyczył przekształconych parametrów, ponieważ to właśnie robisz propozycje, więc będziesz musiał zepsuć jakobian przekształcenia, aby uzyskać nowy przeor. Do celów analizy, liczby losowe parametrów wygenerowanych przez MCMC zostaną przekształcone z powrotem w pierwotne parametry. Potencjalny minus: więcej wstępnych prac dla Ciebie. Potencjalny wzrost: lepszy wskaźnik akceptacji dla twoich propozycji.

Opcja 3: Skonstruuj rozkład propozycji inny niż próbnik niezależności, który jest na kwadracie jednostki. Pozwala to zachować swój mundur wcześniej, ale kosztem większej złożoności przy obliczaniu prawdopodobieństw propozycji. Przykładem tego, gdzie jest bieżącą wartością jednego z twoich parametrów, może być rozkład Beta z parametrami ( n x , n ( 1 - x ) ) . Im większa n , tym bardziej skoncentrowana będzie Twoja propozycja wokół bieżącej wartości. Potencjalny minus: więcej wstępnych prac dla Ciebie. Potencjalny wzrost: lepszy wskaźnik akceptacji dla twoich propozycji - ale jeśli zrobisz nx(nx,n(1x))nn zbyt duży i zbliż się do rogu, możesz skończyć wykonując wiele małych ruchów w rogu przed wyjściem.

Opcja 4: Po prostu odrzuć wszelkie propozycje, które wypadną poza kwadrat jednostki (sugestia Xiana bez przekonania). Zauważ, że to nie to samo, co generowanie kolejnej propozycji; w tym przypadku odrzucasz propozycję, co oznacza, że ​​twoja następna wartość parametru jest taka sama jak bieżąca wartość parametru. Działa to, ponieważ tak by się stało, gdybyś miał wcześniejsze zerowe prawdopodobieństwo dla pewnego regionu przestrzeni parametrów i wygenerował losową liczbę, która spadła w tym regionie. Potencjalny minus: jeśli zbliżysz się do zakrętu, możesz mieć małe prawdopodobieństwo akceptacji i utknąć na chwilę. Potencjalny plus: mniej pracy dla Ciebie.

Opcja 5: Stwórz rozszerzony problem na płaszczyźnie, który na kwadracie jednostki jest taki sam, jak rzeczywisty problem, z którym się stykasz, zrób wszystko dobrze, a następnie, po przetworzeniu wyników próbkowania MCMC, wyrzuć wszystkie próbki na zewnątrz kwadratu jednostkowego. Potencjalna zaleta: jeśli bardzo łatwo jest stworzyć ten rozszerzony problem, może być dla ciebie mniej pracy. Potencjalny minus: jeśli łańcuch Markowa odejdzie na jakiś czas poza kwadrat jednostki, możesz mieć straszne prawdopodobieństwo akceptacji, ponieważ wyrzucisz większość swoich próbek.

Bez wątpienia są inne opcje, chciałbym zobaczyć, co sugerują inni!

Różnica między 2 a 3 jest w pewnym stopniu konceptualna, chociaż ma realne implikacje dla tego, co faktycznie robisz. Prawdopodobnie wybrałbym 3, ponieważ po prostu pozwoliłbym R powiedzieć mi, jakie są prawdopodobieństwa propozycji (jeśli programuję w R) i ilość dodatkowego wysiłku, oprócz pewnego dostrojenia parametru dystrybucji propozycji , wygląda dla mnie mały. Gdybym używał JAGS lub BŁĘDÓW, to oczywiście byłaby zupełnie inna sprawa, ponieważ narzędzia te obsługują własne propozycje.n

łucznik
źródło
Głosować! Bardzo dziękuję za tak dokładną odpowiedź, ale mam kilka punktów, za którymi staram się podążać: 1) W rzeczywistości przestrzeń parametrów pochodzi z segmentu linii w kwadracie i dlatego naprawdę trudno jest uzyskać jednorodne próbkowanie 2) To nie wydaje się być dobrym pomysłem. Aby dać prostą ilustrację, wyobraź sobie, że możesz rozszerzyć ograniczoną próbkę, ustawiając prawdopodobieństwo zewnętrznego obszaru na zero! Spowodowałoby to, że proces zbieżności byłby bardzo powolny i prawdopodobnie byłby podobny do podpróbkowania
Cupitor,
3) Problem z tym pomysłem polega na tym, że twoja propozycja nie jest odwracalna i dlatego może się zdarzyć, że wynikowy schemat próbkowania może już nie być ergodyczny!
Cupitor
4) to sposób, w jaki starałem się i wygląda rozsądnie (IMH!) 5) Te wydają się cierpieć z powodu przykładu, o którym wspomniałem w 2 i jak powiedziałeś, sam możesz dać straszne wskaźniki akceptacji!
Cupitor
2
(0,inf)x(0,1)β
α=2.5(0.5,1)α=3.2(0,0.8)α=0.2(0.2,0)