In an attempt to learn JAGS I am trying to fit a line to data points. The data points have errors in both directions i.e. along the xaxis and yaxis.
Here is my model:
N = length(x)
DataSet = list(x = x, y = y, xerr = 0.155, yerr = 0.29, N = N)
# Define the model:
modelGregory = "
model {
for ( i in 1:N ) {
xtrue[i] ~ dnorm(mu, tau)
ymodel[i] <- alpha + beta * xtrue[i]
ytrue[i] ~ dnorm(ymodel[i], sigma)
}
for ( i in 1:N ){
x[i] ~ dnorm( xtrue[i], xerr )
y[i] ~ dnorm( ytrue[i], yerr )
}
mu ~ dnorm(0, 10)
tau ~ dnorm(0, 50)
alpha ~ dnorm(0, 10)
beta ~ dnorm(0, 10)
sigma ~ dt(0, 5, 1) # cauchy distribution with dof = 1
}
"
library('rjags')
# Run the chains
jags <-jags.model(textConnection(modelGregory), data = DataSet,
n.chains = 3, n.adapt = 100)
# update(jags, n.iter = 500)
# jags.samples(jags, c('alpha', 'beta', 'sigma'), 300)
When I run the code, I get the following error:
Compiling model graph
Resolving undeclared variables
Allocating nodes
Graph information:
Observed stochastic nodes: 30
Unobserved stochastic nodes: 35
Total graph size: 109
Initializing model
Deleting model
Error in jags.model(textConnection(modelGregory), data = DataSet, n.chains = 3, :
Error in node xtrue[1]
Invalid parent values
Can someone please explain to me why I am getting an error?
I believe that the error might be because of tau. In STAN, I'd define tau as real<lower=0> tau; If the error is because of tau how do I fix it?
Also, I would really appreciate it if someone explains to me what is Compiling model graph and graph information.
Note that the 2 last lines of the script are a comment because I know the error is coming from jags <- jags.model( ... )
Thanks!
tau. In STAN, I'd putreal<lower=0> tau. How can I write this is in JAGS? Do you suggest I use a prior other than a normal distribution for tau? I appreciate help on the statistics part also. – aloha Nov 30 '15 at 11:53tau ~ dnorm(0, 50)withtau ~ dnorm(0, 50) T(0, ), and similarly with thesigmaparameter I guess. This truncates the distribution so that it is never lower than0. – Rasmus Bååth Nov 30 '15 at 12:03