Algorytmy MCMC, takie jak próbkowanie Metropolis-Hastings i Gibbs, są sposobami próbkowania ze wspólnych rozkładów tylnych.
Wydaje mi się, że rozumiem i potrafię dość łatwo wdrożyć pospieszanie metropolii - po prostu wybierasz punkty początkowe i „chodzisz po przestrzeni parametrów” losowo, kierując się gęstością a posteriori i gęstością propozycji. Próbkowanie Gibbsa wydaje się bardzo podobne, ale bardziej wydajne, ponieważ aktualizuje tylko jeden parametr na raz, utrzymując pozostałe na stałym poziomie, skutecznie chodząc po przestrzeni w ortogonalny sposób.
Aby to zrobić, potrzebujesz pełnego warunku każdego parametru w trybie analitycznym od *. Ale skąd pochodzą te pełne warunki warunkowe? Aby uzyskać mianownik, należy zmarginalizować połączenie ponad . Wydaje się, że jest dużo pracy do wykonania analitycznego, jeśli istnieje wiele parametrów, i może nie być wykonalny, jeśli wspólny rozkład nie jest zbyt „miły”. Zdaję sobie sprawę, że jeśli używasz koniugacji w całym modelu, pełne warunki warunkowe mogą być łatwe, ale musi być lepszy sposób na bardziej ogólne sytuacje. x1
Wszystkie przykłady próbkowania Gibbsa, które widziałem online, wykorzystują przykłady zabawek (takie jak próbkowanie z wielowymiarowej normalnej, gdzie warunki warunkowe same w sobie są normalne) i wydają się unikać tego problemu.
* Czy w ogóle potrzebujesz pełnych warunków warunkowych w formie analitycznej? Jak to robią programy takie jak winBUGS?