#mixed-models #rjags
Вопрос:
Во-первых, я новичок в SO, поэтому, если вопрос такого типа не имеет отношения к делу, пожалуйста, дайте мне знать, и я смогу опубликовать его где-нибудь еще.
Я пытаюсь параметризовать простые модели смешанных эффектов с помощью jags. Я хочу подогнать линейную регрессию y ~ year
со случайными эффектами на склонах и перехватах для разных sites
. Для воспроизводимости (и для устранения проблем с моими данными) Я передал данные радужной оболочки глаза модели.
library(jagsUI) library(dplyr) # data year=iris$Sepal.Length y=iris$Sepal.Width site=iris$Species%gt;%as.numeric() n=nrow(iris) nsites=length(levels(iris$Species)) # bugs model cat(file = "iris.bug", 'model{ for (i in n) { y[i] ~ dnorm(mu[i], s) # likelihood of each point given estimators B1.e1 lt;- B1 e1[site[i]] # slope of i site mu[i] lt;- B0 e0[site[i]] B1.e1 * year[i] # mu computation } # random effects for (j in 1:nsites) { e0[j] ~ dnorm(0, sv0) e1[j] ~ dnorm(0, sv1) } # priors s ~ dgamma(0.0001, 0.0001) B0 ~ dnorm(0, 0.000001) B1 ~ dnorm(0, 0.000001) sv0 ~ dgamma(0.0001, 0.0001) sv1 ~ dgamma(0.0001, 0.0001) }') # jags variables ## list of object names p.data lt;- list("year", "y", "site", "n", "nsites") ## inti values function initsp lt;- function() { list(e0 = rnorm(nsites, 10, 0.5), e1 = rnorm(nsites, 0, 0.1), B0 = rnorm(1, 0, 0.5), B1 = runif(1), sv1 = runif(1), sv0 = runif(1), s = runif(1)) } ## parameters of interest parametersp lt;- c("e0", "e1", "B0", "B1", "sv1", "sv0", "s" )
Но когда я запускаю jags()
, он продолжает работать слишком долго, и мне приходится сбивать Rstudio вручную (когда я нажимаю кнопку «Стоп», появляется предупреждающее сообщение о том, что сеанс R не отвечает). Значение % прогресса меняется при каждом запуске, а иногда оно даже застревает Adaptive phase.....
.
sim lt;- jags(data = p.data, initsp, parametersp, model.file = "iris.bug", n.thin = 5, n.chains = 3, n.iter = 5000) Processing function input....... Done. Compiling model graph Resolving undeclared variables Allocating nodes Graph information: Observed stochastic nodes: 1 Unobserved stochastic nodes: 11 Total graph size: 469 Initializing model Adaptive phase..... Adaptive phase complete No burn-in specified Sampling from joint posterior, 5000 iterations x 3 chains |****** | 12%
Есть идеи, в чем может быть проблема? Я почти уверен, что это должно быть связано с моделью ошибок, но я продолжаю смотреть на нее, и мне кажется, что все в порядке. Заранее спасибо