Hello! I have been perusing the default prior entries and they have been super helpful, both the questions and answers. I am working on a series of papers with a group of researchers, all of which have utilized brms to analyze the data. When I utilize the prior_summary function on the models that have been utilized I have consistently found that no prior is listed for the beta coefficients in the models. Am I missing something as to what these priors are? I had always assumed they would be something along the lines of a normal (0,5) or something.
However, my confidence in the assumption of a prior similar to the normal(0,5) for the beta coefficients becomes far less confidence when I learned about brms informing priors based on the data itself.
I have made a toy example that I hope to become more clear on the following questions:
- What is the beta coefficient prior?
- How are the student t priors created for the intercept and SD?
#load data
cars = cars
summary(cars)
# speed dist speed.5 dist.5
# Min. : 4.0 Min. : 2.00 Min. : 2.0 Min. : 1.00
# 1st Qu.:12.0 1st Qu.: 26.00 1st Qu.: 6.0 1st Qu.:13.00
#Median :15.0 Median : 36.00 Median : 7.5 Median :18.00
# Mean :15.4 Mean : 42.98 Mean : 7.7 Mean :21.49
# 3rd Qu.:19.0 3rd Qu.: 56.00 3rd Qu.: 9.5 3rd Qu.:28.00
# Max. :25.0 Max. :120.00 Max. :12.5 Max. :60.00
#create modified data to see change in sd and intercept priors
#cars$speed.5= cars$speed/2
#cars$dist.5 = cars$dist/2
model = brm(formula = dist ~ speed,
data = cars,
seed = 123)
prior_summary(model)
# prior class coef group resp dpar nlpar bound
#1 b
#2 b speed
#3 student_t(3, 36, 23.7) Intercept
#4 student_t(3, 0, 23.7) sigma
### Proof of concept that sd and int change with the data:
model2 = brm(formula = dist.5 ~ speed.5,
data = cars,
seed = 123,
chains = 1,
iter = 1)
prior_summary(model2)
# prior class coef group resp dpar nlpar bound
#1 b
#2 b speed.5
#3 student_t(3, 18, 11.9) Intercept
#4 student_t(3, 0, 11.9) sigma
Operating system: Windows 10
brms_2.13.0