Как построить семплер Гиббса смеси байесовской регрессии в 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$, и если вы можете исправить ошибку для этого случая, он передаст это.