OK I found the problem. From this thread it seems that the underlying parameter names in the stan code must be used in the R script when setting up init parameters. The command stancode() can be used to inspect the underlying stan code.
In my case this can be observed in a parameter section:
parameters {
vector[K_top] b_top; // regression coefficients
vector[K_bottom] b_bottom; // regression coefficients
vector[K_rate] b_rate; // regression coefficients
real<lower=0> sigma; // dispersion parameter
}
indicating that init needs to be coded like this?:
fit2 <- brm(bf(Response ~ top - ((top-bottom)*exp(-rate * Time)), top + bottom + rate ~ 1, nl = TRUE),
data = SynthData,
prior = prior1,
chains = 1,
cores = 4,
seed = 1,
init = list(list ( b_top = 14 ,
b_bottom = 8 ,
b_rate = 0.22))
)
unfortunately now this happens:
SAMPLING FOR MODEL ‘anon_model’ NOW (CHAIN 1).
Chain 1: Unrecoverable error evaluating the log probability at the initial value.
Chain 1: Exception: mismatch in number dimensions declared and found in context; processing stage=parameter initialization; variable name=b_top; dims declared=(1); dims found=() (in ‘string’, line 20, column 2 to column 22).
scary.