The help file for rstan::stan
has the following to say about the init
argument:
init="random" (default):
- Let Stan generate random initial values for all parameters. The seed of the random number generator used by Stan can be specified via the seed argument. If the seed for Stan is fixed, the same initial values are used. The default is to randomly generate initial values between -2 and 2 on the unconstrained support. The optional additional parameter init_r can be set to some value other than 2 to change the range of the randomly generated inits.
init="0", init=0:
- Initialize all parameters to zero on the unconstrained support.
inits via list:
- Set inital values by providing a list equal in length to the number of chains. The elements of this list should themselves be named lists, where each of these named lists has the name of a parameter and is used to specify the initial values for that parameter for the corresponding chain.
Unfortunately, this does not make it clear whether initial parameter values specified via a list are applied on the constrained support or the unconstrained support. For example, if I have the following parameter block,
parameters {
real<lower=3, upper=7> theta;
}
and I call stan
as follows,
rstan::stan(file, data = standata, init = list(list(theta = 5)), chains = 1)
is the initial value of theta
equal to 5 on the constrained support or the unconstrained support?