epoh 发表于 2013-4-11 17:56 
哈哈,你看错了吧,
我没给过svcj程序
哦哦,是之前的某位楼主发出来的,那我贴出来,您看我怎么赋初值呢?我的点gen inits总是出现undefined real result....
model
{
alpha~dnorm(0,1);
beta~dnorm(0,1);
k<-(-beta);
theta<-alpha/k;
mu~dnorm(0,0.04);   
isigmav2~dgamma(2.5,0.1);
sigmav2<-1/isigmav2;
muy~dnorm(0,0.01);
isigmay2~dgamma(10,40);
sigmay2<-1/isigmay2;
rho~dunif(-1,1);
rhoj~dnorm(0,2);
imuv~dgamma(10,20);
muv<-1/imuv;
lamda~dbeta(2,40);
v0mean<-(k*theta+lamda/muv);
v0theta2<-(2*lamda-pow(lamda,2)/(pow(muv,2)));
v0~dnorm(v0mean,v0theta2);
vmean[1]<-(k*theta+(1-k)*v0+lamda/muv);
vtheta2[1]<-(sigmav2*v0+(2*lamda-pow(lamda,2))/(pow(muv,2)));
v[1]~dnorm(vmean[1],vtheta2[1]);
muystar<-muy+rhoj*muy;
ymean[1]<-mu+lamda*muystar;
ytheta2[1]<-v0+pow(muystar,2)*lamda*(1-lamda)+sigmay2*lamda;
y[1]~dnorm(ymean[1],ytheta2[1]);
for (i in 1:N){
vmean[i+1]<-(k*theta+(1-k)*v
+lamda/muv);
vtheta2[i+1]<-(sigmav2*v+(2*lamda-pow(lamda,2))/(pow(muv,2)));
v[i+1]~dnorm(vmean[i+1],vtheta2[i+1]);}
for (i in 1:N){
ymean[i+1]<-mu+lamda*muystar;
ytheta2[i+1]<-v0+pow(muystar,2)*lamda*(1-lamda)+sigmay2*lamda;
y[i+1]~dnorm(ymean[i+1],ytheta2[i+1]);
}
}
list(y=c(0.678,0.658,0.638,0.618,0.188,0.918,0.338,0.278,0.858,0.348,0.648,0.848,0.708,0.458,0.228,0.648,0.428,0.468,0.738,0.508,0.278,0.948,0.158,0.958,0.138), N=24)