全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 winbugs及其他软件专版
1167 0
2015-07-30

Version 0中代码的Data不是直接给出的,如果y中还有NA,则编译通不过,总是提示:multiple definitions of nodey[3,1,2]。Version 1中的Data部分是以对y取对数的方式给定的,并在模型中添加了 y[a,b,k] <- exp( logy[a,b,k] ) 语句。此时尽管logy中也有NA,但是,模型编译可以通过。一直没有搞明白导致两者编译结果截然不同的原因到底是什么。哪位能给指导下呢?小生先行谢过了~


#------------------------------------------------------------------------------------------------------------------------------

Version 0 - this code will notwork unless the full data are supplied

#------------------------------------------------------------------------------------------------

model{

    #model's likelihood

   for (a in 1:LA){

   for (b in 1:LB){

       for (k in 1:K){

           logy[a,b,k] <- log(y[a,b,k])

           logy[a,b,k] ~ dnorm( mu[a,b,k], tau )

           mu[a,b,k] <- mu0 + econ[a] + gender + econ.gender[a,b]

           #mu[a,b,k]<- mu0 + econ[a] + gender

       }}}

       ####CR Constraints

       econ[1]<- 0.0

       gender[1]<- 0.0

       econ.gender[1,1]<-0.0

       for(a in 2:LA){econ.gender[a,1]<-0.0}

       for(b in 2:LB){econ.gender[1,b]<-0.0}

      

       #priors

       mu0~dnorm(0.0, 1.0E-04)

       for(a in 2:LA){econ[a]~dnorm( 0.0, 1.0E-04)}

       for(b in 2:LB){gender~dnorm( 0.0, 1.0E-04)}

       for(a in 2:LA){

           for (b in 2:LB){

                econ.gender[a,b]~dnorm( 0.0, 1.0E-04)

       }}

       tau~dgamma( 0.01, 0.01)

       s<- sqrt(1/tau) # precision

      

       for(a in 1:LA){

   for (b in 1:LB){

           mean.spq[a,b] <- mu0 + econ[a] + gender + econ.gender[a,b]

   }}

      

      

}

INITS

list( mu0=1.0, econ=c(NA, 0,0),gender=c(NA, 0),

     econ.gender=structure(.Data=c(NA, NA, NA, 0, NA, 0), .Dim=c(3,2)),tau=1.0 )

#

# this winbugs model will only work withfull data (no NAs)

#

DATA (LIST)

list( LA=3, LB=2, K=2,

     y = structure(

         .Data=c( 9, 14, 18, 29,

                  25, 26, 22, 25,

                  23, 24, 12, 13),

                 .Dim = c( 3,2,2 )

                 )

)

#

#

# this winbugs model will not work withmissing

# value

DATA (LIST)

list( LA=3, LB=2, K=2,

     y =structure(

         .Data=c( 9, 14, 18, 29,

                  25, 26, 22, 25,

                  23, NA, 12, NA),

                 .Dim = c( 3,2,2 )

                 )

)

DATA (RECT FORMAT)

list( LA=3, LB=2, K=2)

y[,1,1] y[,1,2] y[,2,1] y[,2,2]

   9      14       18     29

  25      26       22     25

  23      NA      12      NA

END


#------------------------------------------------------------------------------------------------------------------------------

Version 1 - data are loaded inlog-scale

#------------------------------------------------------------------------------------------------------------------------------

model{

    #model's likelihood

   for (a in 1:LA){

   for (b in 1:LB){

       for (k in 1:K){

           y[a,b,k] <- exp( logy[a,b,k] )

           logy[a,b,k] ~ dnorm( mu[a,b,k], tau )

           mu[a,b,k] <- mu0 + econ[a] + gender + econ.gender[a,b]

           #mu[a,b,k]<- mu0 + econ[a] + gender

       }}}

       ####CR Constraints

       econ[1]<- 0.0

       gender[1]<- 0.0

       econ.gender[1,1]<-0.0

       for(a in 2:LA){econ.gender[a,1]<-0.0}

       for(b in 2:LB){econ.gender[1,b]<-0.0}

      

       #priors

       mu0~dnorm(0.0, 1.0E-04)

       for(a in 2:LA){econ[a]~dnorm( 0.0, 1.0E-04)}

       for(b in 2:LB){gender~dnorm( 0.0, 1.0E-04)}

       for(a in 2:LA){

           for (b in 2:LB){

                econ.gender[a,b]~dnorm( 0.0, 1.0E-04)

       }}

       tau~dgamma( 0.01, 0.01)

       s<- sqrt(1/tau) # precision

      

       for(a in 1:LA){

   for (b in 1:LB){

           mean.spq[a,b] <- mu0 + econ[a] + gender + econ.gender[a,b]

   }}

      

      

}

INITS

list( mu0=1.0, econ=c(NA, 0,0),gender=c(NA, 0),

     econ.gender=structure(.Data=c(NA, NA, NA, 0, NA, 0), .Dim=c(3,2)),tau=1.0 )

#

#

# the data are directly supplied inlog-scale

DATA (LIST)

list( LA=3, LB=2, K=2,

     logy = structure(

         .Data=c(2.19722457733622, 2.63905732961526, 2.89037175789616,3.36729582998647, 3.2188758248682, 3.25809653802148, 3.09104245335832,3.2188758248682, 3.13549421592915, NA, 2.484906649788, NA),

                 .Dim = c( 3,2,2 ) )

)

DATA (RECT FORMAT)

list( LA=3, LB=2, K=2)

logy[,1,1] logy[,1,2] logy[,2,1]logy[,2,2]

2.197225 2.639057 2.890372 3.367296

3.218876 3.258097 3.091042 3.218876

3.135494      NA 2.484907       NA

END

  


二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

分享

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