8 votos

Posterior control predictivo siguiente inferencia de ABC para varios parámetros

Yo soy relativamente nuevo en la estadística Bayesiana, así que por favor sea amable.

Me acaban de realizar Aproximado Bayesiano de Cálculo (ABC) para la inferencia de un multi-parámetro de modelo. Ahora estoy buscando para realizar un posterior predictivo de verificación de los parámetros que han sido inferidas.

Lo que estoy queriendo saber es que, cuando el muestreo se realiza desde la parte posterior para generar las estadísticas de resumen para la posterior predicción cheque, se me muestra de manera independiente de los marginales posteriores de cada uno de los parámetros, o se supone que tengo que muestra los valores de los parámetros conjuntamente (es decir, de la muestra de la precisión de combinaciones de parámetros que dio lugar a la aceptación de las estadísticas de resumen).

El modelo contiene una gran cantidad de parámetros (más de 6) y estoy interesado en los marginales posteriores para cada parámetro. Espero que esta pregunta tiene sentido.

8voto

Lev Puntos 2212

Buena pregunta para un recién llegado!!!

Su ABC algoritmo proporciona un ejemplo de $\theta_1,\ldots,\theta_M$ de la ABC-posterior distribución. Para cada componente del vector de $\theta$, por lo que obtener una muestra de tamaño $M$ desde el marginal ABC-posterior. Por ejemplo, aquí es un juguete ejemplo, alrededor de la media-varianza normal posterior, cuando se utiliza la mediana y los locos, como los resúmenes:

#normal data with 100 observations 
x=rnorm(100)
#observed summaries
sumx=c(median(x),mad(x))

#normal x gamma prior
priori=function(N){
  return(cbind(rnorm(N,sd=10),1/sqrt(rgamma(N,shape=2,scale=5))))
  }

ABC=function(N){

  prior=priori(N)  #reference table

  #pseudo-data
  summ=matrix(0,N,2)
  for (i in 1:N){
    xi=rnorm(100)*prior[i,2]+prior[i,1]
    summ[i,]=c(median(xi),mad(xi)) #summaries
    }

  #normalisation factor for the distance
  mads=c(mad(summ[,1]),mad(summ[,2]))

  #distance
  dist=(abs(sumx[1]-summ[,1])/mads[1])+(abs(sumx[2]-summ[,2])/mads[2])

  #selection
  posterior=prior[dist<quantile(dist,.05),]

  return(posterior)
  }

Si usted parcela

res=ABC(10^5);hist(res[,1])

obtendrá la marginal ABC-posterior de la media normal.

Sin embargo, si usted quiere hacer un posterior predictivo de verificación, no se puede generar uno de los componentes de la parte posterior en un momento para obtener pseudo-datos y los correspondientes resúmenes. Usted necesita tanto la media y la varianza para obtener una nueva muestra normal! Así que mi código R, entonces sería

postsample=res[sample(1:length(res[,1]),10^3),]

para dibujar una muestra de la ABC-posterior y el pseudo-datos luego serían generados como anteriormente:

  #pseudo-data
  summ=matrix(0,M,2)
  for (i in 1:M){
    xi=rnorm(100)*postsample[i,2]+postsample[i,1]
    summ[i,]=c(median(xi),mad(xi)) #summaries
    }

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