Unable to find sample for covariance matrix for clustered model
Brought to you by:
martyn_plummer
Hi,
I am running the following model below and I am getting the error
"Error in checkForRemoteErrors(val) :
2 nodes produced errors; first error: Error in node D_inv[1:6,1:6,1]
Unable to find appropriate sampler"
model {
for(i in 1:nId)
{
#Construction of pi[i,c]
for(c in 1:(nCluster-1))
{
pi_st[i,c]=exp((inprod(phi[c,1:n_fix],X_fix[i,2:12])))
}
pi_st[i,nCluster]=1
pi[i,1:nCluster]=pi_st[i,1:nCluster]/(sum(pi_st[i,1:nCluster]))
#Cluster
clus[i] ~ dcat(pi[i,1:nCluster])
#Random Effect
#----------
for(c in 1:nCluster)
{
u[i,1:6,c] ~ dmnorm(ze[1:6],D_inv[1:6,1:6,c])
}
ldu[i] <- logdensity.mnorm(u[i,1:6,clus[i]], ze[1:6], D_inv[1:6,1:6,clus[i]])
#Longitudinal Process
#---------------------
for( j in offset[i]:(offset[(i+1)]-1))
{
#Means
mu_y[j,1]<- (u[i,1,clus[i]] + u[i,4,clus[i]]*X[j,4]) + inprod(beta[1,1:4,clus[i]], X[j,3:6])
mu_y[j,2]<- (u[i,2,clus[i]] + u[i,5,clus[i]]*X[j,4]) + inprod(beta[2,1:4,clus[i]], X[j,3:6])
mu_y[j,3]<- (u[i,3,clus[i]] + u[i,6,clus[i]]*X[j,4]) + inprod(beta[3,1:4,clus[i]], X[j,3:6])
#Model for NA imputation
y[j,3] ~ dnorm( mu_y[j,1], tau[clus[i],1])
y[j,4] ~ dnorm( mu_y[j,2], tau[clus[i],2])
y[j,5] ~ dnorm( mu_y[j,3], tau[clus[i],3])
#log density
ldy[j]<-(logdensity.norm(y[j,3], mu_y[j,1], tau[clus[i],1]) +
logdensity.norm(y[j,4], mu_y[j,2], tau[clus[i],2]) +
logdensity.norm(y[j,5], mu_y[j,3], tau[clus[i],3]) )
} #loop of j
#log probability (pi[i,c])
#-------------------------
log_pi[i]= log(pi[i,clus[i]])
#Zeros trick in JAGS for JM
#---------------------------------
loglk[i] = (log_pi[i] + sum(ldy[offset[i]:(offset[(i+1)]-1)]) + ldu[i] )
phi_poi[i] = Const- loglk[i]
zeros[i] ~ dpois(phi_poi[i])
}#loop of i
#Prior
#-------------------------------------
#The cluster
for(c in 1:(nCluster-1))
{
for(l in 1:n_fix)
{
phi[c,l] ~dunif(-100,100) #Coefficients of intercept and covariates
}
}
for(c in 1:nCluster)
{
#Error Variance
#-----------------------------------
for(k in 1:3)
{
tau[c,k] ~ dgamma(0.001,0.001)
sig[c,k] = 1/tau[c,k]
}
#Cov matrix for Random Effect
#-----------------------------------
D_inv[1:6,1:6,c] ~ dwish(Omega[,], 7)
D[1:6,1:6,c] <-inverse(D_inv[1:6,1:6,c])
#Beta
#-----
for(h in 1:4)
{
beta[1,h,c]~dnorm(0,0.001)
beta[2,h,c]~dnorm(0,0.001)
beta[3,h,c]~dnorm(0,0.001)
}
}
}
Please help me resolve this
Anonymous