Efektywny rozmiar próbki do wnioskowania z tyłu z próbkowania MCMC

13

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?

Matt Albrecht
źródło
Domyślam się, że będzie to prawdopodobnie zależeć od „stałej” w błędzie , który będzie różny w zależności od modelu. O(n12)
prawdopodobieństwo prawdopodobieństwo

Odpowiedzi:

15

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=n(|Λ||Σ|)1/p.
  1. to struktura kowariancji tylnej (również asymptotyczna kowariancja w CLT, jeśli masz niezależne próbki)Λ
  2. ΣΛ
  3. p
  4. ||

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ć

  1. : precyzja.ϵϵ
  2. α : poziom konstruowania przedziałów ufności.
  3. p

mESS22/pπ(pΓ(p/2))2/pχ1α,p2ϵ2,

Γ() jest funkcją gamma. Ta dolna granica może być obliczona przy użyciu minESSw pakiecie R mcmcse .

p=2095%ϵ=.05 ) błędu odcinka bocznego, będziesz potrzebować

> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716

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, multiESSczy Twój łańcuch Markowa osiągnął tę granicę; jeśli nie, idź i zbierz więcej próbek.

Greenparker
źródło
(+1) Doskonała odpowiedź. Czy wiesz, czy funkcja multiESSzostała zakodowana dla innych języków, takich jak MATLAB? (czy byłoby to trudne do reimplementacji?)
Lacerbi,
1
Σ
1
Σ
1
@lacerbi Cieszę się, że mogłeś zakodować to w Matlabie. Jeśli to możliwe, odpowiedz na ten komentarz, gdy się pojawi, abym mógł go użyć. Dzięki
Greenparker,
1
Moja implementacja multiESS MATLAB jest dostępna tutaj . Jest to działająca wersja, choć wymagałaby więcej testów (nie znam R, w przeciwnym razie porównałbym go do implementacji R).
lacerbi
2

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.

Montecristo
źródło