全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3134 7
2010-05-15
我在用winbugs做sv-n的时候,模型,数据都提示没问题的。可是在compile的时候winbugs就像死了一样,很长时间不动。
难道这个地方也需要计算吗?初学者实在是搞得糊里糊涂啊。
求达人帮忙解决一下这个问题吧。。。
泪奔中~~
附:
model{
for(i in 1:n)
{y~dnorm(0,p)
p<-exp(-theta)
}
theta[1]~dnorm(mu,itau2)
for(j in 2:n)
{theta[j]~dnorm(theta2[j],itau2)
theta2[j]<-mu+phi*(theta[j-1]-mu)}
phi<-2*phi-1
mu~dnorm(0,0.01)
itau2~dgamma(2.5,0.025)
phi~dbeta(20,1.5)
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-5-15 17:09:40
为什么我用winbugs,每一次到compile都会死掉呢?我真的不知道为什么啊。。。谁帮忙解释一下啊。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-15 20:25:21
按check model后,如果模型正确,
请注意左下角,会告诉你.
model is syntactically correct

你的 model
phi~dbeta(20,1.5)
phi<-2*phi-1
是造成死机原因.
程序已帮你修改,
compile 完后,
利用gen inits

model{
for(i in 1:n)
{y[i]~dnorm(0,p[i])
p[i]<-exp(-theta[i])
}
theta0 ~dnorm(mu,itau2)
theta2[1] <- mu + phi1*(theta0-mu)
theta[1] ~dnorm(theta2[1],itau2)
for(j in 2:n)
{theta[j]~dnorm(theta2[j],itau2)
theta2[j]<-mu+phi1*(theta[j-1]-mu)}
phi1<-2*phi-1
mu~dnorm(0,0.01)
itau2~dgamma(2.5,0.025)
phi~dbeta(20,1.5)
}

#data
list(n=8,y=c(-0.320221363079782,1.46071929942995,-0.408629619810947,1.06096027386685,
            1.71288920763163,0.404314365893326,-0.905699012715806,-1.01657225575983))
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-16 15:43:11
3# epoh
谢谢,谢谢了。。。
真的很感谢啊,呵呵,菜鸟向您敬礼~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-8-23 16:15:01
我在做 gumbel model 时也遇到compile死机的相似问题


#MODEL

model{
      for(i in 1:n){
                 for(j in 1:18){
                             one[i,j]~dbern(like[i,j])
                             like[i,j]<- z[i,j]*exp(-z[i,j])
                             z[i,j]<- exp(-(y[i,j]-mu[i,j]))
                             mu[i,j]<-exp(beta[1]-beta[2]*x[j])+exp(beta[3]-beta[4]*x[j])+0.1*b[i,1]+0.1*x[j]*b[i,2]
                             }# j loop over


           
                 b[i,1]<-z[L[i],1]
                 b[i,2]<-z[L[i],2]

                  for(g in 1:G){
                            z[g,1:2]~dmnorm(muz[1:2],pusiz[1:2,1:2])
                            L[i]~dcat(pi[g])
                            }# g loop over
           }# i loop over

                 
#x[1]<-0.25
#x[2]<-0.3
#x[3]<-0.35
#x[4]<-0.4
#x[5]<-0.45
#x[6]<-0.5
#x[7]<-0.55
#x[8]<-0.6
#x[9]<-0.75
#x[10]<-1.0
#x[11]<-1.5
#x[12]<-2.0
#x[13]<-2.5
#x[14]<-3.0
#x[15]<-4.0
#x[16]<-5.0
#x[17]<-6.0
#x[18]<-7.0               
#已经将此去掉,加入数据中
            


for(g in 1:G){pi[g]<-exp(sum(vstar[g,]))}


for(g in 1:G){vstar[g,g]<-log(v[g])}
for(k in 1:(G-1)){
                 for(g in (k+1):G){
                                   vstar[k,g]<-0
                                   vstar[g,k]<-log(1-v[k])
                                  }
                 }



for(g in 1:(G-1))   {v[g]~dbeta(1,alpha)}
v[G]<-1




# prior distribution on parametric components
          beta[1:4]~dmnorm(beta0[1:4],H0[1:4,1:4])

# prior distribution on nonparameter components
          muz[1:2]~dmnorm(muz0[1:2],pusiz0[1:2,1:2])

pusiz[1,1]<-1/sig1
pusiz[1,2]<-0
pusiz[2,1]<-0
pusiz[2,2]<-1/sig2

sig1~dgamma(c1,c2)
sig2~dgamma(c1,c2)
         
     
alpha~dgamma(a1,a2)

#  haperparameters value
beta0[1]<-0.9
beta0[2]<-0.5
beta0[3]<-1.5
beta0[4]<-0.5

      
H0[1,1]<-0.25
H0[1,2]<-0
H0[1,3]<-0
H0[1,4]<-0
H0[2,1]<-0
H0[2,2]<-0.25
H0[2,3]<-0
H0[2,4]<-0
H0[3,1]<-0
H0[3,2]<-0
H0[3,3]<-0.25
H0[3,4]<-0
H0[4,1]<-0
H0[4,2]<-0
H0[4,3]<-0
H0[4,4]<-0.25

      

muz0[1]<-2
muz0[2]<-1.6
      
pusiz0[1,1]<-1
pusiz0[1,2]<-0
pusiz0[2,1]<-0
pusiz0[2,2]<-1

c1<-0.01
c2<-0.01

a1<-2
a2<-2


    } # end of specification of the model
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-11-9 16:37:32
你好,如果数据特别多,不可能一一输入,这时怎么办呢,谢谢指点!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群