Initialization error: Try specifying initial values, reducing ranges of constrained values, or reparameterizing the model


#1

Please also provide the following information in addition to your question:

  • Operating System: macOS 10.13.4
  • brms Version: 1.10.0

Hi brms-users,

We are trying to specify a relatively simple probit model:

fit <- brm(choice ~ 0 + cond + cond:V + (0 + cond + cond:V|subject),data=dat,family=bernoulli(“probit”))

However, we get the following error:

"Rejecting initial value:
Log probability evaluates to log(0), i.e. negative infinity.
Stan can’t start sampling from this initial value.

Initialization between (-2, 2) failed after 100 attempts.
Try specifying initial values, reducing ranges of constrained values, or reparameterizing the model.
[1] “Error in sampler$call_sampler(args_list[[i]]) : Initialization failed.”

In looking at the STAN users group it appears that it is possible the data is formatted incorrectly.

Thanks!

Edward


#2

Edward,

I’ve never dug fully into the cause but this always happens with my probit models in Stan, and I “solve” it by setting the initial values to all be 0.

Jonathan


#3

Set inits = 0 in brm() to avoid initialization at too small or too large values. also please update brms to the latest CRAN version (2.3.0).


#4

Switching to a logit model can be more numerically stable (due to the use of Stan’s built-in binomial_logit parameterization) and that often helps with initialization. There’s really no advantage to using a probit model, so I’d recommend trying the logit and seeing if that allows you to use random initialization, which is preferable to Initializing everything at zero.