«несоответствующие параметры в функции:» в простой линейной регрессии с использованием JAGS - PullRequest
1 голос
/ 08 ноября 2019

Я очень новичок в JAGS и байесовской статистике, и просто пытался следовать Главе 22 о байесовской статистике в 2-м издании Кроули. Я копирую код в точности так, как он выглядит в книге для простой линейной модели: рост = a + b * танин, где есть 9 строк двух непрерывных переменных: рост и танины. Данные и пакеты таковы:

install.packages("R2jags")
library(R2jags)

growth <- c(12,10,8,11,6,7,2,3,3)
tannin <- c(0,1,2,3,4,5,6,7,8)
N <- c(1,2,3,4,5,6,7,8,9)
bay.df <- data.frame(growth,tannin,N)

Файл ASCII выглядит следующим образом:

model{
  for(i in 1:N) {
    growth[i] ~ dnorm(mu[i],tau)
    mu[i] <- a+b*tannin[i]
  }
  a ~ dnorm(0.0, 1.0E-4)
  b ~ dnorm(0.0, 1.0E-4)
  sigma <- 1.0/sqrt(tau)
  tau ~ dgamma(1.0E-3, 1.0E-3)
}

Но тогда, когда я использую этот код:

> practicemodel <- jags(data=data.jags,parameters.to.save = c("a","b","tau"),
+                   n.iter=100000, model.file="regression.bugs.txt", n.chains=3)

Я получаю сообщение об ошибке:

module glm loaded
Compiling model graph
 Resolving undeclared variables
Deleting model

Error in jags.model(model.file, data = data, inits = init.values, n.chains = n.chains,  : 
  RUNTIME ERROR:
Non-conforming parameters in function :

Пожалуйста, помогите! Я хотел бы знать, что не так, чтобы я мог двигаться дальше.

Спасибо!

...