Hello,
I'm currently running a multivariate non-linear model in BRMS with priors. The prior() works fine for me if I have my model set-up in BRMS as such:
fit <- brms(
bf(Y1 ~ 0 + alpha + (betaX1 * X1 ^ powerX1) + (betaX2 * X2 ^ powerX2) + ... ,
alpha + betaX1 + betaX2 + ... ~ 1 ,
nl = TRUE) ,
... ,
prior = c(prior("normal(0.005,3)", lb = 0.000001, ub = 10, nlpar = "betaX1"),...) ,
....)
But if I introduced more response variables (Y2, Y3) into the model
fit <- brms(
bf(cbind(Y1,Y2,Y3) ~ 0 + alpha + (betaX1 * X1 ^ power_X1) + (betaX2 * X2 ^ powerX2) + ... ,
alpha + betaX1 + betaX2 + ... ~ 1 ,
nl = TRUE) ,
... ,
prior = c(prior("normal(0.005,3)", lb = 0.000001, ub = 10, nlpar = "betaX1"),...) ,
....)
the prior does not work anymore because it was looking for b_betaX1, etc. Error was “The following priors
do not correspond to any model parameter: <lower=1e-06,upper=10>
b_betaX1~ normal(0.005,3)”.
These were the steps I have tried:
1. Changing model declaration from betaX1 to b_betaX1 . Error was “Some
non-linear parameters are missing in formula: betaX1, …”
2. Updated parameters also to b_betaX1 , etc. Error was “Parameter
names should not contain dots or underscores”.
Is my syntax wrong? Appreciate any help on this.