¿Cómo construir un muestreador de Gibbs de regresión bayesiana de mezcla en R?

Nov 30 2020

Estoy trabajando en un muestreador Gibbs de tres parámetros y conocemos la distribución condicional completa de tres parámetros.

Respuestas

TrungDung Nov 30 2020 at 11:05

Nota: Esto es solo un comentario, pero para citar un código largo, lo puse aquí.

for (ite in 2:NSim){
#Full conditional for pi

 pi[ite]=rbeta(1, sum(delta[ite-1,])+0.5, sum(1-delta[ite-1,])+0.5)

 #Full conditional for delta
 for(j in 1:4){
  p1=pi[ite]*exp(-beta[ite-1,j]^2/(20))
  p0=((1-pi[ite])*10^3)*exp(-500*beta[ite-1,j]^2)
  cat('\n',ite,j,(p1/(p0+p1)))
  delta[ite,j]=rbinom(1, 1,prob=(p1/(p0+p1)))
  }

El error dice que tal vez $p1$ y $p0$son NA. Mi experiencia al comprobar este tipo de error es esa. En lugar de bucle for, solo da$ite=2$ y $j=1$. Calcule p1 y p0 como sus fórmulas. Compruebe cuidadosamente si son NA o no. Si los códigos son simétricos con respecto a$iter$ y $j$, y si puede corregir el error para este caso, pasará esto.