Get correlation from a simple multivariate model


I am a bit confused on simple multivariate modeling in brms.

I’d like to extract the correlation of the two outcomes from the decomposition of the covariance matrix. But if I simply use mvbind(Y1, Y2) ~ 1 with set_rescor(T)the following parameters get estimated:

cholesky_factor_corr[nresp] Lrescor
corr_matrix[nresp] Rescor = multiply_lower_tri_self_transpose(Lrescor)

Is Rescor interpretable as the correlation between the outcomes?
Lrescor it’s its Cholesky transformation? In my case Lrescor has the following 95% intervals:

Lrescor[1,1]                 1.00000000   1.00000000
Lrescor[2,1]                -0.76497810   0.05914725
Lrescor[1,2]                 0.00000000   0.00000000
Lrescor[2,2]                 0.64405632   0.99923807

Why is it not symmetric?

Sorry for the newbye questions!

1 Like

No, worries, we like our new users :-) And Bayesian inference can be hard, so everybody has questions:-)

It is the correlation of the residuals, so could be said that it is the "correlation after accounting for the predictors ". In the case of intercept-only model (no predictors), it can be interpreted as the correlation. Still this quantity can be meaningless if the model does not match well with how the data was generated (I.e. when the data are not at least approximately multivariate normal).

Note that when computing correlation directly in R via cor, the implied model is not bivariate normal but rather a univariate linear model y ~ x which can lead to different results as it makes weaker assumptions about the data.

Yes, it is the Cholesky decomposition, which by definition is a matrix with all zeroes above the diagonal, so it is not symmetric unless it is a diagonal matrix.

Does that answer the question?


It does! Thanks!