Can I set the LKJ prior on correlation in brms to be nonnegative?

Hi, I know I asked this before but haven’t got any answer. Sorry for repeating myself! But I’m not able to find any resources for this. Our context suggests that the correlation between random effect and slope should be non-negative, but by using the default in brms, the estimates are negative, so I don’t know if I should trust it. Any suggestion is appreciated!

Are you sure this is the case? I couldn’t find anything in the docs. If you sample randomly from LKJ then you get positive and negative numbers,

library(rethinking)
library(tidyverse)

foo <- rlkjcorr(K = 2, n = 1e5, eta = 1) |>
    as_tibble()

ggplot(data = foo, aes(x = V2)) +
    geom_density()

Rplot

which indicates that when we sample from LKJ we get positive and negative numbers. Are you saying that brms somehow truncates this and uses only negative numbers?

@Xiaoli_Tang are you suggesting that for your particular applied problem, you want to specify as prior that positive correlations are more likely than negative ones, or the stronger prior that R must be non-negative? This seems surprising to me; do you mind sharing some information about what these random intercept and slope terms represent?

With the default prior (symmetric around 0), surely the fact that your estimated correlation is negative would suggest that the data contain evidence of a negative correlation, right?

2 Likes

Yes! Thank you so much! I think now I understand why the prior is set this way. I was thinking in the wrong way. Thanks!

No I was mistaken. The LKJ is symmetrical but I thought in the wrong direction. Thank you for helping me with this!