Как построить семплер Гиббса смеси байесовской регрессии в R?

Nov 30 2020

Я работаю над сэмплером Гиббса трех параметров, и мы знаем полное условное распределение трех параметров.

Ответы

TrungDung Nov 30 2020 at 11:05

Примечание: это всего лишь комментарий, но чтобы процитировать длинный код, я поместил его здесь.

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

Ошибка говорит, что возможно $p1$ а также $p0$являются НП. Мой опыт проверки этого типа ошибок таков. Вместо цикла просто введите$ite=2$ а также $j=1$. Вычислите p1 и p0 как свои формулы. Внимательно проверьте, являются ли они НП или нет. Если коды симметричны относительно$iter$ а также $j$, и если вы можете исправить ошибку для этого случая, он передаст это.