• 统计学数理统计
  • 请教winbugs程序,不知错在哪里?(程序字符显示不出来,怎么搞的)

model

{

for (i in 1:N)

{

r~dbin(p,n)

b~dnorm(0,tau)

logit(p)<-alpha0+alpha1*x1+alpha2*x2+alpha12*x1*x2+b

}

alpha0~dnorm(0.0,1.0E-6)

alpha1~dnorm(0.0,1.0E-6)

alpha2~dnorm(0.0,1.0E-6)

alpha12~dnorm(0.0,1.0E-6)

tau~dgamma(0.001,0.001)

sigma<-1/sqrt(tau)

}

list(

r=c(10,23,23,26,17,5,53,55,32,46,10,8,10,8,23,0,3,22,15,32,3)

n=c(39,62,81,51,39,6,74,72,51,79,13,16,30,28,45,4,12,41,30,51,7)

x1=c(0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1)

x2=c(0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1)

N=21

)

list(

alpha0=0,alpha1=0,alpha2=0,alpha12=0,tau=1

)



问题有如下几点:

1、b[i]服从标准正态分布,在程序中怎么增加语句

2、在导入数据的时候说N变量有问题

3、赋初值的时候说模型中有的变量没有赋值





拜托谢谢!
1、b服从标准正态分布,在程序中怎么增加语句

b~dnorm(0,1),不知道对不对.

2、在导入数据的时候说N变量有问题

数据间要加逗号。

r=c(10,23,23,26,17,5,53,55,32,46,10,8,10,8,23,0,3,22,15,32,3),

n=c(39,62,81,51,39,6,74,72,51,79,13,16,30,28,45,4,12,41,30,51,7),

x1=c(0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1),

这样.



3、赋初值的时候说模型中有的变量没有赋值

b要在initial里表达.



建议你找个例子仔细看看每个语法细节.我也是初学者,共同进步.
数据的list之前和结尾之后要留出至少一个空行,要不然程序读不了数据.



还有logit(p)<-alpha0+alpha1*x1[ i ]+alpha2*x2[ i ]+alpha12*x1[ i ]*x2[ i ]+b



最后的b是不是individual-specific effects?要不要写成b[ i ]?我觉得按你上面的代码程序无法分别alpha0和b.
我按楼上说的试了一下,还是不行阿。如果用winbugs1.4,在模型结束后应当加“END”吧。具体怎么改行得通,我试了几次还没找到原因。

我不是很懂楼主的模型,不过从模型看,如果alpha12*x1*x2表示交叉效应之类,那么按照楼主的data,交叉效应就只有两种可能,0和1,我想这是否不太合理?(是否应当有4种可能?)

我也觉得如果b不变的话,跟alpha0没什么区别。
for (i in 1:N)

{

r~dbin(p,n)

b~dnorm(0.0,tau)

logit(p)<-alpha0+alpha1*x1+alpha2*x2+alpha12*x1*x2+b

}

alpha0~dnorm(0.0,1.0E-6)

alpha1~dnorm(0.0,1.0E-6)

alpha2~dnorm(0.0,1.0E-6)

alpha12~dnorm(0.0,1.0E-6)

tau~dgamma(0.001,0.001)

sigma<-1/sqrt(tau)

}

list(

r=c(10,23,23,26,17,5,53,55,32,46,10,8,10,8,23,0,3,22,15,32,3),

n=c(39,62,81,51,39,6,74,72,51,79,13,16,30,28,45,4,12,41,30,51,7),

x1=c(0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1),

x2=c(0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1),

N=21

)

list(

alpha0=0,alpha1=0,alpha2=0,alpha12=0,tau=1,b=c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)

)
mean    sd    MC_error    val2.5pc    median    val97.5pc    start    sample

   alpha0    -0.5468    0.1938    0.004649    -0.9318    -0.5455    -0.162    1    10000

   alpha1    0.08008    0.3163    0.007708    -0.5703    0.08808    0.6785    1    10000

   alpha12    -0.8205    0.443    0.009268    -1.712    -0.8171    0.02605    1    10000

   alpha2    1.35    0.283    0.006901    0.7934    1.346    1.93    1    10000

   sigma    0.2895    0.1478    0.007069    0.0387    0.2822    0.6049    1    10000
我对tau~dgamma(0.001,0.001)表示怀疑