Brms prior more influential than data itself

Hi, I am very new to brms and am having trouble getting a result which makes sense for my data (which I can’t provide unfortunately). I have a model something like:

survival ~ fin.length + head.depth + tail.length + (1|Species), family = bernoulli(), prior=prior(normal(0,5),“b”), control = list(adapt_delta = 0.99)

where all my measurements are very small continuous measurements of different fish species and survival is a simple yes/no. I have 12 survivors and 44 non-survivors, so I didn’t think sample size would be an issue. Regardless of what I set my prior to, the posterior seems to follow it very closely with almost no influence from my actual data. I know from other analyses of my data (decision trees, PCA) that this is unlikely. What does it mean if my data have little influence on the posterior?

  • Operating System: MacOS Mojave 10.14.5
  • brms Version: 2.9.0

Hi,
have you tried using smaller priors? From what I gather from this a sd of 5 on your prior is far too wide as all your parameters should combine to something between 0 and 1.

You could try simulating what you get from your prior similar to what I did here to get a feeling for how reasonable they are.

How do your n_eff and r_hat look like?

I think try smaller priors too. :) We have a (draft) vignette on doing that in rstanarm using rstanarm syntax (https://github.com/stan-dev/rstanarm/blob/vignette-prior-predictive/vignettes/prior-pred.Rmd). You can do it in brms using sample_prior = ‘only’ in your function.

1 Like

You might look here: https://github.com/stan-dev/stan/wiki/Prior-Choice-Recommendations, in particular the logistic regression section.

1 Like