Qual è la connessione tra la catena Markov e la catena Markov monte carlo


15

Sto cercando di capire le catene di Markov usando SAS. Capisco che un processo di Markov è uno in cui lo stato futuro dipende solo dallo stato corrente e non dallo stato passato e c'è una matrice di transizione che cattura la probabilità di transizione da uno stato a un altro.

Ma poi mi sono imbattuto in questo termine: Markov Chain Monte Carlo. Quello che voglio sapere è se Markov Chain Monte Carlo è comunque correlato al processo Markov che descrivo sopra?

Risposte:


9

Bene, sì, c'è una relazione tra i due termini perché i disegni di MCMC formano una catena di Markov. Da Gelman, Bayesian Data Analysis (3a edizione), p. 265:

La simulazione della catena di Markov (chiamata anche catena di Markov Monte Carlo o MCMC) è un metodo generale basato sul trarre valori di da distribuzioni appropriate e quindi correggere quei disegni per approssimare meglio la distribuzione posteriore target, . Il campionamento viene eseguito in sequenza, con la distribuzione dei disegni campionati in base all'ultimo valore disegnato; quindi, i sorteggi formano una catena di Markov.p ( θ | y )θp(θ|y)


Umm ok, ma perché devo disegnare campioni casuali da un processo markov, ci sono molti altri tipi di processi come normale, bernoulli, possion ecc.
— Victor

2
@Victor Penso che tu abbia perso di vista il caso d' uso di MCMC. Usiamo MCMC nelle statistiche bayesiane quando non esiste una forma analitica della distribuzione posteriore.
— Sycorax dice di reintegrare Monica il

3
Le statistiche bayesiane +1 sono forse l'applicazione più ovvia di MCMC (in cui la distribuzione target è un posteriore articolato) ma non l'unica possibile.
— Glen_b -Restate Monica

18

La connessione tra i due concetti è che i metodi Monteov della catena di Markov (aka MCMC) si basano sulla teoria della catena di Markov per produrre simulazioni e approssimazioni di Monte Carlo da una distribuzione target complessa .π

In pratica, questi metodi di simulazione generano una sequenza che è una catena di Markov, cioè tale che la distribuzione di X i dato l'intero passato { X i - 1 , … , X 1 } dipende solo da X i - 1 . In altre parole, X i = f ( X i - 1 , ϵ i ) dove fX1,…,XNXi{Xi−1,…,X1}Xi−1

Xi=f(Xi−1,ϵi)
fè una funzione specificata dall'algoritmo e la distribuzione target e gli ϵ i sono iid. Le garanzie (ergodico) teoria che X i converge (a distribuzione) a ¸ come mi arriva a ∞ .πϵiXiπi∞

L'esempio più semplice di un algoritmo MCMC è il slice sampler : all'iterazione di questo algoritmo, do

  1. simula ϵi1∼U(0,1)
  2. Xio~U({X;π(X)≥εio1π(Xio-1)})εio2

N(0,1)

  1. simula ϵ 1 i ∼ U ( 0 , 1 εio1~U(0,1)
  2. Xio~U({X;X2≤-2log⁡(2πεio1})Xio=±εio2{-2log⁡(2πεio1)φ(Xio-1)}1/2εio2~U(0,1)

o in R

T=1e4
x=y=runif(T) #random initial value
for (t in 2:T){
  epsilon=runif(2)#uniform white noise 
  y[t]=epsilon[1]*dnorm(x[t-1])#vertical move       
  x[t]=sample(c(-1,1),1)*epsilon[2]*sqrt(-2*#Markov move from
        log(sqrt(2*pi)*y[t]))}#x[t-1] to x[t]

N(0,1)(Xio)in alto: istogramma di 10⁴ iterazioni del campionatore di sezioni e adattamento normale N (0,1);  in basso: sequenza $ (X_i) $

(Xio,εio1π(Xio))

curve(dnorm,-3,3,lwd=2,col="sienna",ylab="")
for (t in (T-100):T){
lines(rep(x[t-1],2),c(y[t-1],y[t]),col="steelblue");
lines(x[(t-1):t],rep(y[t],2),col="steelblue")}

che segue i movimenti verticali e orizzontali della catena di Markov sotto la curva di densità target.100 ultime mosse del campionatore di sezioni

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.