1
對於每個「j」,我嘗試估計條件sum(delta [j,1:5])= 0上的delta [j,k]。但是當我編譯代碼時,軟件輸出是「節點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
總和爲0所需的剩餘部分。在'delta [j,1] < - 0.0'之後嘗試'delta [j,2] < - -sum(delta [j,3:5])'並且還有'delta [j,1] < - 在[W] [j] < - sum(delta [j,1:5])''W [j] < - 0'的模型中求和(delta [j,2:5])'但BUGS會出錯。 – mina我在我的模型中通過該chande解決了我的問題:對於(3:5中的k),delta [j,2] < - -sum(delta [j,3:5]) delta [j,k] 〜dnorm(0.02,pr.delta) 並刪除'W [j]'。但BUGS只能生成1個鏈而不是更多。如何解決這個問題? – mina
這兩個BUGS都可以爲你生成它們(點擊gen inits按鈕)或者使用'list'類型的對象加載你自己的。 – gjabel