In che modo programmi come BUGS / JAGS determinano automaticamente le distribuzioni condizionali per il campionamento di Gibbs?


11

Sembra che i condizionali completi siano spesso piuttosto difficili da ricavare, ma programmi come JAGS e BUGS li derivano automaticamente. Qualcuno può spiegare come generano algoritmicamente i condizionali completi per qualsiasi specifica di modello arbitraria?


Non ricordo esattamente, ma so che spesso fanno molte ipotesi molto forti che spesso non sono vere.

3
A proposito del tuo commento, di che tipo di ipotesi stai parlando?
— Stéphane Laurent,

Risposte:


3

Leggendo i commenti sulle altre risposte, credo che la risposta corretta alla domanda che si voleva porre sia "loro no", in generale. Come è stato menzionato, costruiscono un DAG e guardano la coperta di Markov e quindi (approssimativamente) fanno quanto segue.

  1. Se la coperta di Markov attorno a un nodo corrisponde a un condizionale completo che si trova in una tabella di ricerca (diciamo, perché è coniugato), campione dall'uso della tecnica nella tabella di ricerca.
  2. Altrimenti, controlla se la densità condizionale completa non normalizzata - che è banale da calcolare - è log-concava. In tal caso, utilizzare il campionamento di rifiuto adattivo.
  3. Altrimenti, campiona usando Metropolis-Within-Gibbs per campionare dalla distribuzione approssimativamente. Sebbene questo non sia un campione esatto, si può dimostrare che questo algoritmo lascia ancora l'invariante posteriore.

Questo non è esattamente ciò che viene fatto; ad esempio, JAGS utilizzerà alcuni altri trucchi per costruire gli aggiornamenti dei blocchi. Ma questo dovrebbe dare un'idea di quello che stanno facendo.


Non conosco la documentazione di BUGS e JAGS così bene, dove è riportato, BTW?
— altroware,

@altroware Non conosco bene nemmeno la documentazione, scusa. So che rjagsha una funzione che elenca i campioni che sta usando, qualcosa del genere, list_samplersma puoi controllare la solita documentazione Rper trovarlo.
— ragazzo,

0

π(⋅)θiθ−iθ−iθi

θi


Certo è concettualmente semplice, ma in pratica non è ovvio per me che espressioni in forma chiusa per i condizionali completi sarebbero banali da derivare in modo algoritmico. Ad ogni livello nel DAG, puoi avere tutti i tipi di trasformazioni: interazioni moltiplicative, valore assoluto, log, trasformazioni di radice quadrata ecc. Esistono anche relazioni non coniugate.
— user4733,

Non mi è chiaro come si possa automaticamente integrare algoritmicamente le espressioni per le distribuzioni condizionali complete. Forse questi programmi evitano la necessità di ottenere espressioni in forma chiusa per i condizionali completi, ma sto cercando di capire meglio come questo viene implementato nella pratica.
— user4733

La costante di normalizzazione non ha importanza, quindi si hanno sempre espressioni in forma chiusa perché moltiplichiamo solo espressioni in forma chiusa. No ? (Sono stanco)
— Stéphane Laurent,

Pratica sembra abbastanza difficile anche per me per BUGS determinare la distribuzione condizionale. Forse fornire un esempio (non banale) del processo DAG aiuterà ...
— Glen,

@Glen Se fornisci un esempio che ti ha dato difficoltà, farò l'ispezione.
— Ciano,
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.