Files
SPT/inst/jags/bpcm_dif.jags

47 lines
1.4 KiB
Plaintext

model {
for (i in 1:n) {
for (j in 1:p) {
Y[i,j] ~ dcat(prob[i,j,1:K[j]])
}
theta[i] ~ dnorm(0, 1)
}
for (i in 1:n) {
for (j in 1:p) {
for (k in 1:K[j] ) {
eta[i,j,k] <- theta[i] + (beta * Z[i,1]) - ( delta[j,k] + Z[i,1]*ifelse(k==1,0,gamma[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:K[j]])
} } }
for (j in 1:pnodif) {
delta[j,1] <- 0.0
gamma[j,1] <- 0.0
for (k in 2:K[j]) {
delta[j,k] ~ dnorm(m.delta, pr.delta)
gamma[j,k] <- 0.0
}
}
for (j in pnodif1:pnounif) {
delta[j,1] <- 0.0
gamma[j,1] <- 0.0
for (k in 2:K[j]) {
delta[j,k] ~ dnorm(m.delta, pr.delta)
gamma[j,k] ~ dnorm(m.gamma,s.gamma)
}
}
for (j in pnounif1:p) {
delta[j,1] <- 0.0
gamma[j,1] <- 0.0
gamma[j,2] ~ dnorm(m.gamma,pr.gamma)
delta[j,2] ~ dnorm(m.delta, pr.delta)
for (k in 3:K[j]) {
delta[j,k] ~ dnorm(m.delta, pr.delta)
gamma[j,k] <- gamma[j,2]
}
}
beta ~ dnorm(m.beta,pr.beta)
pr.delta <- pow(s.delta, -2)
pr.beta <- pow(s.beta,-2)
pr.gamma <- pow(s.gamma,-2)
}