I'm using the jags.samples function to obtain DIC values for several growth
models that assume age is not known perfectly (i.e. latent variable). The
model I'm using is as follows:
for (i in 1:n)
y_ ~ dnorm(meany_,tauy)
meany_ <- Linf(1-exp(-k(age_-to)))
x_ ~ dnorm(age_,taux_)I(0, )
taux_ <- pow(sigmax_,-2)
sigmax_ <- age_ * cv
age_ ~ dunif(0,10)
Linf ~ dunif(800,1200)
k ~ dunif(0,1)
to ~ dunif(-3,1)
cv ~ dunif(0,10)
tauy <- pow(sigmay,-2)
sigmay ~ dunif(0,1000)
However, I get NaN for pD using observed otolith-estimated ages and an
extremely inflated estimate of pD using scale-estimated ages.
Any help or suggestions would be greatly appreciated.
DIC tends to break down in missing data models because it treats the missing
data as unknown parameters. The large pD values are a reflection of the fact
that most of the information about the missing ages comes from the outcome y
and not the covariate x. In this case DIC is a poor approximation to the
penalized deviance and should not be used - the necessary asymptotic
conditions for it to work are not satisfied.
Thanks Dr. Plummer. I'll try some other model discrimination statistic,
perhaps using cross validation.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.