Trivariate Gaussian
distribution
Let \((y_i,x_i,z_i)\) for \(i=1,\ldots,n\) be a random sample from a
trivariate Gaussian distribution, as follows:
\[
(y_i,x_i,z_i)' \sim N\left(
\begin{bmatrix}0 \\ 0 \\ 0\end{bmatrix},
\begin{bmatrix}
1 & \sigma_{yx} & \sigma_{yz} \\
\sigma_{yx} & 1 & \rho \\
\sigma_{yz} & \rho & 1\\
\end{bmatrix}
\right).
\]
Conditional
distribution of \(y_i|x_i,z_i\)
Basic multivariate normal properties lead to the following
distribution for \(y_i\) given \(x_i\) and \(y_i\): \[
y_i \mid x_i,z_i \sim
N\left(\frac{(\sigma_{xy} - \sigma_{yz}\rho)}{1-\rho^2}x +
\frac{(\sigma_{yz} - \sigma_{xy}\rho)}{1-\rho^2}z,
\;
\frac{1 - \rho - \sigma_{xy}^2 - \sigma_{yz}^2 +
2\sigma_{xy}\sigma_{yz}\rho}{1 - \rho^2}
\right),
\] or \[
y_i|x_i,z_i = \beta x_i + \gamma z_i + \varepsilon_i \qquad
\varepsilon_i \sim N(0,\tau^2),
\] for \(\beta\), \(\gamma\) and \(\tau^2\) defined in the previous
expression.
Conditional
distribution of \(y_i|x_i,z_i\) when
\(\rho=0\)
Notice that, when \(cor(x_i,z_i)=\rho=0\), it follows that
\[
y_i|x_i,z_i = \sigma_{xy} x_i + \sigma_{zy} z_i + \varepsilon_i \qquad
\varepsilon_i \sim N(0,1-(\sigma_{xy}^2+\sigma_{zy}^2)),
\]
#install.packages("MASS")
library(MASS)
set.seed(123)
n = 30
beta = 0.75
gamma = 1.20
N = 1000
rhos = seq(0.0,0.95,by=0.05)
coefs = matrix(0,length(rhos),N)
coefs1 = matrix(0,length(rhos),N)
j = 0
for (rho in rhos){
Sigma = matrix(c(1,rho,rho, 1),2,2)
j = j + 1
for (i in 1:N){
draw = mvrnorm(n,c(0,0),Sigma)
x = draw[,1]
z = draw[,2]
y = beta*x+gamma*z + rnorm(n)
coefs[j,i] = lm(y~x-1)$coef[1]
coefs1[j,i] = lm(y~x+z-1)$coef[1]
}
}
Fitted model: \(y_i = \beta x_i + \gamma z_i +
\epsilon_i\)
par(mfrow=c(1,1))
boxplot(t(coefs1),outline=FALSE,xlab="corr(x,z)",ylab="OLS estimate of beta",names=rhos)
title("Fitted model: y=beta*x+gamma*z+error")
abline(h=beta,col=2,lwd=2)
legend("topleft",legend=paste("Data generating process: y=",beta,"*x+",gamma,"*z+epsilon",sep=""))

Fitted model: \(y_i = \beta x_i + \epsilon_i\)
par(mfrow=c(1,1))
boxplot(t(coefs),outline=FALSE,xlab="corr(x,z)",ylab="OLS estimate of beta",names=rhos)
title("Fitted model: y=beta*x+error")
abline(h=beta,col=2,lwd=2)
legend("topleft",legend=paste("Data generating process: y=",beta,"*x+",gamma,"*z+epsilon",sep=""))

