Confusione legata al campionamento di Gibbs


9

Mi sono imbattuto in questo articolo in cui si dice che nel campionamento di Gibbs ogni campione è accettato. Sono un po 'confuso. Come mai se ogni campione che ha accettato converge in una distribuzione stazionaria.

In generale Metropolis Algorithm accettiamo come min (1, p (x *) / p (x)) dove x * è il punto di campionamento. Suppongo che x * ci punti in una posizione in cui la densità è alta, quindi ci stiamo spostando verso la distribuzione target. Quindi suppongo che si sposta sulla distribuzione target dopo un periodo di burn in.

Tuttavia, nel campionamento di Gibbs accettiamo tutto, quindi anche se potrebbe portarci in un posto diverso, come possiamo dire che converge alla distribuzione stazionaria / target

Supponiamo di avere una distribuzione . Non possiamo calcolare Z. Nell'algoritmo metropolis usiamo il termine per incorporare la distribuzione più la costante normalizzante Z annulla. Quindi va benep(θ)=c(θ)/Zc(θnew)/c(θold)c(θ)

Ma nel campionamento di Gibbs dove stiamo usando la distribuzionec(θ)

Ad esempio nel documento http://books.nips.cc/papers/files/nips25/NIPS2012_0921.pdf che è stato dato

quindi non abbiamo l'esatta distribuzione condizionale da cui campionare, abbiamo solo qualcosa che è direttamente proporzionale alla distribuzione condizionale

inserisci qui la descrizione dell'immagine


2
Cosa accadrebbe in Metropolis-Hastings se fosse sempre 1? p(x)/p(x)
Glen_b

Risposte:


6

Quando utilizziamo l'algoritmo Metropolis-Hastings dobbiamo calcolare un rapporto di accettazione e lasciare che la variabile casuale quindi accettiamo la variabile casuale se .

α=min(1,p(x)p(x))
UUniform(0,1)U<α

Tuttavia, nel campionamento di Gibbs escludiamo sempre la variabile casuale perché non dobbiamo calcolare il rapporto di accettazione (bene, in realtà lo fai, ma quando colleghi le cose vedi che tutto annulla e il tuo rapporto di accettazione è e così chiaramente è sempre inferiore a e per questo motivo stai sempre accettando). Tuttavia, puoi anche pensarci intuitivamente dove nel campionamento di Gibbs stai campionando dai condizionali completi che è un'espressione in forma chiusa da cui possiamo campionare direttamente e quindi non è necessario rifiutare campioni come nell'algoritmo Metropolis-Hastings dove non so come campionare (o di solito non riconoscere la forma di) . Spero che aiuti!α=1Uαp(x)

inserisci qui la descrizione dell'immagine


1
Non ho capito come mai tutto si cancella. Bene diciamo che dobbiamo campionare dalla distribuzione di 3 variabili. Quindi quando intendevi dire condizionali completi nell'espressione in forma chiusa intendi p (x1 | x2, x3) p (x2 | x1, x3) e p (x3 | x1, x2). La mia domanda è nel caso del campionamento di Gibbs, conosciamo la distribuzione condizionale ottenuta dalla distribuzione effettiva p da cui vogliamo campionare. È questo che vuoi dire. Nel caso dell'algoritmo Metropolis non conosciamo p ma qualcosa di simile a c tale che p (x) = c (x) / Z ?? p(θ)
user34790,

Supponiamo di iniziare con valori casuali per le variabili x1, x2 e x3 come possiamo dire che la sua distribuzione stazionaria converge quella richiesta. Quali sono i criteri per questo?
user34790,

Supponiamo che io abbia una distribuzione . Non conosco Z. Quindi, come potrei campionare da usando il campionamento di Gibbsp(θ)=c(θ)/Zp(θ)
user34790,

3
Ho aggiunto una prova sopra del perché è sempre una. Per usare il campionamento Gibbs devi sapere quali sono i condizionali completi.

1

La prova che il tasso di accettazione è uguale a 1 come refuso, cioè nel denominatore nella parte centrale e terza, l'espressione per q dovrebbe avere z_i prime, in modo che alla fine si ottenga P (z_i prime | z_i prime).

alex

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.