6 votos

Qué métodos de muestreo (MCMC/SMC) trabajar por la combinación de continuas y discretas variables aleatorias?

Considere la posibilidad de una distribución $P = \frac{1}{2}P_1 + \frac{1}{2}P_2$ donde $P_1, P_2$ son medidas de probabilidad en un espacio medible $(\mathbb R, \mathcal B)$ tal que

$P_1: A \to \int_A \mathcal N(x; 0, 1) d\mu(x)$ todos los $A \in \mathcal B$, y

$P_2 = \frac{1}{3} \delta_0 + \frac{2}{3} \delta_1$, es decir, una distribución discreta que asigna a $0$ $1$ probabilidades de $\frac{1}{3}$$\frac{2}{3}$.

¿Qué tipo de propuesta es el elegido en este caso y evaluar las densidades (como se da en las recetas para la MCMC/SMC) o algo más a la hora de calcular ratios de aceptación (por ejemplo, para Metropolis-Hastings) o la importancia relativa (por ejemplo, de la Importancia de muestreo, SMC, etc.)? Puede usted por favor me apunte a los recursos correctos?

5voto

Lev Puntos 2212

$P$ tiene una densidad en contra de una (de referencia) de medida de la medida de Lebesgue además de contar medida en $\{0,1\}$. La posterior medida, nos da los pesos de $1$ a los átomos de $0$$1$. Esto significa que la densidad de los átomos como 0 y 1 es igual a la del peso en el cómputo de la medida y sólo el recuento de medir!, por lo tanto es 1/6 y 2/6 para 0 y 1, respectivamente, en su ejemplo. (Ver esta otra entrada para comentarios adicionales sobre mixta medidas.)

Por lo tanto, MCMC y, en particular, de Metropolis-Hastings se aplica a este caso. Esto significa que la propuesta también debe ser continua en contra de la medida de la medida de Lebesgue más el conteo de medida, de ahí la propuesta puede tener a los átomos en 0 y 1. Para la cadena de convergencia se debe tener a los átomos en 0 y 1.

Aquí está un ejemplo de un (mudo) de Metropolis-Hastings algoritmo para su destino

#target is N(0,1) with prob 1/2, mass at 0 with prob 1/6 and at 1 with prob 1/3
targ=function(x,isint){
  if (isint){ t=(x==0)/6+(x==1)/3
    }else{ t=.5*dnorm(x)}
  return(t)
  }

#Metropolis with random walk+U{0,1} proposal
prop=function(val,isint){
  isint[2]*.25+.5*(1-isint[2])*dnorm(val[2],mean=val[1],sd=.3)
  }

T=1e5
samp=rep(NaN,T)
sampint=(runif(T)<.5)
samp[1]=runif(1)
sampint[1]=FALSE
for (t in 2:T){
  if (sampint[t]){ 
     samp[t]=as.integer(sample(c(0,1),1))
    }else{ 
      samp[t]=samp[t-1]+rnorm(1,0,.3)
      }
  metro=targ(samp[t],sampint[t])*prop(samp[t:(t-1)],sampint[t:(t-1)])/
        targ(samp[t-1],sampint[t-1])/prop(samp[(t-1):t],sampint[(t-1):t])
  if (runif(1)>metro){ samp[t]=samp[t-1];sampint[t]=sampint[t-1]}
  }

Esto le da el ajuste apropiado, como lo muestra el siguiente diagrama: enter image description here

y el (derecho) proporción de ceros y unos:

> sum(sampint)/T
[1] 0.49676
> sum(samp==0)/sum(samp==1)
[1] 0.5027832

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X