全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2772 4
2011-09-28
请高手帮忙看看下面程序哪里出现了问题,公式和完整的程序见附件,非常感谢!!!
无法运行的程序:
另外,如果我想让WINBUGS指定初始值,是不是就不用写Inits?
附件在这里
HO-DINA-need for help.rar
大小:(39.62 KB)

 马上下载

本附件包括:

  • HO-DINA-need for help.odc
  • WINBUGS 求助.docx



MODEL
{
# DINA MODEL
for (i in 1:N) {
        theta~dnorm(0,0.0001)
        # compute alpha
     for (k in 1:M) {
                logit(alpha.p[i,k])<-1.7*(theta-L0[k])
                alpha[i,k]~dbern(alpha.p[i,j])
        }
}
# compute eta
for (i in 1:N) {
        for (j in 1:T) {
                eta[i,j]<-1
                for (k in 1:M) {
                             eta3[i,j]<-pow(alpha[i,k],q[j,k])
                        eta[i,j]<-eta[i,j]*eta3[i,j]
                        p[i,j]<-pow(g[j],(1-eta[i,j]))*pow((1-s[j]),eta[i,j])
                             response[i,j]~dbern(p[i,j])
                   }
        }
}

#priors
for (j in 1:T) {
        s[j]~dunif(0,0.6) #此处应该是4参数的beta分布,但是WINBUGS好像不能处理
        g[j]~dunif(0,0.6) #此处应该是4参数的beta分布,但是WINBUGS好像不能处理
}
for (k in 1:M) {
        L0[k]~dlnorm(0,0.0001)
}
}
DATA
list(N = 1000, T = 15, M=5,
        response = structure(.Data = c(
1,0,1,1,0,1,0,1,0,1,1,0,1,0,0,
……
1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,
1,1,0,1,1,0,1,1,0,0,0,0,0,0,0),.Dim=c(1000,15)),
q = structure(.Data = c(
1,0,0,0,0,
0,1,0,0,0,
0,0,1,0,0,
0,0,0,1,0,
0,0,0,0,1,
1,1,0,0,0,
0,1,1,0,0,
0,0,1,1,0,
0,0,0,1,1,
1,1,1,0,0,
0,1,1,1,0,
0,0,1,1,1,
1,1,1,1,0,
0,1,1,1,1,
1,1,1,1,1), .Dim=c(15,5))
)



二维码

扫码加我 拉你入群

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

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

全部回复
2011-9-28 20:05:57
自己顶一下,请大牛多多指点,非常感谢!!!!!!
二维码

扫码加我 拉你入群

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

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

2011-9-29 15:57:53
再顶一下吧………………
二维码

扫码加我 拉你入群

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

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

2011-9-29 19:48:51

改了不少地方,

这个模型很容易产生"Trap 66 (postcondition violated)"

所以也改了很多priors

这个模型我并不熟悉,

所以我是用gen inits产生初始值

如果你有把握,可以自行提供.

##########
MODEL
{
# DINA MODEL
for (i in 1:N) {
theta~dnorm(0,0.01)
# compute alpha
     for (k in 1:M) {
logit(alpha.p[i,k])<-1.7*(theta-L0[k])
alpha[i,k]~dbern(alpha.p[i,k])
}
}
# compute eta
for (j in 1:N) {
  for (i in 1:T) {  
     for (k in 1:M) {
       eta3[i,j,k]<-pow(alpha[j,k],q[i,k])
                    }
       eta[i,j]<-eta3[i,j,1]*eta3[i,j,2]*eta3[i,j,3]*eta3[i,j,4]*eta3[i,j,5]
       p[i,j]<-pow(g,(1-eta[i,j]))*pow((1-s),eta[i,j])
       response[j,i]~dbern(p[i,j])
    }
}

#priors
for (j in 1:T) {
     s[j]~dunif(0,1)
     g[j]~dunif(0,1)
}
for (k in 1:M) {
     L0[k]~dlnorm(0,1)
}
}

HO-dina.bug

ho-dina.rar
大小:(3.78 KB)

 马上下载

本附件包括:

  • ho-dina.bug

二维码

扫码加我 拉你入群

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

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

2015-1-14 16:17:07
structure()是按列读入数据的,可能数据出现了问题。
二维码

扫码加我 拉你入群

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

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

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

分享

扫码加好友,拉您进群