用R调用OpenBUGS(和WinBUGS几乎没有差别)来做模拟,前面都没有问题
model is syntactically correct
data loaded
model compiled
可是到model is updating之后却出现了报错
****** Sorry something went wrong in procedure UpdaterDelayed.Sample in module UpdaterAM ******
请问有谁遇到过相同的问题吗?具体是哪里的错误呢?
附model代码
model{
for(i in 1:I){
for(j in 2:J){
t[i,j]~dbern(Q[i,j])
Q[i,j]<-1-(PM[i,j]-exp(-lambda[i,j]))/(1-exp(-lambda[i,j]))
y[i,j]~dpois(L[i,j])
L[i,j]<-lambda[i,j]*t[i,j]
PM[i,j]<-pow(1-p[i,j],n[i,j])
logit(p[i,j])<-G[i,j]+u[i];
G[i,j]<-gamma0+gamma1*y[i,j-1]+gamma2*x1[i,j]+gamma3*x2[i,j]+gamma4*T1[i,j]+gamma5*T2[i,j]
log(lambda[i,j])<-B[i,j]+v[i]
B[i,j]<-beta0+log(n[i,j])+beta1*y[i,j-1]+beta2*x1[i,j]+beta3*x2[i,j]+beta4*T1[i,j]+beta5*T2[i,j]
}
u[i]~dnorm(0,sig1)
v[i]~dnorm(0,sig2)
}
sig1~dgamma(0.01,0.05)
sigma1<-1/sig1
sig2~dgamma(0.01,0.05)
sigma2<-1/sig2
gamma0~dflat()
gamma1~dflat()
gamma2~dnorm(1.4,1.0E-5)
gamma3~dnorm(0.25,1.0E-5)
gamma4~dnorm(0,1.0E-5)
gamma5~dnorm (-0.027,1.0E-5)
beta0~dflat()
beta1~dflat()
beta2~dnorm(1.4,1.0E-5)
beta3~dnorm(0.25,1.0E-5)
beta4~dnorm(0,1.0E-5)
beta5~dnorm(-0.027,1.0E-5)
d.gamma<-gamma5-gamma4
d.beta<-beta5-beta4
}
R调用时的相关代码:
library("R2OpenBUGS")
data<-list(I=I,J=J,y=y,x1=x1,x2=x2,T1=T1,T2=T2,n=n)
inits<-function(){
list(sig1=1,sig2=1,gamma0=0,gamma1=0,gamma2=0,gamma3=0,gamma4=0,gamma5=0,beta0=0,beta1=0,beta2=0,beta3=0,beta4=0,beta5=0,v=rep(0,83),u=rep(0,83))}
parameters<-c("sigma1","sigma2","gamma0","gamma1","gamma2","gamma3","gamma4","gamma5","beta0","beta1","beta2","beta3","beta4","beta5","d.beta","d.gamma")
mi.sim<-bugs(data,inits,parameters,"naive-model1-with-autoreg-sim.txt",n.chains=3,n.iter=6000,n.burnin=2000,n.thin=1,debug=TRUE)


雷达卡


京公网安备 11010802022788号







