R에서 Mixture Bayesian 회귀 분석의 Gibbs 샘플러를 구축하는 방법은 무엇입니까?

Nov 30 2020

저는 세 가지 매개 변수로 구성된 Gibbs 샘플러를 작업 중이며 세 매개 변수의 전체 조건부 분포를 알고 있습니다.

답변

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$NA입니다. 이 유형의 오류를 확인할 때의 경험은 바로 그 것입니다. for 루프 대신$ite=2$$j=1$. 공식으로 p1과 p0을 계산합니다. NA인지 아닌지주의 깊게 확인하십시오. 코드가 다음과 관련하여 대칭 인 경우$iter$$j$,이 경우 오류를 수정할 수 있으면 통과합니다.