我的winbugs代码如下:
model
{
for ( i in 1:N){ logit(p[i])<- alpha+ beta*x[i]
y[i]~ dbin(p[i], n[i])
}
alpha~ dnorm(0,0.000001)
beta~ dnorm(0,0.000001)
pbeta<-step(beta-0)
}
list(N=20,
n=c(6, 7, 6, 8, 8, 5, 6, 6, 5, 8, 6, 5, 7, 6, 6, 7,6 , 6, 7, 3),
y=c(0,2,6,2,2,1,3,6,2,3,4,3,7,0,1,0,0,1,1,2),
x=c(25.7, 32.3, 49.6, 35.2, 35.9, 33.2, 39.8, 51.3, 32.9, 40.9,
43.6, 42.5, 50.4, 36.5, 34.1, 31.3, 28.3, 36.5, 37.4, 40.6))
list(alpha=0.1, beta=0.2)
运行此代码后,我有alpha和beta的后验分布。现在我想看P(beta>0)
。他们说我可以使用pbeta<- step(beta)
(pbeta被视为虚拟变量:如果beta=0
则为0,如果beta>0
则为1)。但是当我把它放在模型中时它会给我一个错误通知。
答案 0 :(得分:0)
我看不出你的代码有什么问题,它适合我。什么是错误消息?
在一个不相关的问题上,如果你将协变量值置于其均值周围,你的MCMC链应该更有效地收敛。