I am wondering whether there is a way to implement the following instrumental variable model in brms (potentially using the multivariate models functionality)?

Here \mathcal{N}_2 denotes the bivariate normal with mean and covariance matrix as the first and second argument, respectively. i runs over individuals, X_i is viewed as the “exposure” variable, Y_i as the response and g_{ik} for k=1, ..., K are K instruments.

I guess the crux here is that parameters \alpha_0 and \alpha_k's enter in both components of the mean vector. Thus it is not simply done by using brms with bf(y~1+x)+bf(x~1+g)…

If it doesn’t work in this parametrisation, maybe there is a way to reparametrise the model to be able to run it brms (or rstanarm)?

I’m a novice with respect to instrumental variables, but it seems to me this is akin to model b14.6 from this link. The statistical model in that particular section was

\begin{align*}
\begin{bmatrix} W_i \\ E_i \end{bmatrix} & \sim \operatorname{MVNormal} \begin{pmatrix} \begin{bmatrix} \mu_{\text W,i} \\ \mu_{\text E,i} \end{bmatrix}, \mathbf S \end{pmatrix} \\
\mu_{\text W,i} & = \alpha_\text W + \beta_\text{EW} E_i \\
\mu_{\text E,i} & = \alpha_\text E + \beta_\text{QE} Q_i \\
\mathbf S & = \begin{bmatrix} \sigma_\text W & 0 \\ 0 & \sigma_\text E \end{bmatrix} \mathbf R \begin{bmatrix} \sigma_\text W & 0 \\ 0 & \sigma_\text E \end{bmatrix} \\
\mathbf R & = \begin{bmatrix} 1 & \rho \\ \rho & 1 \end{bmatrix} \\
\alpha_\text W \text{ and } \alpha_\text E & \sim \operatorname{Normal}(0, 0.2) \\
\beta_\text{EW} \text{ and } \beta_\text{QE} & \sim \operatorname{Normal}(0, 0.5) \\
\sigma_\text W \text{ and } \sigma_\text E & \sim \operatorname{Exponential}(1) \\
\rho & \sim \operatorname{LKJ}(2),
\end{align*}

where W_i is the criterion, E_i is the focal predictor, and Q_i is the instrumental variable.

Thanks. Would that mean I have to combine non-linear syntax with multivariate syntax? Can you use non-linear parameter combinations appearing in two different outcomes that are mvbind-ed?

Yes, I think that’s what you’d need to do. Unfortunately, I don’t think I’ve done that before. If it were me, I’d start slow and first try to fit a simple intercepts-only multivariate model with the non-linear syntax and build from there.