Il campionatore di Gibbs è un algoritmo MCMC che aggiorna un parametro alla volta campionando dalla sua distribuzione condizionata piena.
Per un vettore \theta=(\theta_1,\ldots,\theta_d), si campiona ciclicamente da:
Se le condizionate sono campionabili esattamente, ogni proposta è accettata. Il metodo è semplice nei modelli con struttura coniugata, ma può mescolare lentamente quando i parametri sono fortemente correlati o la posteriore ha geometria difficile.
Obiettivo
In inferenza bayesiana si vuole spesso campionare da una distribuzione a posteriori
dove \theta=(\theta_1,\dots,\theta_d) può avere molte componenti. Campionare direttamente dalla distribuzione congiunta può essere difficile, mentre le distribuzioni condizionate
possono avere forma nota o essere facili da simulare. Gibbs sfrutta questa struttura: costruisce una catena di Markov la cui distribuzione stazionaria è la posteriore desiderata.
Schema ciclico
Dato uno stato corrente
un ciclo di Gibbs aggiorna una componente alla volta:
e così via fino a \theta_d. Le componenti già aggiornate nel ciclo vengono usate immediatamente nelle condizionate successive.
Esistono anche versioni random scan, in cui l’ordine degli aggiornamenti è casuale, e versioni a blocchi, in cui gruppi di parametri vengono campionati insieme.
Perché l’accettazione è sempre uno
A differenza di Metropolis-Hastings, Gibbs non propone un candidato da una distribuzione ausiliaria arbitraria. Campiona direttamente dalla condizionata piena. Quando questo campionamento è esatto, il passo rispetta automaticamente la distribuzione target e non richiede una probabilità di accettazione-rifiuto.
Questo rende il metodo molto pulito nei modelli con coniugazione bayesiana, dove le condizionate hanno famiglie note.
Esempio concettuale
In un modello gerarchico normale, si possono avere osservazioni raggruppate, parametri di gruppo e iperparametri comuni. Gibbs può alternare:
- campionamento dei parametri di gruppo dati gli iperparametri;
- campionamento degli iperparametri dati i parametri di gruppo;
- campionamento della varianza o di altre grandezze latenti.
Questa struttura è naturale nei modelli gerarchici, perché ogni livello diventa condizionalmente semplice dato il resto.
Mixing e autocorrelazione
La semplicità di Gibbs non garantisce efficienza. Se due parametri sono fortemente correlati nella posteriore, aggiornarli uno alla volta può produrre piccoli movimenti lungo una valle stretta. La catena ha allora alta autocorrelazione e bassa effective sample size.
In questi casi conviene campionare blocchi di parametri correlati, riparametrizzare il modello o usare metodi che sfruttano la geometria della posteriore, come Hamiltonian Monte Carlo.
Diagnostica
Come per ogni metodo MCMC, bisogna controllare convergenza, mescolamento, autocorrelazione, sensibilità ai valori iniziali e stabilità delle stime posteriori. Le prime iterazioni vengono spesso scartate come burn-in, ma scartare campioni non risolve una catena che mescola male.
È utile confrontare statistiche posteriori, intervalli di credibilità e distribuzione predittiva tra catene indipendenti.
Errori comuni
Un errore frequente è credere che condizionate semplici implichino sempre campioni indipendenti. I campioni MCMC sono correlati; trattarli come osservazioni indipendenti porta a sottostimare l’incertezza Monte Carlo.
Un altro errore è aggiornare parametri fortemente accoppiati separatamente solo perché le condizionate sono disponibili. La scelta degli aggiornamenti è parte del progetto dell’algoritmo: un Gibbs corretto può comunque essere troppo lento per essere utile.