I’m trying to work up some ‘basic’ (ha) brms examples for students (see Examples). In the spirit of being careful, I chose priors explicitly (mostly) based on prior predictive simulations rather than using the brms defaults. (For a Gaussian random-slopes model I set the non-intercept fixed effect prior, and the random-effects SD and residual SD, somewhat narrower than the default.)
For a well-behaved problem, I got a number of warning messages about infinite scale vectors (46 over a standard 4-chain, 4000-sample run)
Informational Message: The current Metropolis proposal is about to be rejected because of the following issue:
Chain 1 Exception: normal_id_glm_lpdf: Scale vector is inf, but must be positive finite! (in '/tmp/Rtmp0I0GWI/model-4b4c122824be1.stan', line 76, column 4 to column 55)
Chain 1 If this warning occurs sporadically, such as for highly constrained variable types like covariance matrices, then the sampler is fine,
Chain 1 but if this warning occurs often then your model may be either severely ill-conditioned or misspecified.
Is there something reasonably obvious that I’m doing wrong? I hate to ignore warning messages, and I especially hate to tell students to ignore warning messages.
library(brms)
options(brms.backend = "cmdstanr")
data("sleepstudy", package = "lme4")
form1 <- Reaction ~ Days + (Days|Subject)
b_prior7 <- c(set_prior("normal(0, 20)", "b"),
set_prior("student_t(10, 0, 10)", "sd"),
set_prior("student_t(10, 0, 10)", "sigma")
)
b_reg3 <-
brm(form1, sleepstudy, prior = b_prior7,
seed = 101,
control = list(adapt_delta = 0.95)
)