Non-informative prior for count data, brms

  • Operating System: Windows 10 Pro
  • brms Version: 2.10.0

Does anyone have a suggestion for a non-informative prior for data with a Poisson distribution? The default prior in brms is a student-t (see below) which doesn’t seem particularly uninformative for Poisson data.

I’m looking at counts of solitary bees (‘sb’) in two different farming systems (‘treatment’). Counts were undertaken at several sites: each site had both treatments and was either mainly an arable farm or mainly pasture (‘landuse’). There are other potential predictor variables but I’m new to this and am building up slowly.

My model is currently as follows:

model <- brm(formula = sb ~ treatment * landuse + (1|site), family=poisson(),
             data    = data,
             control = list(max_treedepth  = 15),
             seed    = 123,
             warmup  = 5000,
             iter    = 10000,
             cores = 3, chains = 3)

get_prior gives:

                 prior     class                coef group resp dpar nlpar bound
1                              b                                                
2                              b            landusep                            
3                              b          treatmentC                            
4                              b treatmentC:landusep                            
5 student_t(3, -2, 10) Intercept                                                
6  student_t(3, 0, 10)        sd                                                
7                             sd                      site                      
8                             sd           Intercept  site  

Someone else suggested running the model with various priors and then reporting on the sensitivity of the model to priors, which seems like a robust approach. They suggested trying Uniform (0, infinity) which I find logical but I’d like to hear other users’ suggestions for/ experiences of possible prior distributions too.

Thank you.

1 Like

I think the current thing is to do prior predictive checks. So generate data from your prior and see if it’s sane or not.

Maybe just put normal priors on everything and wiggle things up and down and see how that effects priors predictive stuff.

Here’s a tutorial from one of the Stancons on it: https://youtu.be/ZRpo41l02KQ?t=2694

3 Likes

Please keep in mind that you model the mean count on the log scale in which case the default priors happen to be very weakly informative again.

2 Likes

Thank you both.

1 Like