LS0tCnRpdGxlOiAgICAiTGluZWFyIHJlZ3Jlc3Npb24iCnN1YnRpdGxlOiAiVGhlIG9tbWl0dGVkIHZhcmlhYmxlIHByb2JsZW0iCmF1dGhvcjogICAiSGVkaWJlcnQgRnJlaXRhcyBMb3BlcyIKZGF0ZTogIjEwLzExLzIwMjUiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiB0cnVlCiAgICB0b2NfZGVwdGg6IDMKICAgIHRvY19jb2xsYXBzZWQ6IHRydWUKICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQogIHBkZl9kb2N1bWVudDoKICAgIHRvYzogdHJ1ZQogICAgdG9jX2RlcHRoOiAnMycKCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKYGBgCgojIFRyaXZhcmlhdGUgR2F1c3NpYW4gZGlzdHJpYnV0aW9uCkxldCAkKHlfaSx4X2ksel9pKSQgZm9yICRpPTEsXGxkb3RzLG4kIGJlIGEgcmFuZG9tIHNhbXBsZSBmcm9tIGEgdHJpdmFyaWF0ZSBHYXVzc2lhbiBkaXN0cmlidXRpb24sIGFzIGZvbGxvd3M6CgokJAooeV9pLHhfaSx6X2kpJyBcc2ltIE5cbGVmdCgKXGJlZ2lue2JtYXRyaXh9MCBcXCAwIFxcIDBcZW5ke2JtYXRyaXh9LApcYmVnaW57Ym1hdHJpeH0KMSAmIFxzaWdtYV97eXh9ICYgXHNpZ21hX3t5en0gXFwKXHNpZ21hX3t5eH0gJiAxICYgXHJobyBcXApcc2lnbWFfe3l6fSAmIFxyaG8gJiAxXFwKXGVuZHtibWF0cml4fQpccmlnaHQpLgokJAoKIyMgQ29uZGl0aW9uYWwgZGlzdHJpYnV0aW9uIG9mICR5X2l8eF9pLHpfaSQKCkJhc2ljIG11bHRpdmFyaWF0ZSBub3JtYWwgcHJvcGVydGllcyBsZWFkIHRvIHRoZSBmb2xsb3dpbmcgZGlzdHJpYnV0aW9uIGZvciAkeV9pJCBnaXZlbiAkeF9pJCBhbmQgJHlfaSQ6IAokJAp5X2kgXG1pZCB4X2ksel9pIFxzaW0gCk5cbGVmdChcZnJhY3soXHNpZ21hX3t4eX0gLSBcc2lnbWFfe3l6fVxyaG8pfXsxLVxyaG9eMn14ICsgClxmcmFjeyhcc2lnbWFfe3l6fSAtIFxzaWdtYV97eHl9XHJobyl9ezEtXHJob14yfXosClw7ClxmcmFjezEgLSBccmhvIC0gXHNpZ21hX3t4eX1eMiAtIFxzaWdtYV97eXp9XjIgKyAyXHNpZ21hX3t4eX1cc2lnbWFfe3l6fVxyaG99ezEgLSBccmhvXjJ9ClxyaWdodCksCiQkCm9yIAokJAp5X2l8eF9pLHpfaSA9IFxiZXRhIHhfaSArIFxnYW1tYSB6X2kgKyBcdmFyZXBzaWxvbl9pIFxxcXVhZCBcdmFyZXBzaWxvbl9pIFxzaW0gTigwLFx0YXVeMiksCiQkCmZvciAkXGJldGEkLCAkXGdhbW1hJCBhbmQgJFx0YXVeMiQgZGVmaW5lZCBpbiB0aGUgcHJldmlvdXMgZXhwcmVzc2lvbi4gIAoKIyMgQ29uZGl0aW9uYWwgZGlzdHJpYnV0aW9uIG9mICR5X2l8eF9pLHpfaSQgd2hlbiAkXHJobz0wJAoKTm90aWNlIHRoYXQsIHdoZW4gJGNvcih4X2ksel9pKT1ccmhvPTAkLCBpdCBmb2xsb3dzIHRoYXQgCiQkCnlfaXx4X2ksel9pID0gXHNpZ21hX3t4eX0geF9pICsgXHNpZ21hX3t6eX0gel9pICsgXHZhcmVwc2lsb25faSBccXF1YWQgXHZhcmVwc2lsb25faSBcc2ltIE4oMCwxLShcc2lnbWFfe3h5fV4yK1xzaWdtYV97enl9XjIpKSwKJCQKCmBgYHtyfQojaW5zdGFsbC5wYWNrYWdlcygiTUFTUyIpCmxpYnJhcnkoTUFTUykKc2V0LnNlZWQoMTIzKQogIApuICAgICA9IDMwCmJldGEgID0gMC43NQpnYW1tYSA9IDEuMjAKTiAgICAgPSAxMDAwCnJob3MgPSBzZXEoMC4wLDAuOTUsYnk9MC4wNSkKY29lZnMgPSBtYXRyaXgoMCxsZW5ndGgocmhvcyksTikKY29lZnMxID0gbWF0cml4KDAsbGVuZ3RoKHJob3MpLE4pCgpqID0gMApmb3IgKHJobyBpbiByaG9zKXsKICBTaWdtYSA9IG1hdHJpeChjKDEscmhvLHJobywgMSksMiwyKQogIGogICAgID0gaiArIDEKICBmb3IgKGkgaW4gMTpOKXsKICAgIGRyYXcgPSBtdnJub3JtKG4sYygwLDApLFNpZ21hKQogICAgeCA9IGRyYXdbLDFdCiAgICB6ID0gZHJhd1ssMl0KICAgIHkgPSBiZXRhKngrZ2FtbWEqeiArIHJub3JtKG4pCiAgICBjb2Vmc1tqLGldID0gbG0oeX54LTEpJGNvZWZbMV0KICAgIGNvZWZzMVtqLGldID0gbG0oeX54K3otMSkkY29lZlsxXQogIH0KfQpgYGAKCiMgRml0dGVkIG1vZGVsOiAkeV9pID0gXGJldGEgeF9pICsgXGdhbW1hIHpfaSArIFxlcHNpbG9uX2kkCmBgYHtyIGZpZy5hbGlnbj0nY2VudGVyJywgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9Nn0KcGFyKG1mcm93PWMoMSwxKSkKYm94cGxvdCh0KGNvZWZzMSksb3V0bGluZT1GQUxTRSx4bGFiPSJjb3JyKHgseikiLHlsYWI9Ik9MUyBlc3RpbWF0ZSBvZiBiZXRhIixuYW1lcz1yaG9zKQp0aXRsZSgiRml0dGVkIG1vZGVsOiB5PWJldGEqeCtnYW1tYSp6K2Vycm9yIikKYWJsaW5lKGg9YmV0YSxjb2w9Mixsd2Q9MikKbGVnZW5kKCJ0b3BsZWZ0IixsZWdlbmQ9cGFzdGUoIkRhdGEgZ2VuZXJhdGluZyBwcm9jZXNzOiB5PSIsYmV0YSwiKngrIixnYW1tYSwiKnorZXBzaWxvbiIsc2VwPSIiKSkKYGBgCgojIEZpdHRlZCBtb2RlbDogJHlfaSA9IFxiZXRhIHhfaSArIFxlcHNpbG9uX2kkCmBgYHtyIGZpZy5hbGlnbj0nY2VudGVyJywgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9Nn0KcGFyKG1mcm93PWMoMSwxKSkKYm94cGxvdCh0KGNvZWZzKSxvdXRsaW5lPUZBTFNFLHhsYWI9ImNvcnIoeCx6KSIseWxhYj0iT0xTIGVzdGltYXRlIG9mIGJldGEiLG5hbWVzPXJob3MpCnRpdGxlKCJGaXR0ZWQgbW9kZWw6IHk9YmV0YSp4K2Vycm9yIikKYWJsaW5lKGg9YmV0YSxjb2w9Mixsd2Q9MikKbGVnZW5kKCJ0b3BsZWZ0IixsZWdlbmQ9cGFzdGUoIkRhdGEgZ2VuZXJhdGluZyBwcm9jZXNzOiB5PSIsYmV0YSwiKngrIixnYW1tYSwiKnorZXBzaWxvbiIsc2VwPSIiKSkKYGBgCg==