Wie baut man einen Gibbs-Sampler der Mixture Bayesian Regression in R?
Nov 30 2020
Ich arbeite an einem Gibbs-Sampler mit drei Parametern und wir kennen die vollständige bedingte Verteilung von drei Parametern.
Antworten
TrungDung Nov 30 2020 at 11:05
Hinweis: Dies ist nur ein Kommentar, aber um einen langen Code zu zitieren, habe ich ihn hier eingefügt.
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))) }
Der Fehler sagt das vielleicht $p1$ und $p0$sind NAs. Meine Erfahrung bei der Überprüfung dieser Art von Fehler ist die folgende. Anstelle von for loop einfach geben$ite=2$ und $j=1$. Berechnen Sie p1 und p0 als Ihre Formeln. Überprüfen Sie sorgfältig, ob es sich um NAs handelt oder nicht. Wenn die Codes in Bezug auf symmetrisch sind$iter$ und $j$und wenn Sie den Fehler für diesen Fall korrigieren können, wird dies bestanden.