Я пытаюсь оценить дельта [j, k] на сумме условия (delta [j, 1: 5]) = 0 для каждого «j». но когда я компилирую код, программным выходом является «несколько определений узла W [1]». Может кто-нибудь мне помочь?Несколько определений узла W [1]
model {
for (j in 1:p){
for (k in 1:5){
Z[j, k]<- sum(delta[j,1:k])
}
for (i in 1:n){
Y[i , j] ~ dcat (prob [i , j , 1: 5])
}}
for (i in 1:n){
theta [i] ~ dnorm (0.0 , 1.0)
}
for (i in 1:n){
for (j in 1:p){
for (k in 1:5){
eta[i , j , k] <- alpha [j] * (k*theta [i] - k*beta [j]+Z[j, k])
psum [i , j , k] <- sum(eta[i , j , 1: k])
exp.psum[i , j , k]<- exp(psum [i , j , k])
prob [i , j , k] <- exp.psum[i , j , k]/sum(exp.psum [i , j , 1:5])
} } }
for (j in 1:p){
W[j] <- sum(delta [j, 1:5])
W[j]<- 0
alpha [j] ~ dlnorm (0.83 , pr.alpha)
beta [j] ~ dnorm (-1.73 , pr.beta)
delta[j,1] <- 0.0
for (k in 2:5){
delta [j , k] ~ dnorm (0.02 , pr.delta)
} }
pr.alpha <- pow(1.2 , -2)
pr.beta <- pow(0.7, -2)
pr.delta <- pow(1.3, -2)
}
благодаря
Спасибо. перед тем, как я попробую 'delta [j, 2] <- -sum (delta [j, 3: 5])' после 'delta [j, 1] <- 0.0', а также' delta [j, 1] <- 0- sum (delta [j, 2: 5]) 'в модели без' W [j] <- sum (delta [j, 1: 5]) '' W [j] <- 0'. но BUGS получают ошибку. – mina
Я решил проблему с помощью этой chande в моей модели: delta [j, 2] <- -sum (delta [j, 3: 5]) для (k в 3: 5) { delta [j, k] ~ dnorm (0.02, pr.delta) и удалите 'W [j]'. но BUGS генерируют inits только для 1 цепочки не более. Как решить эту проблему? – mina
либо BUGS могут сгенерировать их для вас (нажмите кнопку gen inits), либо загрузите свой собственный, используя объект типа list. – gjabel