Markov Chain Monte Carlo

Indice dei contenuti

    I metodi Markov Chain Monte Carlo (MCMC) sono algoritmi di simulazione che generano campioni da una distribuzione difficile da campionare direttamente costruendo una catena di Markov con distribuzione stazionaria desiderata. Sono strumenti fondamentali dell’inferenza bayesiana, della fisica statistica, dell’ottimizzazione stocastica e della simulazione probabilistica.

    Il problema tipico è conoscere una densità target \pi(x) solo a meno di una costante di normalizzazione. MCMC permette di stimare medie, probabilità, quantili e altre quantità integrali senza dover calcolare esplicitamente quella costante.

    1. Idea generale

    Si vuole calcolare un valore atteso:

    \operatorname{E}_{\pi}[g(X)] = \int g(x)\pi(x)\,dx.

    Se non si riesce a campionare direttamente da \pi, si costruisce una catena:

    X_0,X_1,X_2,\dots

    tale che, dopo un periodo iniziale, la distribuzione di X_t sia approssimativamente \pi. Allora:

    \operatorname{E}_{\pi}[g(X)] \approx \dfrac{1}{N} \sum_{t=1}^{N}g(X_t).

    La differenza rispetto al Monte Carlo indipendente è che i campioni MCMC sono correlati. Questa correlazione non invalida il metodo, ma riduce l’informazione effettiva rispetto a N campioni indipendenti.

    2. Distribuzione stazionaria

    Una distribuzione \pi è stazionaria per una catena con kernel di transizione P se:

    \pi(y)=\int \pi(x)P(x,dy).

    In forma discreta:

    \pi_j=\sum_i \pi_i P_{ij}.

    Gli algoritmi MCMC progettano il kernel di transizione in modo che la distribuzione target sia stazionaria. Sotto condizioni di irriducibilità, aperiodicità e ricorrenza positiva, la catena converge alla distribuzione target.

    3. Metropolis-Hastings

    L’algoritmo Metropolis-Hastings propone un nuovo stato y da una distribuzione proposta q(y\mid x) e lo accetta con probabilità:

    \alpha(x,y) = \min\left\{ 1, \dfrac{\pi(y)q(x\mid y)} {\pi(x)q(y\mid x)} \right\}.

    Se la proposta viene accettata, X_{t+1}=y; altrimenti X_{t+1}=x. Il rapporto usa solo valori proporzionali della densità target: la costante di normalizzazione si cancella.

    La scelta di q è cruciale. Proposte troppo piccole producono catene lente; proposte troppo grandi vengono rifiutate spesso.

    4. Campionatore di Gibbs

    Il campionatore di Gibbs è un caso particolare in cui si campiona ogni variabile dalla distribuzione condizionata completa:

    X_j^{(t+1)} \sim \pi(x_j\mid x_{-j}^{(t)}).

    È efficace quando le condizionate sono note e facili da simulare. Nei modelli gerarchici bayesiani, Gibbs può sfruttare strutture coniugate per aggiornare blocchi di parametri in modo stabile.

    Il limite è che, se le variabili sono molto correlate, aggiornare una coordinata alla volta può produrre mixing lento.

    5. Hamiltonian Monte Carlo

    Hamiltonian Monte Carlo introduce variabili ausiliarie di momento e usa informazioni di gradiente per proporre mosse lunghe ma con alta probabilità di accettazione. È molto usato in modelli bayesiani continui ad alta dimensione.

    L’idea è esplorare la geometria della distribuzione target invece di camminare casualmente nello spazio. Questo può ridurre drasticamente l’autocorrelazione rispetto a random-walk Metropolis.

    Il costo è maggiore complessità: servono gradienti, scelta del passo, numero di integrazioni e diagnostiche specifiche.

    6. Burn-in e campioni iniziali

    La catena parte da un valore iniziale che può essere lontano dalla distribuzione target. Il periodo iniziale, detto burn-in o warm-up, viene spesso scartato:

    X_0,\dots,X_B \quad \text{scartati}.

    Il burn-in non deve essere usato come soluzione automatica a una catena mal progettata. Se la catena non converge o resta bloccata in regioni diverse, scartare più iterazioni non risolve il problema.

    7. Mixing e autocorrelazione

    Il mixing descrive quanto rapidamente la catena esplora lo spazio della distribuzione target. Una catena con buon mixing si muove tra regioni rilevanti senza restare intrappolata.

    L’autocorrelazione misura la dipendenza tra campioni distanti nel tempo:

    \rho_k = \operatorname{Corr}(X_t,X_{t+k}).

    Autocorrelazioni alte riducono la dimensione campionaria effettiva. Per questo si usa l’ESS, effective sample size, che stima quanti campioni indipendenti equivalenti contiene la catena.

    8. Diagnostiche

    Le diagnostiche più comuni includono:

    • trace plot, per vedere se le catene esplorano regioni stabili;
    • \widehat{R}, che confronta variabilità tra catene e dentro catena;
    • ESS, dimensione campionaria effettiva;
    • autocorrelazione;
    • controlli su divergenze e saturazioni per HMC;
    • confronto tra catene inizializzate in punti diversi.

    Nessuna diagnostica dimostra in modo assoluto la convergenza. Può solo fornire evidenza contro problemi evidenti.

    9. MCMC in inferenza bayesiana

    Nell’inferenza bayesiana la distribuzione target è spesso la posteriore:

    \pi(\theta\mid x) \propto L(\theta;x)\pi(\theta),

    dove L(\theta;x) è la verosimiglianza e \pi(\theta) è la prior. La costante di normalizzazione, detta evidenza, può essere molto difficile da calcolare:

    p(x)=\int L(\theta;x)\pi(\theta)\,d\theta.

    MCMC evita il calcolo diretto di p(x) quando l’obiettivo è stimare quantità posteriori come medie, intervalli credibili o probabilità.

    10. Errori comuni

    Il primo errore è trattare le iterazioni MCMC come campioni indipendenti. Sono correlate, e l’ESS può essere molto più piccolo del numero di iterazioni.

    Il secondo errore è guardare solo \widehat{R} senza ispezionare trace plot, ESS e diagnostiche del modello.

    Il terzo errore è fidarsi di una sola catena. Catene multiple inizializzate in punti diversi aiutano a individuare mancata esplorazione o multimodalità.

    Il quarto errore è usare MCMC quando un metodo analitico, quadratura o approssimazione più semplice sarebbe sufficiente.

    11. Uso operativo

    MCMC è potente ma non automatico. Una buona analisi deve specificare distribuzione target, algoritmo, inizializzazione, numero di catene, warm-up, diagnostiche, ESS, eventuali divergenze e sensibilità alle prior. Il risultato non è una lista magica di campioni: è una simulazione stocastica che richiede controllo numerico e interpretazione probabilistica.

    Ultimo aggiornamento: