Mediation question using brms

  • Operating System: Mac OSX
  • brms Version: 2.30

I’m attempting to do a multilevel mediation analysis. The dv is a likert scale response which I am modeling with a cumulative distribution (logit link). The mediator is categorical (Yes / No). When calculating the ab path, I am wondering if I can multiply the a and b coefficients directly (as below).

Knowledge_Judgment_mod <- bf(KnowledgeResponse ~ Condition + CounterfactualResponse + (1|Subject), family = “cumulative”)

Counterfactual_mod <- bf(CounterfactualResponse ~ Condition + (1|Subject), family = “bernoulli”)

model1 <- brm(Knowledge_Judgment_mod +
Counterfactual_mod,
set_rescor(FALSE),
data=data1,
iter=3000,
warmup=1500,
control = list(adapt_delta = .90),
prior = c(set_prior(“normal(0,1)”, class = “b”)))

a <- posterior_samples(model1, pars = “CounterfactualResponse_ConditionSpecific”)
b <- posterior_samples(model1, pars = “KnowledgeResponse_CounterfactualResponse”)
a_b <- a*b

summary(a_b)

CI_Model1_Mediation <- quantile(a_b$b_CounterfactualResponse_ConditionSpecific, probs = c(.025,.975))

CI_Model1_Mediation

1 Like

That approach seems to be right from what I see.

Maybe this is of interest for you: I have drafted a function, mediation(), that prints a compact summary especially for mediation analysis (similar to the output from the mediation package).

You can see examples in a vignette here:
https://strengejacke.github.io/sjstats/articles/bayesian-statistics.html#summary-of-mediation-analysis

There’s a comparison of brms to the mediation package, and the results look good!

You need the current dev-version of sjstats to check out the mediation()-function.

2 Likes

I have a short follow-up question here -

If the mediator is normally distributed, and the outcome is negative binomial distributed, does taking the product of the coefficients still work for calculating the indirect effects? Thanks!

Don’t think so because different links but correct me if I’m wrong

1 Like

Ah, gotcha, so in your original example, it should work because the logit link applied to both. Makes sense. Any chance you know of a conversion for calculating the indirect effects in my case? Thanks again.

I’d look up default link of neg binom in brms. That should help. I’m not at a computer and don’t remember off hand