Model design: An randomized control intervention study with two-time points (pre-intervention and post-intervention) and 2 groups (intervention group and active controls). The intervention is to estimate cognitive gains that can be attributed to intervention effects (i.e., we hypothesize that group x time effects will be significant on a cognitive task). The primary measures on this task are reaction time and accuracy. For this particular question, I’ll focus on accuracy. My question is how to set priors (I am a novice at brms and got introduced to it because a reviewer on my paper suggested I use it!).
There are two “methods” I was able to arrive at on how to set priors - specific to the model design just described. One was obtained from a reference page that had a similar intervention design (but the measures used in that study were different - i.e., the author did not use reaction time and accuracy). The other was obtained from the “get_priors” function in the brms package. They are listed further below:
Descriptive Statistics for Accuracy:
Group Time N Min Mean Median Max SD
Intervention Pre 56 0.25 0.82 0.92 1.00 0.19
Intervention Post 55 0.08 0.88 0.92 1.00 0.16
Control Pre 49 0.00 0.86 0.92 1.00 0.21
Control Post 50 0.50 0.90 0.92 1.00 0.13
## "METHOD" 1: Reference: https://rpubs.com/lindeloev/bayes_factors
priors_mixed = c(
# -1SD Expected for patient group. 80% CI from 82 to 98 seems reasonable
set_prior('normal(85, 7)', class = 'Intercept'),
# none-to-moderate apriori difference between groups
set_prior('normal(0, 8)', coef = 'groupIDUAA'),
# some gain expected due to retest and non-specific effects
set_prior('normal(3, 2)', coef = 'timeIDpre'),
# a priori group A and B are expected to improve equally
set_prior('normal(0, 2)', coef = 'groupIDUAA:timeIDpre'),
# Between-subject SD at baseline around 15
set_prior('gamma(30, 2)', class = 'sd', coef = 'Intercept', group = 'subID'))
## "METHOD 2":
get_prior(Accuracy ~ groupID * timeID + (1+groupID*timeID | subID),
data = AY_corr)
priors_mixed = c(prior(student_t(3, 1, 2.5), class = Intercept),
prior(student_t(3, 0, 2.5), class = sd),
prior(student_t(3, 0, 2.5), class = sigma))
## BRMS model:
full_brms_AY_corr = brm(Accuracy ~ groupID * timeID+ (1+groupID*timeID | subID),
data = AY_corr,
prior = priors_mixed,
save_all_pars = TRUE,
chains=4,
iter = 10000)
null_brms_AY_corr = update(full_brms_AY_corr, formula= ~ .-groupID * timeID)
BF_brms_bridge_AY_corr = bayes_factor(full_brms_AY_corr, null_brms_AY_corr)
BF_brms_bridge_AY_corr
Any help on how accurately set priors would be greatly appreciated.