我正在尝试使用带有 WinBUGS 的截断正态分布进行非常简单的回归分析。
假设以下模型其中是 13 名学生(从 0 到 10)的年级,是每个学生的性别( 1 代表男性,0 代表女性)。我们想知道成绩是否取决于性别,所以我们可以说明男性的成绩是否高于女性,或者相反。以下代码很好,可以完成这项工作。但是,随着等级从 0 到 10,我认为使用截断的正态分布可以改进模型: 其中,和分别是下限和上限。
WinBUGS 的截断正态分布可用作WBDev 共享组件。但是,当我尝试将它与以下脚本一起使用时,它会意外挂起。它返回标题为“未定义的真实结果”的消息。我究竟做错了什么?
WinBUGS 脚本:
#MODEL
model
{
for(i in 1:N)
{
mu[i]<-b0+b1*x[i]
#y[i]~dnorm(mu[i],tau)
y[i]~djl.dnorm.trunc(mu[i],tau,0,10)
}
tau~dgamma(0.01,0.01)
b0~dnorm(0,1.0E-6)
b1~dnorm(0,1.0E-6)
sigma<-sqrt(1/tau)
}
#DATA
list(N=13,y=c(9.6,7.0,5.0,8.0,8.4,6.4,6.1,9.1,8.8,5.7,8.9,6.1,6.5),x=c(1,1,1,1,1,1,0,0,0,0,0,0,0))
#INITS
list(tau=1, b0=0, b1=0)