Hi, all. When I use the wishart distribution as the prior of precision of multivariate normal, I always have the error like: Error in chol.default(model$item_den[1:2, 1:2]) :
the leading minor of order 1 is not positive definite. And I cannot find problems. Below is my code.
code=nimbleCode({
for (n in 1:1000) {
for (i in 1:30) {
for (k in 1:7) {w[n, i, k] <- pow(attribute[n, k], Q[i, k])}
logit(prob[n, i]) <- beta[i] + delta[i] * prod(w[n, i, 1:7])
y[n, i] ~ dbern(prob[n, i])
}}
for (n in 1:1000) {
for (k in 1:7) {
logit(att_prob[n, k]) <- gamma[k] * theta[n] - lambda[k]
attribute[n, k] ~ dbern(att_prob[n, k])
}}
for (n in 1:1000) {theta[n]~ dnorm(0,1)}
for (i in 1:30) {
item_parameter[i, 1:2] ~ dmnorm(item_mu[1:2], item_den[1:2, 1:2])
beta[i] <- item_parameter[i, 1]
delta[i] <- item_parameter[i, 2]
}
for (k in 1:7) {
lambda[k] ~ dnorm(0, 0.25)#dnorm(0, 0.25)
gamma[k] ~ T(dnorm(0, 0.25),0,)#T(dnorm(0, 0.25),0,)
}
item_mu[1] ~ dnorm(-2.197, 0.5)#item_mu[1] ~ dnorm(-2.197, 0.5)
item_mu[2] ~ T(dnorm(4.394, 0.5),0,)#T(dnorm(4.394, 0.5),0,)
R[1, 1] <- 1
R[2, 2] <- 1
R[1, 2] <- 0
R[2, 1] <- 0
item_den[1:2, 1:2] ~ dwish(R[1:2, 1:2], 2)
})
Thank you!