Hi,
I’m new to using the brms package and still learning and experimenting a lot.
I am trying to set a (horseshoe) prior on the population-level coefficients for a multi-logistic regression model with 4 outcome categories. I figured I need to use the resp argument to do this, but this gave me an error message.
> #horseshoe prior for shrinkage and varselection
> prior<-c(set_prior("horseshoe()", resp="muFollowupmedicaltherapyorbiopsy"),
+ set_prior("horseshoe()", resp="muHysteroscopicalresection"),
+ set_prior("horseshoe()", resp="muUrgentbiopsy"))
>
> fit_horseshoe <-
+ brm(
+ SuggestedManagement ~ ieta_hist.age + knot + bmi + invisible.endometrium + bright.edge + col.score + single.dominant + non.uniform + cyst + endometrial.thickness
+ + (1 | rater),
+ data = model1data,
+ prior=prior,
+ family = categorical()
+ )
Rows containing NAs were excluded from the model.Error: The following priors do not correspond to any model parameter:
b_muFollowupmedicaltherapyorbiopsy ~ horseshoe()
b_muHysteroscopicalresection ~ horseshoe()
b_muUrgentbiopsy ~ horseshoe()
Function 'get_prior' might be helpful to you.
Using the get_prior function was indeed helpful, and showed me the resp column was blank when using the default priors, but dpar was filled in with the outcome category names. Using the dpar argunent in the set_prior function gives me results with face validity if I rerun the model.
prior<-c(set_prior(“horseshoe()”, dpar=“muFollowupmedicaltherapyorbiopsy”),
set_prior(“horseshoe()”, dpar=“muHysteroscopicalresection”),
set_prior(“horseshoe()”, dpar=“muUrgentbiopsy”))
However, it is not clear to me why I couldn’t use the resp statement. The brms reference manual seems to indicate that priors should be set using resp for categorical models. To be honest, I don’t understand what using dpar= does, and seem to find little information. I’d appreciate any help to understand better.
- Operating System: Windows 10 Enterprise version 1511 64-bit
- brms Version: 2.3.1
Best wishes,
Laure