Como construir um amostrador de Gibbs de regressão Bayesiana de mistura em R?

Nov 30 2020

Estou trabalhando em um amostrador Gibbs de três parâmetros e conhecemos a distribuição condicional completa de três parâmetros.

Respostas

TrungDung Nov 30 2020 at 11:05

Nota: Este é apenas um comentário, mas para citar um código longo, eu o coloco aqui.

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)))
  }

O erro diz que talvez $p1$ e $p0$são NAs. Minha experiência ao verificar esse tipo de erro é essa. Em vez de loop for, basta dar$ite=2$ e $j=1$. Calcule p1 e p0 como suas fórmulas. Verifique cuidadosamente se eles são NAs ou não. Se os códigos forem simétricos em relação a$iter$ e $j$, e se você puder corrigir o erro para este caso, ele passará.