R JAGS: недопустимое родительское значение в узле (объединение dcat и dnorm)
Я новичок, когда дело доходит до использования Jags и Rjags.
modelString = "
model {
for (i in 1:N){
y[i] ~ dt(mu,tau,nu)
}
tau <- nuless2/(sig^2)
nuless2 <- nu / nuless
nuless <- (nu-2)
sig ~ dnorm(0.02045457,10000000)
mu ~ dnorm(0.0013942308,4000000000)
nu ~ dcat(pi[])
pi <- c(0,0,3,3,3,3,3,3,3)
}"
writeLines(modelString,con="model.txt")
line_data = list("y"=ret,"N"=length(ret))
init_value = list("mu"=0.003)
model <- jags.model("model.txt", data=line_data, n.chains=2)
Я изо всех сил пытался заставить этот код работать, и я понятия не имею, пока он дает мне ошибку.
Ошибка: ошибка в узле nuless2
Неверные родительские значения
Я испытал вокруг, чтобы увидеть, в чем проблема, и прочитать большую часть обсуждения, но я не мог видеть никакой причины.
Было бы здорово, если бы кто-нибудь сказал мне, где моя глупая ошибка.
Кроме того, я новичок в JAGS и хотел бы знать, как работает поток системы. Например, пока я определяю y ~ dt()
Я также предоставляю данные для y
, Делая так, я говорю системе, что это то, что данные и все параметры в dt()
нужно быть "проверенным", используя эти данные? Было бы здорово иметь более глубокое понимание такой системы.