全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
10222 17
2011-11-30
请高手帮忙看看下面程序哪里出现了问题,在运行时出现trap 66 postcondition violated完整的程序见附件,非常感谢!!!模型代码:
cod.txt
大小:(85.82 KB)

 马上下载


model {
for (i in 1:N) {Y ~ dbern(p)
     logit(p) <- beta0+beta1*x1+beta2*x2+beta3*x3+beta4*x4+beta5*x5+beta6*x6+beta7*x7+beta8*x8+beta9*x9+beta10*x10+beta11*x11+ U +S
     eta <- S+U
     U ~ dnorm(0.0,prec.u)
                   }
S[1:N] ~ car.normal(adj[], weights[], num[], prec.s)
for(k in 1:sumNumNeigh) {weights[k] <- 1 }
#priors for regression
beta0 ~ dflat()
beta1 ~ dnorm(0.0,0.1)
beta2 ~ dnorm(0.0,0.1)
beta3 ~ dnorm(0.0,0.1)
beta4 ~ dnorm(0.0,0.1)
beta5 ~ dnorm(0.0,0.1)
beta6 ~ dnorm(0.0,0.1)
beta7 ~ dnorm(0.0,0.1)
beta8 ~ dnorm(0.0,0.1)
beta9 ~ dnorm(0.0,0.1)
beta10 ~ dnorm(0.0,0.1)
beta11 ~ dnorm(0.0,0.1)
prec.u ~ dgamma(0.02,0.02) #prior unstructured precision
prec.s ~ dgamma(0.02,0.02) #prior spatial precision
}



二维码

扫码加我 拉你入群

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

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

全部回复
2011-11-30 15:18:21
二维码

扫码加我 拉你入群

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

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

2011-12-1 14:06:45
我也出现trap66的错误了,哪位高手给看看啊
二维码

扫码加我 拉你入群

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

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

2011-12-1 19:47:40
change the prior by increasing the prior precision
can solve the problem.(trap 66 postcondition violated)

不理解为何要底下这2句,

  eta <- S+U--没用上

  U ~ dnorm(0.0,prec.u)--为何要用 U,去掉就可执行
#########
model {
for (i in 1:N) {Y ~ dbern(p)

     logit(p) <- beta0+beta1*x1+beta2*x2+beta3*x3+beta4*x4+beta5*x5+beta6*x6+beta7*x7+beta8*x8+beta9*x9+beta10*x10+beta11*x11+ S
        #  eta <- S+U
        #  U ~ dnorm(0.0,prec.u)
                   }
S[1:N] ~ car.normal(adj[], weights[], num[], prec.s)
for(k in 1:sumNumNeigh) {weights[k] <- 1 }
#priors for regression
beta0 ~ dflat()
beta1 ~ dnorm(0.0,1.0E-4)
beta2 ~ dnorm(0.0,1.0E-4)
beta3 ~ dnorm(0.0,1.0E-4)
beta4 ~ dnorm(0.0,1.0E-4)
beta5 ~ dnorm(0.0,1.0E-4)
beta6 ~ dnorm(0.0,1.0E-4)
beta7 ~ dnorm(0.0,1.0E-4)
beta8 ~ dnorm(0.0,1.0E-4)
beta9 ~ dnorm(0.0,1.0E-4)
beta10 ~ dnorm(0.0,1.0E-4)
beta11 ~ dnorm(0.0,1.0E-4)
prec.u ~ dgamma(0.5,0.05) #prior unstructured precision
prec.s ~ dgamma(0.5,0.05) #prior spatial precision
}

二维码

扫码加我 拉你入群

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

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

2011-12-2 09:45:36
epoh 发表于 2011-12-1 19:47
change the prior by increasing the prior precision
can solve the problem.(trap 66 postcondition vio ...
model {
for (i in 1:N) {Y ~ dbern(p)
     logit(p) <- beta0+beta1*x1+beta2*x2+beta3*x3+beta4*x4+beta5*x5+beta6*x6+beta7*x7+beta8*x8+beta9*x9+beta10*x10+beta11*x11+ U +S
     #eta <- S+U
     U ~ dnorm(0.0,prec.u)
                   }
S[1:N] ~ car.normal(adj[], weights[], num[], prec.s)
for(k in 1:sumNumNeigh) {weights[k] <- 1 }
#priors for regression
beta0 ~ dflat()
beta1 ~ dnorm(0.0,0.1)
beta2 ~ dnorm(0.0,0.1)
beta3 ~ dnorm(0.0,0.1)
beta4 ~ dnorm(0.0,0.1)
beta5 ~ dnorm(0.0,0.1)
beta6 ~ dnorm(0.0,0.1)
beta7 ~ dnorm(0.0,0.1)
beta8 ~ dnorm(0.0,0.1)
beta9 ~ dnorm(0.0,0.1)
beta10 ~ dnorm(0.0,0.1)
beta11 ~ dnorm(0.0,0.1)
prec.u ~ dgamma(0.02,0.02) #prior unstructured precision
prec.s ~ dgamma(0.02,0.02) #prior spatial precision
}
epoh老师,您好!
     我觉得这个eta, u and s应该是有用的,没有看到原文章,
不能确定,但是从我看的相关文献来看,这个eta,u and s的设定
应该是必不可少的。
根据您的意见,就是注释了u and s, eta,程序也无法出结果,
结果是no monitor set。
我用多种方法进行修改,还是无法出结果。
TRAP 66  (postcondition violated)

UpdaterRejection.Updater.MCMC   [000005B5H]
        .deriv        REAL        -1.014142135623731
        .e        REAL        0.0
        .f        UpdaterRejection.Factory        [01352A70H]
        .i        INTEGER        0
        .k        INTEGER        0
        .lambdaL        REAL        5.254810133233113E-308
        .lambdaR        REAL        0.9860550753913473
        .left        REAL        1.424162706015637E-306
        .leftStar        REAL        5.257051011885653E-308
        .linear        REAL        0.0
        .logFleft        REAL        0.0
        .logFmode        REAL        -1.540743955509789E-37
        .logFright        REAL        -inf
        .logQ        REAL        0.0
        .mode        REAL        5.551115123125783E-17
        .mu        REAL        0.0
        .oldValue        REAL        1.0
        .overRelax        BOOLEAN        FALSE
        .pL        REAL        5.25983340698144E-308
        .pM        REAL        5.254672730896907E-308
        .pR        REAL        2.077575945862661E+175
        .prec        REAL        -1.0E-4
        .prior        GraphStochastic.Node        [01205880H]
        .rand        REAL        1.602184914048457E-306

二维码

扫码加我 拉你入群

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

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

2011-12-2 09:50:23
Bugs users,

Why might I be getting "trap 66 postcondition violated" in a
random-effects logit? I don't get it until 30K-40K total
iterations (whether one chain at 30K or 35K, or 4 chains at
10K) after about 22 hours on a PII-400 machine running NT.

Might this just be some kind of results storage problem?
The model is generating 7 individual (level 1) coefficients
for each of 4230 cases, so it's quite big.

Thanks for any help

Fred

-----------------------------------------
Fred Cutler

Social Sciences and Humanities Research Council of Canada
Post-Doctoral Fellow
Department of Political Science
University of British Columbia
and
Research Affiliate
Institute for the Humanities
University of Manitoba

(204) 474-9063
[log in to unmask]
home.cc.umanitoba.ca/~cutlerfe
二维码

扫码加我 拉你入群

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

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

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

分享

扫码加好友,拉您进群