Da dove provengono i condizionali completi nel campionamento di Gibbs?


15

Gli algoritmi MCMC come Metropolis-Hastings e il campionamento di Gibbs sono metodi di campionamento dalle distribuzioni posteriori articolari.

Penso di capire e di implementare abbastanza velocemente la metropoli: basta semplicemente scegliere i punti di partenza in qualche modo e "camminare nello spazio dei parametri" in modo casuale, guidato dalla densità posteriore e dalla densità della proposta. Il campionamento di Gibbs sembra molto simile ma più efficiente poiché aggiorna solo un parametro alla volta, mantenendo gli altri costanti, percorrendo efficacemente lo spazio in modo ortogonale.

Per fare ciò, è necessario il condizionale completo di ciascun parametro in analitico da *. Ma da dove provengono questi condizionali completi? Per ottenere il denominatore devi emarginare il giunto sopra . Sembra un sacco di lavoro da svolgere analiticamente se ci sono molti parametri e potrebbe non essere trattabile se la distribuzione congiunta non è molto "piacevole". Mi rendo conto che se usi la coniugazione in tutto il modello, i condizionali completi potrebbero essere facili, ma deve esserci un modo migliore per situazioni più generali.

P(X1|X2, ..., Xn)=P(X1, ..., Xn)P(X2, ..., Xn)
X1

Tutti gli esempi di campionamento di Gibbs che ho visto online usano esempi di giocattoli (come il campionamento da una normale multivariata, in cui i condizionali sono solo normali), e sembrano eludere questo problema.

* O hai bisogno di tutti i condizionali completi in forma analitica? Come lo fanno programmi come winBUGS?


1
Il campionamento di Gibbs è di solito meno efficiente di Metropolis-Hastings perché va in una dimensione alla volta ...
Xi'an,

Campionamento di Gibbs è più efficiente a ogni singolo passo, ma potrebbe essere necessario un terribile molto di più passaggi a convergere - e finiscono per meno efficiente per un buon risultato complessivo.
Lutz Prechelt

Risposte:


7

Sì, hai ragione, la distribuzione condizionale deve essere trovata analiticamente, ma penso che ci siano molti esempi in cui la distribuzione condizionale completa è facile da trovare e ha una forma molto più semplice della distribuzione congiunta.

P(X1,...,Xn)XioXioXio-1Xio+1Pr(Xio|X1,...,Xio)=Pr(Xio|Xio-1,Xio+1)


Pr(Xio|Xio-1,Xio+1)

3
Non hanno bisogno di essere trovati analiticamente. Tutti i condizionali completi sono proporzionali alla distribuzione congiunta, per esempio. E questo è tutto ciò che serve per Metropolis-Hastings.
Tristan,

1
@Tristan ovviamente. Sto comunque parlando del campionamento dei gibbs.
gabgoh

1
Non è necessario trovarli analiticamente per il campionamento di Gibbs. Devi solo essere in grado di campionare, in qualche modo, dal condizionale; se riesci a scrivere come farlo in una dichiarazione piuttosto analitica non è rilevante.
ospite

1
In realtà, non è necessario un condizionale analitico completo: tutto ciò che è necessario per implementare il campionamento di Gibbs è la capacità di simulare dai condizionali completi.
Xi'an,

11

Penso che tu abbia perso il vantaggio principale di algoritmi come Metropolis-Hastings. Per il campionamento di Gibbs, dovrai campionare dai condizionali completi. Hai ragione, raramente è facile da fare. Il vantaggio principale degli algoritmi di Metropolis-Hastings è che è ancora possibile campionare un parametro alla volta, ma è necessario conoscere solo i condizionali completi fino alla proporzionalità. Questo perché i denominatori si annullano nella funzione dei criteri di accettazione

P(X1|X2,...,Xn)αP(X1,...,Xn)

Programmi come WinBugs / Jags in genere eseguono Metropolis-Hastings o eseguono il campionamento delle sezioni che richiedono solo i condizionali fino alla proporzionalità. Questi sono facilmente disponibili dal DAG. Data la coniugazione, a volte prendono anche passi dritti di Gibbs o blocchi di fantasia.


1
Ehi, grazie! Penso che il fatto di non aver bisogno della costante di normazione per gli odi della metropoli siano esattamente le informazioni di cui avevo bisogno per dare un senso a tutto ciò. Penso che, poiché GS in WinBUGS è sinonimo di campionamento di gibbs, avevo l'impressione che i gibbs sostituissero MH e che il software usasse esclusivamente gibbs.
cespinoza,

3
Il termine campionamento di Gibbs viene spesso usato per indicare che si campiona un parametro alla volta, anche se non si utilizza l'idea originale di campionare direttamente dai condizionali completi. Tutto il software campiona singoli parametri o blocchi di parametri in sequenza, ma il tipo di passaggio effettivo varia molto a seconda di ciò che funziona meglio.
Tristan,

2
Quasi ogni volta che puoi implementare Gibbs, puoi anche implementare alternative Metropolis-Hastings. Una maggiore efficienza deriva dalla miscelazione di entrambi gli approcci.
Xi'an,

Questa dovrebbe essere la risposta accettata.
NoBackingDown
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.