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.