Przy uzyskiwaniu próbek MCMC w celu wnioskowania na temat określonego parametru, jakie są dobre wskazówki dotyczące minimalnej liczby skutecznych próbek, do których należy dążyć?
I czy ta rada zmienia się, gdy model staje się mniej lub bardziej złożony?
bayesian
sample-size
mcmc
posterior
Matt Albrecht
źródło
źródło
Odpowiedzi:
Pytanie, które zadajesz, różni się od „diagnostyki konwergencji”. Powiedzmy, że wykonałeś wszystkie testy zbieżności (wybierz ulubione) i teraz możesz rozpocząć pobieranie próbek od tyłu.
Istnieją dwie opcje pod względem efektywnej wielkości próby (ESS), możesz wybrać ESS jednowymiarowy lub ESS wielowymiarowy. Jednolity ESS zapewni efektywną wielkość próbki dla każdego parametru osobno, a metody zachowawcze dyktują, wybierasz najmniejszą wartość szacunkową. Ta metoda ignoruje wszystkie korelacje krzyżowe między komponentami. Prawdopodobnie tego używa większość ludzi od jakiegoś czasu
Niedawno wprowadzono wielowymiarową definicję ESS. Wielowymiarowy ESS zwraca jedną liczbę dla efektywnego rozmiaru próbki dla ilości, które chcesz oszacować; i robi to poprzez uwzględnienie wszystkich korelacji krzyżowych w tym procesie. Osobiście zdecydowanie wolę wielowymiarowy ESS. Załóżmy, że interesuje Cię wektor środków rozkładu tylnego. MESS definiuje się następująco mESS = n (p
Tutaj
mESS można oszacować za pomocą przykładowej macierzy kowariancji do oszacowania a partia oznacza macierz kowariancji do oszacowaniaΛ Σ
multiESS
Ten ostatni artykuł zawiera teoretycznie poprawną dolną granicę wymaganej liczby skutecznych próbek. Przed symulacją musisz zdecydować
minESS
w pakiecie R mcmcse .Dotyczy to każdego problemu (w warunkach prawidłowości). Sposób, w jaki ta metoda dostosowuje się do problemu, polega na tym, że powolne mieszanie łańcuchów Markowa zajmuje więcej czasu, aby osiągnąć tę dolną granicę, ponieważ mESS będzie mniejszy. Teraz możesz sprawdzić kilka razy,
multiESS
czy Twój łańcuch Markowa osiągnął tę granicę; jeśli nie, idź i zbierz więcej próbek.źródło
multiESS
została zakodowana dla innych języków, takich jak MATLAB? (czy byłoby to trudne do reimplementacji?)Konwergencja zależy od kilku rzeczy: liczby parametrów, samego modelu, algorytmu próbkowania, danych ...
Sugerowałbym, aby unikać jakiejkolwiek ogólnej zasady i zastosować kilka narzędzi do diagnostyki konwergencji w celu wykrycia odpowiedniej wypalenia i zmniejszenia liczby iteracji w każdym konkretnym przykładzie. Zobacz także
http://www.johnmyleswhite.com/notebook/2010/08/29/mcmc-diagnostics-in-r-with-the-coda-package/
,http://users.stat.umn.edu/~geyer/mcmc/diag.html
.źródło